133 Commits

Author SHA1 Message Date
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