Commit Graph

98 Commits

Author SHA1 Message Date
97f1243643 Bumped version to 1.1.7 2017-04-21 18:12:04 +02:00
eaa10175fe Added exclusion filter to blendfile_pack:main()
Also improved CLI descriptions and added some assertions to help debuggin
stuff.
2017-04-21 17:51:00 +02:00
a6c5400db2 Corrected usage text for pack function 2017-04-21 17:21:31 +02:00
ff777ad695 Moved some imports to the top of the file 2017-04-21 17:21:31 +02:00
618f590f35 Bumped version to 1.1.6 2017-04-21 16:24:46 +02:00
b3d0fcb243 Always try to pack using a unique temporary folder name.
This allows multiple users to create multiple ZIP files in the same
directory.
2017-04-21 16:24:20 +02:00
87d568ab3f Bumped version to 1.1.5 2017-04-21 11:46:58 +02:00
8994385c63 Added support for Alembic caches. 2017-04-21 11:45:48 +02:00
a926dfa4c1 Bumped version to 1.1.4 2017-04-12 11:03:02 +02:00
9fbb3801bb Added a BlendFileError exception
This avoid having to raise (and catch) an Exception instance. Catching
such an exception is unnecessarily broad, as it'll also catch things like
SyntaxError and AttributeError.
2017-04-12 11:01:39 +02:00
250c35ce12 blendfile.py: Add support reading single char DNA values as unsigned integer.
A single char is nearly never a string or byte, but rather a small int
or bitflag value. ;)
2017-04-12 10:57:54 +02:00
48ed23a261 Make blendfile.py reading/parsing slightly more robust/helpful in broken .blend files cases. 2017-04-12 10:57:34 +02:00
65926962f2 Bumped version to 1.1.3 2017-04-05 13:00:28 +02:00
c4dbf01f5f Fix T51131: Textures do not get packed when used in particle system 2017-04-05 12:50:28 +02:00
c43248a235 More control over logging + added extra DEBUG level 2017-04-05 12:50:28 +02:00
4c0de51d2a set_as_str() now also works for sets of non-string data.
Also not doubly-sorting any more.
2017-04-05 12:32:33 +02:00
46469f384a Set up logging when running from CLI.
Logging is sent to stderr, so it shouldn't interfere with external
programs expecting output on stdout.
2017-04-05 12:31:16 +02:00
420f146067 Removed unused code
At the bottom of the file, an exception is raised when __name__ ==
'__main__', stating that it's not allowed to run the file in that way.
It's silly to then still set up logging in that case.
2017-04-05 12:30:35 +02:00
9524c88b32 Added some type annotations to aid debugging. 2017-04-05 12:29:45 +02:00
a6c32b25e5 Added BlendFile.__repr__() to show more useful info than memory pointer 2017-04-05 12:28:31 +02:00
a5d5ede1fd Bumped version to 1.1.2 2017-03-07 16:09:21 +01:00
d74e4d0604 Bumped version to 1.1.1 2017-01-17 17:23:55 +01:00
b035757d3b Fix: fail to move lib blend files to the destination dir when mode=FILE 2017-01-17 17:02:05 +01:00
94253975ca Cleaner way to use os.makedirs()
It's not necessary to do an os.path.exists(dst_dir) check before calling
os.makedirs(), the exist_ok=True parameter is meant for this common
pattern.
2017-01-17 17:01:37 +01:00
9e8f95114c Added some type annotations 2017-01-17 17:00:49 +01:00
e4e94f077f Fixed bad import 2017-01-17 17:00:40 +01:00
8fa58458f5 Bumped version to 1.1 2017-01-17 16:21:02 +01:00
e41f3268ca Support calling BAM pack via 'python -m bam.pack'.
This allows us to run "setup.py bdist_wheel", put the wheel on the
PYTHONPATH, and run BAM pack without having to install it on a virtualenv.
The main purpose is to be able to ship this wheel with Blender. Updating
Blender's version of BAM thus requires only putting in a new wheel file,
rather than the old error-prone approach of copy-and-edit.
2017-01-17 16:09:43 +01:00
5e5a9e37f1 Report fp_blend with %r formatting, just like all other reported paths. 2017-01-17 16:07:48 +01:00
e286f472b4 Made bam.utils and bam.blend proper packages.
Without __init__.py those are namespaces, not packages, which can be merged
with the same namespaces that are defined on different places in sys.path.
This is flexibility we don't need.
2017-01-17 16:07:30 +01:00
a45ce8c114 Removed superfluous forwarding of sys.argv 2017-01-17 16:04:13 +01:00
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
ac0c83d49d Fix own stupid mistake in recent 'repo base' new option for bam pack.
Would not work in case no base repo was specified...
2016-12-14 14:06:51 +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
796a24e6b5 Bumped version 0.0.5.5 → 1.0 2016-09-15 14:07:20 +02:00
4e584fd1a6 Bump version 2016-08-03 15:11:19 +10: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
5b0e51783a Improve subdirectory check 2016-01-13 03:05:43 +11:00
5e9eb15409 Add 'bam copy' command. 2016-01-13 02:38:59 +11:00