blender-asset-tracer.git
4 days agoClarified comment master
Sybren A. Stüvel [Tue, 12 Feb 2019 11:48:02 +0000 (12:48 +0100)]
Clarified comment

4 days agoBumped version to 0.9
Sybren A. Stüvel [Tue, 12 Feb 2019 11:31:51 +0000 (12:31 +0100)]
Bumped version to 0.9

4 days agoFixed crash where collection children are ID blocks instead of GR blocks
Sybren A. Stüvel [Tue, 12 Feb 2019 11:31:05 +0000 (12:31 +0100)]
Fixed crash where collection children are ID blocks instead of GR blocks

Not sure when/how that happens, but it happened on a lighting file of the
Spring project, when linking in a nested collection of which parts where
also linked in from other blend files.

11 days agoAdded some more unit tests for BlendPath
Sybren A. Stüvel [Mon, 4 Feb 2019 14:42:40 +0000 (15:42 +0100)]
Added some more unit tests for BlendPath

11 days agoRemoved unused FileCopierPool class
Sybren A. Stüvel [Mon, 4 Feb 2019 14:34:29 +0000 (15:34 +0100)]
Removed unused FileCopierPool class

11 days agoAdded --sha256 and --timing options to `bat list`
Sybren A. Stüvel [Mon, 4 Feb 2019 14:16:35 +0000 (15:16 +0100)]
Added --sha256 and --timing options to `bat list`

These are only temporary features for aiding in development.

11 days agoRemoved some extraneous commas
Sybren A. Stüvel [Mon, 4 Feb 2019 14:15:43 +0000 (15:15 +0100)]
Removed some extraneous commas

11 days agoUse a priority queue instead of repeatedly sorting a deque
Sybren A. Stüvel [Fri, 1 Feb 2019 17:03:25 +0000 (18:03 +0100)]
Use a priority queue instead of repeatedly sorting a deque

6 weeks agoBumped version to 0.8 v0.8
Sybren A. Stüvel [Wed, 2 Jan 2019 15:06:38 +0000 (16:06 +0100)]
Bumped version to 0.8

6 weeks agoTest packing a blend file with Windows relative paths
Sybren A. Stüvel [Wed, 2 Jan 2019 14:41:56 +0000 (15:41 +0100)]
Test packing a blend file with Windows relative paths

6 weeks agoAvoid repeating/constructing the same path
Sybren A. Stüvel [Wed, 2 Jan 2019 14:39:09 +0000 (15:39 +0100)]
Avoid repeating/constructing the same path

6 weeks agoConfigure test logging at import time (rather than at setup time)
Sybren A. Stüvel [Wed, 2 Jan 2019 14:38:34 +0000 (15:38 +0100)]
Configure test logging at import time (rather than at setup time)

6 weeks agoWorkaround for Windows failing on glob patterns in path.resolve()
Sybren A. Stüvel [Wed, 2 Jan 2019 14:04:54 +0000 (15:04 +0100)]
Workaround for Windows failing on glob patterns in path.resolve()

Windows fails with an OSError when `somepath.resolve()` is called and
`somepath` contains a glob pattern. As a workaround, we now `resolve()`
the parent directory, and put the filename at its end. This only works
when the glob pattern is in the filename, which is the case for BAT-
generated globs.

6 weeks agoExplicitly write pack-info.txt as UTF-8
Sybren A. Stüvel [Wed, 2 Jan 2019 14:03:26 +0000 (15:03 +0100)]
Explicitly write pack-info.txt as UTF-8

6 weeks agoReplace → with ->
Sybren A. Stüvel [Wed, 2 Jan 2019 13:32:10 +0000 (14:32 +0100)]
Replace → with ->

Apparently Windows still isn't using UTF-8 by default, and fails when
handling these log entries.

6 weeks agoMissing test teardowns
Sybren A. Stüvel [Wed, 2 Jan 2019 11:47:43 +0000 (12:47 +0100)]
Missing test teardowns

This kept a file pointer open while trying to delete the file.

