145 Commits

Author SHA1 Message Date
Sybren A. Stüvel
7b9312b684 Bumped version to 0.5 2018-11-27 15:51:19 +01:00
Sybren A. Stüvel
33512d42cf 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).
2018-11-27 15:50:20 +01:00
Sybren A. Stüvel
b6c0d01e45 bat pack --help improvements 2018-11-27 14:37:15 +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
Jeroen Bakker
7c80320b30 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
2018-11-08 10:25:45 +01:00
Sybren A. Stüvel
43e8a7e370 Include version in --help output 2018-07-11 12:44:29 +02:00
Sybren A. Stüvel
439f727815 Bumped version to 0.5-dev 2018-07-10 16:03:30 +02:00
Sybren A. Stüvel
0e7411a42b Bumped version to 0.4 2018-07-10 16:03:00 +02:00
Sybren A. Stüvel
d7b06f0644 Blender 2.8 compatibility of image datablock 2018-07-10 16:02:14 +02:00
Sybren A. Stüvel
38b3e2b55c Fixed a whole bunch of MyPy errors
New release of mypy picks up more.
2018-07-10 16:02:14 +02:00
Philipp Oeser
4e1c2d1bbb Fix T55542: BAT doesn't pack smoke cache 2018-07-06 11:01:44 +02:00
Sybren A. Stüvel
893c1f2231 Convert hexified ID name to upper case
Our test case accidentally has a numerical-only hex representation, which
doesn't show this issue.
2018-07-05 11:53:38 +02:00
Sybren A. Stüvel
63118d250c Bumped version to 0.4-dev 2018-07-03 15:07:34 +02:00
Sybren A. Stüvel
8a308ef6e4 Bumped version to 0.3 2018-07-03 15:06:27 +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
aa8e2a8cdd Tracer fix for T55539
This only fixes the tracer; the problem with the packer still exists.
2018-07-03 15:05:15 +02:00
Sybren A. Stüvel
d103056558 Flush the Packer callback queue when closing 2018-07-03 13:01:36 +02:00
Sybren A. Stüvel
f1cfc28a1c Report skipped files 2018-07-03 13:00:10 +02:00
Sybren A. Stüvel
7fe06c247b Also report transfer progress on MOVE
Previously transfers were only reported when copying files.
2018-07-03 12:56:08 +02:00
Sybren A. Stüvel
6edc15594d Added utility function to fetching structs by name 2018-07-03 12:34:00 +02:00
Sybren A. Stüvel
f7a18ba07d Support nested collections in Blender 2.8 2018-06-13 17:40:05 +02:00
Sybren A. Stüvel
5f966934df Blender 2.8 fixes because of removed Material.mtex and Material.group 2018-06-07 15:18:18 +02:00
Sybren A. Stüvel
dfa07e19cc 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.
2018-06-05 15:12:10 +02:00
Sybren A. Stüvel
fc144138d0 Better transfer error handling 2018-06-05 15:12:10 +02:00
Sybren A. Stüvel
44c4ce3a69 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.
2018-06-05 15:12:10 +02:00
Sybren A. Stüvel
acfd8357e1 Bumped version to 0.3-dev 2018-05-08 12:51:00 +02:00
Sybren A. Stüvel
7ce2c3094a Bumped version to 0.2 2018-05-08 12:50:37 +02:00
Sybren A. Stüvel
285a88793a Debug-log skipping of packed datablocks. 2018-05-08 12:15:56 +02:00
Sybren A. Stüvel
099d51c4ff Slightly slower flushing/queue checking on the main thread 2018-03-26 17:14:10 +02:00
Sybren A. Stüvel
21fb18247d Find textures and images of various modifiers
- Wave
- UV Project
- Weight VG Edit
- Weight VG Mix
- Weight VG Proximity
2018-03-26 17:14:08 +02:00
Sybren A. Stüvel
0d82dc7fd0 Find texture of displacement modifier 2018-03-26 16:46:13 +02:00
Sybren A. Stüvel
c515509b24 Use decorator to register modifier walker. 2018-03-26 16:43:32 +02:00
Sybren A. Stüvel
8b73b86734 Reduce cyclomatic complexity of Struct.field_get() 2018-03-22 10:56:02 +01:00
Sybren A. Stüvel
85840faf70 Added docstring 2018-03-22 10:10:50 +01:00
Sybren A. Stüvel
8d1bd89583 Allow packing to ZIP files 2018-03-22 10:06:48 +01: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
3a3dbb5042 Added TODO 2018-03-20 18:13:16 +01:00
Sybren A. Stüvel
1111465061 Report progress of S3 uploads while the upload is happening
Previously it only reported progress after uploading each file.
2018-03-20 17:58:49 +01:00
Sybren A. Stüvel
cd32442f5a Fixed issues with relative paths to blend files 2018-03-20 17:57:41 +01:00
Sybren A. Stüvel
56fb89da3d S3Packer now takes a URL as endpoint, not a hostname 2018-03-20 16:36:29 +01:00
Sybren A. Stüvel
c4a57039f1 Bumped version to 0.2-dev 2018-03-16 13:40:29 +01:00
Sybren A. Stüvel
6e7acb9425 Bumped version to 0.1 2018-03-16 13:39:51 +01:00
Sybren A. Stüvel
3b3fb0e3ef improve 'bat --help' message 2018-03-16 13:39:34 +01:00
Sybren A. Stüvel
53e22a4a2f Added GPL comment blocks with proper attibution. 2018-03-16 13:25:20 +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
4f4a67784d Small cleanups
- No more shadowing of `blendfile` name.
- Removed unused import
- Formatting
2018-03-16 10:10:29 +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
d2e13750e9 Moved comment to correct location 2018-03-15 16:28:34 +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
73b264f6bc Allow relative project path 2018-03-14 16:06:21 +01:00