Commit Graph
25 Commits
Author SHA1 Message Date
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 73b264f6bc Allow relative project path 2018-03-14 16:06:21 +01:00
Sybren A. Stüvel 9ceb42af2f Moved some code into its own function 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 ea832cd666 Added support for uploads to S3 by using the boto3 client. 2018-03-09 16:48:34 +01:00
Sybren A. Stüvel 53a2ca4373 Only set the log level on our own logger.
Otherwise debug logging will be completely swamped with logs from other
libraries. Maybe that's nice too at some point, but that would need another
CLI arg.
2018-03-09 16:28:31 +01:00
Sybren A. Stüvel 0778b3a6ec Defined file transferer abstract base class
This will allow for different file transfer classes uploading to different
services.
2018-03-09 13:04:14 +01:00
Sybren A. Stüvel ac3f6142b3 Move rewritten blend files instead of copying them
This will cause a nice speedup if the temporary directory happens to be on
the same file system as the target directory for the BAT Pack. This can be
influenced by setting an environment variable; see the documentation for
[tempfile.gettempdir](https://docs.python.org/3/library/tempfile.html#tempfile.gettempdir)
2018-03-09 12:47:50 +01:00
Sybren A. Stüvel fdbbc3a20d Static type checking with mypy
This does introduce some not-so-nice things, like having to annotate each
`__init__` function with `-> None`. However, the benefits of having static
type checking in a complex bit of software like BAT outweigh the downsides.
2018-03-09 11:09:47 +01:00
Sybren A. Stüvel 632d01334c Renamed module tracer → trace
This is consistent with the other module names.
2018-03-09 10:02:44 +01:00
Sybren A. Stüvel 898f79a951 Removed unused imports 2018-03-08 14:35:35 +01:00
Sybren A. Stüvel c80bb8232e Fix bad reference 2018-03-08 14:27:17 +01:00
Sybren A. Stüvel 08f538d8c8 File I/O improvements
- Tracer now iterates over blocks in disk order.
- Packer copies files per directory, in a separate thread.
- Packer only copies files if they don't exist yet.
- Packer also copies file permissions.
2018-03-08 12:33:15 +01:00
Sybren A. Stüvel 9c9323b170 Log instead of print 2018-03-08 11:00:09 +01:00
Sybren A. Stüvel 595f8cb0a6 Log duration of CLI commands 2018-03-07 17:14:44 +01:00
Sybren A. Stüvel c5a02423cb Added --profile CLI flag for running the Python profiler 2018-03-07 15:50:04 +01:00
Sybren A. Stüvel 71dd5bc11b Path rewriting when packing.
Doesn't work with sequences, nor with split dirname/basename fields.
2018-03-06 16:06:36 +01:00
Sybren A. Stüvel 433ad8f16a Moved packer code into separate class, in preparation for smarter behaviour 2018-03-06 11:58:38 +01:00
Sybren A. Stüvel 39474548d2 Pack: Made project path explicit 2018-03-06 11:41:28 +01:00
Sybren A. Stüvel 5c8e074c68 Implemented simple 'bat pack' CLI command
No path rewriting yet, just simply copying the dependencies. They are
copied to the target directory + the path relative to the current working
directory. For example:

bat pack scenes/05-barber/05_02_C-agent_focused/05_02_C.lighting.blend /tmp/packer

will write to
/tmp/packer/scenes/05-barber/05_02_C-agent_focused/05_02_C.lighting.blend
and will copy ./path/to/file → /tmp/packer/path/to/file
2018-03-02 17:59:04 +01:00
Sybren A. Stüvel 8009ff1e47 Added block expansion
The expansion process follows pointers and library links to construct
the full set of actually-used data blocks. This set consists of all data
blocks in the initial blend file, and all *actually linked-to* data
blocks in linked blend files.

I've also removed non-recursive dependency listing.
2018-03-02 15:44:07 +01:00
Sybren A. Stüvel 6252b041d5 Implemented JSON dependency logging output 2018-02-28 17:18:18 +01:00
Sybren A. Stüvel a7706f21b6 Nicer CLI listing of dependencies 2018-02-28 17:02:34 +01:00
Sybren A. Stüvel ca964181fe Beginning of CLI interface + protection against infinite recursion. 2018-02-28 16:47:13 +01:00