6 weeks agoBlendPath: don't use os.path.join() for slash notations
Sybren A. Stüvel [Wed, 2 Jan 2019 11:47:16 +0000 (12:47 +0100)]
BlendPath: don't use os.path.join() for slash notations

The BlendPath should just use forward slashes, and not be depending on the
current platform.

6 weeks agoBlendPath.__repr__ implemented
Sybren A. Stüvel [Wed, 2 Jan 2019 11:46:33 +0000 (12:46 +0100)]
BlendPath.__repr__ implemented

6 weeks agoBlendPath.as_path() now refuses to convert blendfile-relative paths
Sybren A. Stüvel [Thu, 20 Dec 2018 14:35:06 +0000 (15:35 +0100)]
BlendPath.as_path() now refuses to convert blendfile-relative paths

When a path starts with b'//' it will not be converted to a PurePath, as
the handling of such filenames is platform dependent (Windows handles those
weirdly, like appending a slash to any path).

6 weeks agoAttempt at making BAT work on Windows
Sybren A. Stüvel [Thu, 20 Dec 2018 14:15:49 +0000 (15:15 +0100)]
Attempt at making BAT work on Windows

All BlendPath instances will use forward slashes, and there should be
more use of PurePosixPath instead of Path.

8 weeks agoUpgraded dependencies
Sybren A. Stüvel [Thu, 20 Dec 2018 13:23:12 +0000 (14:23 +0100)]
Upgraded dependencies

8 weeks agoFixed MyPy issue
Sybren A. Stüvel [Thu, 20 Dec 2018 13:23:06 +0000 (14:23 +0100)]
Fixed MyPy issue

8 weeks agoFixed leaking file descriptors in unit tests
Sybren A. Stüvel [Thu, 20 Dec 2018 13:04:23 +0000 (14:04 +0100)]
Fixed leaking file descriptors in unit tests

These weren't any issue in Linux, but Windows doesn't like it when you
try to delete a still-opened file.

2 months agoBumped version to 0.7 v0.7
Sybren A. Stüvel [Thu, 6 Dec 2018 09:02:40 +0000 (10:02 +0100)]
Bumped version to 0.7

2 months agoAdded `--relative-only` option to `bat pack` command
Sybren A. Stüvel [Thu, 6 Dec 2018 09:02:14 +0000 (10:02 +0100)]
Added `--relative-only` option to `bat pack` command

This makes BAT skip assets that are referred to with an absolute path.
It is assumed that the receiver of the BAT pack can access those assets
at the same path.

2 months agoBumped version to 0.6.1 v0.6.1
Sybren A. Stüvel [Fri, 30 Nov 2018 13:03:31 +0000 (14:03 +0100)]
Bumped version to 0.6.1

2 months agoblocks: Allow choosing number of DNA types shown via --limit CLI arg
Sybren A. Stüvel [Fri, 30 Nov 2018 13:03:20 +0000 (14:03 +0100)]
blocks: Allow choosing number of DNA types shown via --limit CLI arg

2 months agoBumped version to 0.6 v0.6
Sybren A. Stüvel [Fri, 30 Nov 2018 12:59:33 +0000 (13:59 +0100)]
Bumped version to 0.6

2 months agoAdded 'bat blocks' command that shows the DNA types that use the most data
Sybren A. Stüvel [Fri, 30 Nov 2018 12:58:19 +0000 (13:58 +0100)]
Added 'bat blocks' command that shows the DNA types that use the most data

It's work in progress and maybe not useful for anyone but us.

2 months agoAdded Twine to dev requirements v0.5
Sybren A. Stüvel [Tue, 27 Nov 2018 15:06:51 +0000 (16:06 +0100)]
Added Twine to dev requirements

Twine is the recommended way to upload files to PyPi.

2 months agoTypo
Sybren A. Stüvel [Tue, 27 Nov 2018 15:00:50 +0000 (16:00 +0100)]
Typo

2 months agoAdded instructions on how to upload packages to pypi
Sybren A. Stüvel [Tue, 27 Nov 2018 14:59:58 +0000 (15:59 +0100)]
Added instructions on how to upload packages to pypi

