23 Commits

Author SHA1 Message Date
Sybren A. Stüvel
b79a5dc491 Avoid repeating/constructing the same path 2019-01-02 15:39:09 +01:00
Sybren A. Stüvel
5a41167a09 Missing test teardowns
This kept a file pointer open while trying to delete the file.
2019-01-02 15:14:50 +01:00
Sybren A. Stüvel
5635895d0c 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.
2019-01-02 15:14:50 +01:00
Sybren A. Stüvel
37ad8f8dfc 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.
2018-12-06 10:02:14 +01:00
Sybren A. Stüvel
521c7e1916 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.
2018-11-27 14:29:37 +01:00
Philipp Oeser
4e1c2d1bbb Fix T55542: BAT doesn't pack smoke cache 2018-07-06 11:01:44 +02:00
Sybren A. Stüvel
0b96635953 Fix T55539: BAT doesn't pack particle caches 2018-07-03 15:05:15 +02:00
Sybren A. Stüvel
e53470d898 Add a pack-info.txt file at the top of the BAT Pack
This file explains which blend file this pack was created for.
2018-03-21 16:33:41 +01:00
Sybren A. Stüvel
f7150c0d29 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.
2018-03-16 12:12:15 +01:00
Sybren A. Stüvel
889f3abd25 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.
2018-03-15 17:59:55 +01:00
Sybren A. Stüvel
59189aab5f Removed unused imports 2018-03-15 14:30:46 +01:00
Sybren A. Stüvel
6b51183095 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.
2018-03-14 16:06:21 +01:00
Sybren A. Stüvel
8340df129d BAT Pack can now exclude files based on glob patterns 2018-03-14 16:06:21 +01:00
Sybren A. Stüvel
0e9de7753c Allow Packer to be used as context manager + test for rewriting img seqs 2018-03-14 12:50:27 +01:00
Sybren A. Stüvel
d2ac0fa919 Added test for Packer.close() 2018-03-14 12:30:18 +01:00
Sybren A. Stüvel
c9664ca045 Report missing files in Packer.strategise() 2018-03-14 12:24:26 +01:00
Sybren A. Stüvel
ef5c46eba5 Some mypy & test tweaks 2018-03-09 16:29:30 +01:00
Sybren A. Stüvel
824ca4bcb7 Rewrite blend files in temporary directory, before copying
This allows us to later support uploading to a non-local filesystem, such
as Amazon S3 cloud storage, after path rewriting is complete.
2018-03-09 12:33:15 +01:00
Sybren A. Stüvel
e8f41f2735 Store rewrites in AssetAction
This is in preparation of interchanging copying and rewriting.
2018-03-09 10:00:46 +01:00
Sybren A. Stüvel
88f23a4097 Also test bat pack --noop 2018-03-08 13:02:18 +01:00
Sybren A. Stüvel
0df94c74cd Also test Packer.execute() 2018-03-08 12:41:19 +01:00
Sybren A. Stüvel
b5418e1f5f Removed Packer._packed_paths
The info in that dict is also available in Packer._actions[...].new_path
2018-03-08 11:15:38 +01:00
Sybren A. Stüvel
01a9392fc1 Added unit test for Packer.strategise() 2018-03-08 11:00:02 +01:00