Ellwood Zwovic
20e5273635
Store filelists in generated repositories
2017-07-19 16:51:32 -07:00
Ellwood Zwovic
390ad447e7
Allow user-added urls to omit 'repo.json'
2017-07-18 23:02:34 -07:00
Ellwood Zwovic
5676a9e2c5
Don't show install button if there's no URL to install from
2017-07-18 18:36:58 -07:00
Ellwood Zwovic
8747a66243
Just ignore missing blinfo fields
2017-07-18 18:35:48 -07:00
Ellwood Zwovic
dae9afd6da
Store repository on window manager so it isn't saved in the .blend
...
We store it outside blender in JSON anyway, storing it two places at
once could be confusing. We can move it back into the .blend later if it
seems that would be preferred.
2017-07-18 18:25:53 -07:00
Ellwood Zwovic
816c27f499
Remove commented attempt at caching search results
...
We need to store sorted list of ID/names of packages rather than packages themselves, otherwise we miss changes such as "collapsed/expanded"
2017-07-18 17:32:03 -07:00
Ellwood Zwovic
19c1f3a8ac
Better sorting of search results
2017-07-18 17:30:42 -07:00
Ellwood Zwovic
6193437636
Some odd tweaks and repo management code
2017-07-18 15:10:11 -07:00
Ellwood Zwovic
c0d2419bea
Partial expanded view implementation
...
Not all metadata is correctly displayed yet
2017-07-15 02:18:18 -07:00
Ellwood Zwovic
f588e3f619
Address comments on 2e45bf637a
2017-07-14 21:17:29 -07:00
Ellwood Zwovic
74f10ba3cd
Exception handling for repo refresh
2017-07-14 20:26:03 -07:00
Ellwood Zwovic
ae5fe0abcf
Address comments on 058b5a802f
...
Also address some from 67b1857e58
which got left out of the previous
commit
2017-07-14 19:22:53 -07:00
Ellwood Zwovic
678ab8cadf
Address comments on 67b1857e58
2017-07-14 18:02:52 -07:00
Ellwood Zwovic
0e0673bc16
Add setup.py
2017-07-14 17:16:00 -07:00
Ellwood Zwovic
093ec4b606
Rename bpkg_manager to just bpkg
2017-07-14 17:13:49 -07:00
Ellwood Zwovic
acd0792b28
Give repo generation tool clearer name
2017-07-14 17:09:30 -07:00
Ellwood Zwovic
956b72b684
Add pytest .cache dirs to gitignore
2017-07-14 16:13:30 -07:00
Ellwood Zwovic
35a108ac4b
Remove old code
2017-07-14 16:12:35 -07:00
Ellwood Zwovic
fe7d38252d
Add baseurl option to make_repo and actually set package urls
...
Also actually use said URL when calling 'install' operator
2017-07-14 00:56:34 -07:00
Ellwood Zwovic
bbaa928c2b
Basic filtering for package browser
2017-07-14 00:23:26 -07:00
Ellwood Zwovic
745331a927
Sort packagelist
2017-07-13 22:32:51 -07:00
Ellwood Zwovic
29e2db8952
Basic package browsing UI
2017-07-13 22:32:21 -07:00
Ellwood Zwovic
2e45bf637a
Send repolist to blender and list contents
2017-07-13 19:06:31 -07:00
Ellwood Zwovic
67b1857e58
Repository downloading
2017-07-13 16:33:14 -07:00
Ellwood Zwovic
058b5a802f
Address comments on previous commit
2017-07-13 11:16:31 -07:00
Ellwood Zwovic
915c38c326
Make install procedure overwrite existing addons
...
However, back them up first and restore them if anything goes wrong
2017-07-12 20:07:20 -07:00
Ellwood Zwovic
4df177e397
Only check root files for conflicts
2017-07-12 15:03:12 -07:00
Ellwood Zwovic
7d7be711d3
Basic install function
2017-07-11 22:47:39 -07:00
Ellwood Zwovic
f411c68115
Some stuff from old exception-based error handling approach
2017-07-09 18:59:36 -07:00
Ellwood Zwovic
d4a01350fd
Merge branch 'master' of git.blender.org:blender-package-manager-addon
2017-07-09 17:31:36 -07:00
337a5f352c
Added bpkg_manager package that can download packages in a subprocess
...
Also contains a SubprocMixin mix-in class that can help to write
operators that run & monitor subprocesses.
Messages sent back & forth between Blender and the subprocess MUST subclass
either BlenderMessage or SubprocMessage.
2017-07-10 01:44:54 +02:00
Ellwood Zwovic
24b1a19409
Also raise exception on child process, to get a traceback for debugging
...
I initially thought I could pass the traceback with the exception, but
it seems transmitting exceptions around with their tracebacks intact is
not so easy. There's a library which does this:
https://github.com/ionelmc/python-tblib
But this doesn't seem important enough to introduce a dependency..
2017-07-09 15:10:13 -07:00
gandalf3
a4a1f69cd1
Note reasoning behind call order
2017-07-09 14:59:08 -07:00
gandalf3
32f0d9fdb6
Add docstrings
2017-07-09 14:49:34 -07:00
gandalf3
8cc606b263
Add decorator for handing child-process side of pipe
2017-07-09 14:40:56 -07:00
gandalf3
1188f91b7b
Subprocess management: use a decorator
...
Use a decorator instead of a mixin to handle subprocess spawning and
monitoring
2017-07-08 17:54:45 -07:00
gandalf3
fcf90a0e75
Split addon code up by purpose
2017-07-07 17:56:49 -07:00
gandalf3
bbc1c8b3bf
Rename "blenderpack" module to "bpackage"
...
Also split code into files by class
2017-07-06 22:58:17 -07:00
gandalf3
bc6f5bcdd4
Move blenderpack into own package
2017-07-06 22:22:58 -07:00
gandalf3
6db5a2d190
Update tests for previous commit
2017-07-06 22:12:43 -07:00
gandalf3
0f96cd4852
Add Repository and Package classes
2017-07-06 22:11:43 -07:00
gandalf3
b144e6a025
Remove unneccesary bulk of code in addons used for testing
2017-07-06 00:00:43 -07:00
gandalf3
f20264c963
Cleanup: Changes suggested by @sybren
2017-07-05 18:40:32 -07:00
gandalf3
1cefb4eab6
First test for conditional requests
...
Involves lots of mocking. Part of the issue is that there is no way (?) to
know where repo.json is stored when blender isn't running the show.
2017-07-05 02:45:30 -07:00
gandalf3
3847cc877f
Improve make_repo.py
...
This cleans up make_repo.py a bit, using file extensions to determine
file type.
This also loosens the testing repo generation, as the existing
test required matching a predifed expected output which had to be
updated on every change (essentially making it a moot test, as the
reference output was obtained from the functions output).
The new test just checks if the output has the same number of packages
as the input dir has addons.
Tips on how best to test these sorts of "higher level" functions (if at
all) would be welcome :)
2017-07-04 23:56:19 -07:00
gandalf3
12533268fc
Remove old commented code
2017-07-04 03:06:34 -07:00
gandalf3
7ce5bd2010
Add UIlist for repositories (and make reloadable)
2017-07-04 02:11:03 -07:00
gandalf3
e509559c22
Terminology: Update -> Upgrade, Fetch -> Refresh
2017-07-02 18:47:15 -07:00
gandalf3
5ad139ac13
Quick hack to handle case of non-text, non-python files
2017-07-02 18:39:58 -07:00
gandalf3
9f0ff11421
Get all tests for make_repo.py passing
2017-07-02 16:55:17 -07:00