2 months agoRemoved logging options from setup.cfg again
Sybren A. Stüvel [Tue, 27 Nov 2018 14:59:43 +0000 (15:59 +0100)]
Removed logging options from setup.cfg again

The % symbols confuse setup.py when running 'setup.py sdist bdist_wheel',
and I couldn't quickly figure out how to escape those properly.

2 months agoBumped version to 0.5
Sybren A. Stüvel [Tue, 27 Nov 2018 14:51:19 +0000 (15:51 +0100)]
Bumped version to 0.5

2 months agoMulti-threaded compressed file transfers
Sybren A. Stüvel [Tue, 27 Nov 2018 14:50:20 +0000 (15:50 +0100)]
Multi-threaded compressed file transfers

For regular file transfers (so to a directory, not to a ZIP file or S3
storage), use multi-threaded transfer when compressing. Compressing is
CPU-bound, so using multiple threads speeds things up considerably
(packing a Spring lighting file went from 6min30 single-threaded to
2min13 multi-threaded on my machine).

2 months ago`bat pack --help` improvements
Sybren A. Stüvel [Tue, 27 Nov 2018 13:37:15 +0000 (14:37 +0100)]
`bat pack --help` improvements

2 months agoAdded --compress option for 'bat pack' command
Sybren A. Stüvel [Tue, 27 Nov 2018 13:20:08 +0000 (14:20 +0100)]
Added --compress option for 'bat pack' command

This compresses all packed Blend files. Other files, as well as already-
compressed Blend files, are left as-is.

2 months agoAdd some log level configuration to py.test config
Sybren A. Stüvel [Tue, 27 Nov 2018 13:21:13 +0000 (14:21 +0100)]
Add some log level configuration to py.test config

Not sure if we want a global DEBUG setting; if it becomes annoying, change it.

3 months agoSupport for cloth ptcaches stored on disk
Jeroen Bakker [Thu, 8 Nov 2018 09:25:02 +0000 (10:25 +0100)]
Support for cloth ptcaches stored on disk

Currently pointcaches on disk for cloth sims were not traced. This patch allows the tracing of pointcaches for cloth sims.

Reviewers: sybren, fsiddi

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D3910

3 months agoFix MyPy errors when running without boto3 installed
Sybren A. Stüvel [Wed, 7 Nov 2018 12:03:07 +0000 (13:03 +0100)]
Fix MyPy errors when running without boto3 installed

7 months agoInclude version in --help output
Sybren A. Stüvel [Wed, 11 Jul 2018 10:44:29 +0000 (12:44 +0200)]
Include version in --help output

7 months agoBumped version to 0.5-dev
Sybren A. Stüvel [Tue, 10 Jul 2018 14:03:30 +0000 (16:03 +0200)]
Bumped version to 0.5-dev

7 months agoBumped version to 0.4 v0.4
Sybren A. Stüvel [Tue, 10 Jul 2018 14:03:00 +0000 (16:03 +0200)]
Bumped version to 0.4

7 months agoBlender 2.8 compatibility of image datablock
Sybren A. Stüvel [Tue, 10 Jul 2018 13:37:46 +0000 (15:37 +0200)]
Blender 2.8 compatibility of image datablock

7 months agoMoved from requirements.txt to pipenv for package management
Sybren A. Stüvel [Tue, 10 Jul 2018 13:48:19 +0000 (15:48 +0200)]
Moved from requirements.txt to pipenv for package management

7 months agoFixed a whole bunch of MyPy errors
Sybren A. Stüvel [Tue, 10 Jul 2018 13:44:52 +0000 (15:44 +0200)]
Fixed a whole bunch of MyPy errors

New release of mypy picks up more.

7 months agoFix T55542: BAT doesn't pack smoke cache
Philipp Oeser [Thu, 5 Jul 2018 07:33:37 +0000 (09:33 +0200)]
Fix T55542: BAT doesn't pack smoke cache

