Commit Graph

45 Commits

Author SHA1 Message Date
89fe6be951 Fix (unreported) temp dir not being removed by bam pack -m FILE. 2016-12-14 14:18:17 +01:00
b75b744032 Fix T50244: bam pack with -m FILE fails on copying deeper hierachies because of missing destination folders.
As suggested by reporter, check for existing dst dir and use os.makedirs
first if missing.
2016-12-14 14:16:04 +01:00
127843e648 Extend 'pack' feature by adding option to keep repo's hierarchy, and warn about external deps.
`bam_cli.py pack` command now takes two more (optional) parameters, one
to specify the base directory of the repository, and one to enable
warnings when 'external' dependencies (to given base dir) are found.

Note that by default, base directory is the directory of the packed
.blend file (such that default behavior does not change at all).

See CLI help for more.
2016-11-28 10:47:31 +01:00
d046db9c81 Added __repr__() to DNAName and DNAStruct classes 2016-09-15 14:37:30 +02:00
a3747e5a3e Don't set log level in the module itself.
Log levels should be set by the user of the module, usually at the
application level, rather than by each individual Python module.
2016-09-15 14:37:15 +02:00
d6aed3491a Added BlendFileBlock.dna_type_name property 2016-09-15 14:36:37 +02:00
59bbdeb310 PEP8 formatting 2016-09-15 14:36:17 +02:00
a404ed8fdb Use relative import
This way the code can remain the same in both Blender's io_blend_utils
module and BAM.
2016-09-15 14:35:53 +02:00
b8a59e504b Fix packing windows paths that span drives
Reported as T48187
2016-07-26 07:09:39 +10:00
e6f6bd6da3 minor edits to blendfile 2016-06-10 02:19:20 +10:00
5f5baf33b2 Minor changes
- use functions instead of lambda
- dont use color for non-terminal tty's
- add --temp argument for blendfile_pack
2016-01-29 17:47:57 +11:00
4d6b5bf4c0 Use tuples for multi-part lookups
Also use real ints instead of extracting from strings.
2016-01-26 18:36:48 +11:00
d54c92b6fb Cleanup: style 2016-01-26 17:20:10 +11:00
4360fa5475 bledfile.py: Port over changes from src_utils repo.
commit 45e3ba4a4f8fb39d2a090f1f67c10d6132939d8e
    blendfile.py: add BlendFileBlock.get_data_hash() 'pointer-invariant' hash generator.

    This aims at giving some kind of uid to replace addr_old, that does not changes on
    every .blend saving.

commit 81c92e60195f9ff3ce327c26278d07eafb4a0596
    blendfile.py: fix/add some 'basic data' reading (mostly arrays of ints/floats/...), add utils to recursively get all items of a struct.

    New `BlendFileBlock.items_recursive_iter()` will yield all valid key/values pair of a given struct,
    including sub ones (e.g. 'id.next', 'id.name', etc.).
2016-01-18 22:08:20 +01:00
5e9eb15409 Add 'bam copy' command. 2016-01-13 02:38:59 +11:00
28429f297b blendfile: "fix" blocks' iteration over values, and add 'user_data' member to Blocks and DNAStruct objects.
Currently blendfile.py does not know how to handle embeded structs - this is solvable for later, but at least
do not raise exception about that when using values()/items() helpers of BlendFileBlock
(for now, return Ellipsis in those cases).

Also, added some user_data member to BlendFileBlock and DNAStruct classes, handy when you need to store
some own data for each of those, and want to avoid having your own list or dict for that.
2015-12-10 16:16:19 +01:00
fba8bf04d6 Fix for stupid typo 2015-06-12 23:50:00 +10:00
e41a17735e Change pack --exclude behavior, don't touch excluded paths at all
Was omitting from zip, but still remapping.
2015-06-11 21:11:04 +10:00
7d7fede5b2 Support context manager for opening blend file 2015-06-09 03:08:18 +10:00
88eefcf6bc check source mode before including alembic files 2015-06-08 23:47:18 +10:00
0aa730089b pack, support --exclude argument
See: bam pack --help
2015-06-04 14:55:40 +10:00
c3d4d85342 Only pack input cache 2015-06-02 21:46:50 +10:00
18901fa5f7 Add alembic support (with option so we can disable) 2015-05-08 01:17:24 +10:00
9e92aa7736 Fix T44099: Packing textures fails
files that touched the same path multiple times was broken
2015-03-25 04:03:51 +11:00
6b0735e402 blendfile: remove redundant struct use 2015-03-05 09:58:32 +11:00
1111f24b04 Fix T43830: Packing skips some image datablocks
Add support for ParticleSystems (render as - object & group)
2015-03-03 10:39:00 +11:00
f23630e970 path walker: include object materials 2015-03-03 10:01:32 +11:00
a542c8bfc4 Fix for bug where library names could collide
Multiple libraries from one file wouldn't use unique ID.name members.
Now used memory address instead of the name to keep track of which blocks we've visited.
2015-02-20 21:11:00 +11:00
7169a3d713 no longer make copies of files
When the server is performing a checkout, we only need to make binary edit-list
2015-02-20 15:51:46 +11:00
e76691f18b support for partial downloads
(use local cache where possible)
2015-02-20 15:51:10 +11:00
ed1eb6df6f Add support for mesh-cache modifier 2015-02-12 00:38:54 +11:00
535886c915 add revert
uses local cache and replays binary edits
2015-02-07 00:53:20 +11:00
98f67c5d7f test local replay of edits, needed for local cache 2015-01-28 20:29:29 +11:00
fbd65538ed cleanup: syntax, comments, naming 2015-01-14 23:51:52 +11:00
3c2a4beec9 Fix for pack failing with missing files 2015-01-14 23:46:12 +11:00
1379f375ee Add test for image variations 2015-01-09 05:21:21 +11:00
b16801dd6c Initial Variation support
See: T42930

Also added tests
2015-01-09 05:21:14 +11:00
1ed725876a cleanup 2014-12-20 01:59:07 +01:00
7aaf6a64e8 fix for rare case when a file path points to a directory 2014-12-20 01:53:19 +01:00
975a0a5f49 Don't compress common filetypes which are already compressed 2014-12-20 01:53:14 +01:00
6cfefb0ea1 Fix for walking over sequence paths 2014-12-19 17:29:55 +01:00
d5b2327740 path walker: expand more links 2014-12-19 17:29:55 +01:00
f8438d9419 bam cli: add compression level support 2014-12-19 17:29:51 +01:00
fc5a206686 Sanitize paths before packing
also use mode as a kw arg
2014-12-19 11:33:08 +01:00
871600312c re-arrange modules, preparing for python-package-index 2014-12-19 11:33:05 +01:00