7 months agoConvert hexified ID name to upper case
Sybren A. Stüvel [Thu, 5 Jul 2018 09:53:38 +0000 (11:53 +0200)]
Convert hexified ID name to upper case

Our test case accidentally has a numerical-only hex representation, which
doesn't show this issue.

7 months agoBumped version to 0.4-dev
Sybren A. Stüvel [Tue, 3 Jul 2018 13:07:34 +0000 (15:07 +0200)]
Bumped version to 0.4-dev

7 months agoBumped version to 0.3 v0.3
Sybren A. Stüvel [Tue, 3 Jul 2018 13:06:27 +0000 (15:06 +0200)]
Bumped version to 0.3

7 months agoFix T55539: BAT doesn't pack particle caches
Sybren A. Stüvel [Tue, 3 Jul 2018 12:41:12 +0000 (14:41 +0200)]
Fix T55539: BAT doesn't pack particle caches

7 months agoTracer fix for T55539
Sybren A. Stüvel [Tue, 3 Jul 2018 12:33:28 +0000 (14:33 +0200)]
Tracer fix for T55539

This only fixes the tracer; the problem with the packer still exists.

7 months agoSwap 'expected' and 'actual' arguments
Sybren A. Stüvel [Tue, 3 Jul 2018 12:30:59 +0000 (14:30 +0200)]
Swap 'expected' and 'actual' arguments

Python itself doesn't make any distinction (it just logs 'a != b') but
PyCharm does.

7 months agoUnignore some paths
Sybren A. Stüvel [Tue, 3 Jul 2018 12:00:53 +0000 (14:00 +0200)]
Unignore some paths

7 months agoFlush the Packer callback queue when closing
Sybren A. Stüvel [Tue, 3 Jul 2018 11:01:36 +0000 (13:01 +0200)]
Flush the Packer callback queue when closing

7 months agoReport skipped files
Sybren A. Stüvel [Tue, 3 Jul 2018 11:00:10 +0000 (13:00 +0200)]
Report skipped files

7 months agoAlso report transfer progress on MOVE
Sybren A. Stüvel [Tue, 3 Jul 2018 10:56:08 +0000 (12:56 +0200)]
Also report transfer progress on MOVE

Previously transfers were only reported when copying files.

7 months agoAdded utility function to fetching structs by name
Sybren A. Stüvel [Tue, 3 Jul 2018 10:34:00 +0000 (12:34 +0200)]
Added utility function to fetching structs by name

8 months agoSupport nested collections in Blender 2.8
Sybren A. Stüvel [Wed, 13 Jun 2018 15:40:05 +0000 (17:40 +0200)]
Support nested collections in Blender 2.8

8 months agoBlender 2.8 fixes because of removed Material.mtex and Material.group
Sybren A. Stüvel [Thu, 7 Jun 2018 13:18:18 +0000 (15:18 +0200)]
Blender 2.8 fixes because of removed Material.mtex and Material.group

8 months agoFix T55007: Support fluid simulation cache files
Sybren A. Stüvel [Tue, 5 Jun 2018 08:33:00 +0000 (10:33 +0200)]
Fix T55007: Support fluid simulation cache files

This also adds support for entire directory paths to be assets, in
addition to globs and numbered file sequences.

8 months agoBetter transfer error handling
Sybren A. Stüvel [Tue, 5 Jun 2018 09:49:55 +0000 (11:49 +0200)]
Better transfer error handling

8 months agoSpeed up packing
Sybren A. Stüvel [Tue, 5 Jun 2018 12:47:24 +0000 (14:47 +0200)]
Speed up packing

The .get() function raises a queue.Empty exception anyway, so there was
no real need for the .empty() call. Furthermore, it turned out to really
slow things down.

8 months agoAdded missing image in documentation
Sybren A. Stüvel [Tue, 5 Jun 2018 13:11:19 +0000 (15:11 +0200)]
Added missing image in documentation

9 months agoBumped version to 0.3-dev
Sybren A. Stüvel [Tue, 8 May 2018 10:51:00 +0000 (12:51 +0200)]
Bumped version to 0.3-dev

9 months agoBumped version to 0.2 v0.2
Sybren A. Stüvel [Tue, 8 May 2018 10:50:37 +0000 (12:50 +0200)]
Bumped version to 0.2

9 months agoDebug-log skipping of packed datablocks.
Sybren A. Stüvel [Tue, 8 May 2018 10:15:56 +0000 (12:15 +0200)]
Debug-log skipping of packed datablocks.

10 months agoAdded BAT logo to documentation
Sybren A. Stüvel [Tue, 27 Mar 2018 10:28:34 +0000 (12:28 +0200)]
Added BAT logo to documentation

10 months agoSlightly slower flushing/queue checking on the main thread
Sybren A. Stüvel [Mon, 26 Mar 2018 15:12:03 +0000 (17:12 +0200)]
Slightly slower flushing/queue checking on the main thread

10 months agoFind textures and images of various modifiers
Sybren A. Stüvel [Mon, 26 Mar 2018 14:46:13 +0000 (16:46 +0200)]
Find textures and images of various modifiers

- Wave
- UV Project
- Weight VG Edit
- Weight VG Mix
- Weight VG Proximity

10 months agoFind texture of displacement modifier
Sybren A. Stüvel [Mon, 26 Mar 2018 14:46:13 +0000 (16:46 +0200)]
Find texture of displacement modifier

10 months agoUse decorator to register modifier walker.
Sybren A. Stüvel [Mon, 26 Mar 2018 14:32:02 +0000 (16:32 +0200)]
Use decorator to register modifier walker.

10 months agoWritten some documentation with Sphinx
Sybren A. Stüvel [Thu, 22 Mar 2018 10:01:20 +0000 (11:01 +0100)]
Written some documentation with Sphinx

10 months agoReduce cyclomatic complexity of Struct.field_get()
Sybren A. Stüvel [Thu, 22 Mar 2018 09:56:02 +0000 (10:56 +0100)]
Reduce cyclomatic complexity of Struct.field_get()

10 months agoAdded docstring
Sybren A. Stüvel [Thu, 22 Mar 2018 09:10:50 +0000 (10:10 +0100)]
Added docstring

10 months agoAllow packing to ZIP files
Sybren A. Stüvel [Thu, 22 Mar 2018 09:06:48 +0000 (10:06 +0100)]
Allow packing to ZIP files

10 months agoAdd a pack-info.txt file at the top of the BAT Pack
Sybren A. Stüvel [Wed, 21 Mar 2018 15:33:41 +0000 (16:33 +0100)]
Add a pack-info.txt file at the top of the BAT Pack

This file explains which blend file this pack was created for.

10 months agoAdded TODO
Sybren A. Stüvel [Tue, 20 Mar 2018 17:13:16 +0000 (18:13 +0100)]
Added TODO

10 months agoReport progress of S3 uploads while the upload is happening
Sybren A. Stüvel [Tue, 20 Mar 2018 16:58:49 +0000 (17:58 +0100)]
Report progress of S3 uploads while the upload is happening

Previously it only reported progress after uploading each file.

10 months agoFixed issues with relative paths to blend files
Sybren A. Stüvel [Tue, 20 Mar 2018 16:57:41 +0000 (17:57 +0100)]
Fixed issues with relative paths to blend files

10 months agoS3Packer now takes a URL as endpoint, not a hostname
Sybren A. Stüvel [Tue, 20 Mar 2018 15:36:29 +0000 (16:36 +0100)]
S3Packer now takes a URL as endpoint, not a hostname

11 months agoBumped version to 0.2-dev
Sybren A. Stüvel [Fri, 16 Mar 2018 12:40:29 +0000 (13:40 +0100)]
Bumped version to 0.2-dev

11 months agoBumped version to 0.1 v0.1
Sybren A. Stüvel [Fri, 16 Mar 2018 12:39:51 +0000 (13:39 +0100)]
Bumped version to 0.1

11 months agoimprove 'bat --help' message
Sybren A. Stüvel [Fri, 16 Mar 2018 12:39:34 +0000 (13:39 +0100)]
improve 'bat --help' message

11 months agoLittle bit of usage info in package description
Sybren A. Stüvel [Fri, 16 Mar 2018 12:36:58 +0000 (13:36 +0100)]
Little bit of usage info in package description

11 months agoUpdated setup.py in preparation of first upload to pypi
Sybren A. Stüvel [Fri, 16 Mar 2018 12:29:08 +0000 (13:29 +0100)]
Updated setup.py in preparation of first upload to pypi

11 months agoAdded GPL comment blocks with proper attibution.
Sybren A. Stüvel [Fri, 16 Mar 2018 12:25:20 +0000 (13:25 +0100)]
Added GPL comment blocks with proper attibution.

11 months agoAdded CHANGELOG and updated README
Sybren A. Stüvel [Fri, 16 Mar 2018 11:31:50 +0000 (12:31 +0100)]
Added CHANGELOG and updated README

11 months agoAllow aborting a pack operation.
Sybren A. Stüvel [Fri, 16 Mar 2018 11:06:13 +0000 (12:06 +0100)]
Allow aborting a pack operation.

For this to work well I also had to remove the sorting of blocks in
trace.deps(). The sorting caused the first `yield` to be executed only
after each blend file was opened, which means that the consuming for-loop
takes a long time to hit its first iteration. As a result, it would respond
slowly to abort requests. By not sorting the first `yield` is much sooner,
resolving this issue.

11 months agoSmall cleanups
Sybren A. Stüvel [Fri, 16 Mar 2018 09:10:29 +0000 (10:10 +0100)]
Small cleanups

- No more shadowing of `blendfile` name.
- Removed unused import
- Formatting

11 months agoImplemented reporting callbacks.
Sybren A. Stüvel [Thu, 15 Mar 2018 15:28:20 +0000 (16:28 +0100)]
Implemented reporting callbacks.

Both the dependency Tracer class and the Packer class now support a
callback object, where the latter is a subclass of the former.

For file transfers running in a separate thread, there is a thread-safe
wrapper for progress callbacks. This wrapper can be called from any thread,
and calls the wrapped callback object from the main thread. This way the
callback implementation itself doesn't have to worry about threading
issues.

11 months agoMoved comment to correct location
Sybren A. Stüvel [Thu, 15 Mar 2018 13:48:40 +0000 (14:48 +0100)]
Moved comment to correct location

11 months agoInclude subpackages in the distribution wheel.
Sybren A. Stüvel [Thu, 15 Mar 2018 13:31:30 +0000 (14:31 +0100)]
Include subpackages in the distribution wheel.

11 months agoRemoved unused imports
Sybren A. Stüvel [Thu, 15 Mar 2018 13:30:46 +0000 (14:30 +0100)]
Removed unused imports

11 months agoPacker: store the output path of the blend file in the target directory
Sybren A. Stüvel [Wed, 14 Mar 2018 14:19:35 +0000 (15:19 +0100)]
Packer: store the output path of the blend file in the target directory

This allows the Flamenco Add-on to get the final path of the blend file.

11 months agoAllow relative project path
Sybren A. Stüvel [Wed, 14 Mar 2018 13:36:40 +0000 (14:36 +0100)]
Allow relative project path

11 months agoMoved some code into its own function
Sybren A. Stüvel [Wed, 14 Mar 2018 13:36:33 +0000 (14:36 +0100)]
Moved some code into its own function

11 months agoBAT Pack can now exclude files based on glob patterns
Sybren A. Stüvel [Wed, 14 Mar 2018 13:28:51 +0000 (14:28 +0100)]
BAT Pack can now exclude files based on glob patterns

11 months agoAllow Packer to be used as context manager + test for rewriting img seqs
Sybren A. Stüvel [Wed, 14 Mar 2018 11:50:27 +0000 (12:50 +0100)]
Allow Packer to be used as context manager + test for rewriting img seqs

11 months agoAdded test for Packer.close()
Sybren A. Stüvel [Wed, 14 Mar 2018 11:30:18 +0000 (12:30 +0100)]
Added test for Packer.close()