[Soc-2017-dev] Daily Report - Jul 13 - Package Manager

dr. Sybren A. Stüvel sybren at blender.studio
Fri Jul 14 11:24:30 CEST 2017


Hi Ellwood,

On 14/07/17 10:42, Ellwood Zwovic wrote:
> Today I added repository fetching and a simple package browser interface.

Let me copy-paste my response from two days ago:

If you have spent 8+ hours on this there must be more to tell about it
than a single sentence. What exactly have you done? What are you proud
of you got in there? What did you struggle with? In what way is it
different from what we had before?

> Some questions:
>
> I tried to find a way to have the packagelist be scroll-able 
> independently from the options on the side. Is there a way to allow, 
> say, a box to have its own scrollbar? The only element I found which 
> seems to come with a scrollbar is a UIlist. I haven't tried it yet, but 
> it doesn't quite seem appropriate (all the

I wouldn't know about this directly off-hand, maybe someone else on the
list can chime in? It feels like you're trying to create a scrolling box
inside a scrolling box, which is generally a bad idea.

> I also noticed that the panel draw method is being called on scroll 
> events; seemingly causing degraded performance (in fact, I noticed this 
> with the current addon browser too). I can certainly do some things to 
> optimize the draw method, but I'm curious if there's a short explanation 
> of why this is. Is there actually a way for python to pick up on scroll 
> events and modify things meaningfully?

As said before: focus on getting it working first. We can always
optimise later.

> On a rather unrelated note, how strict are the requirements for the 
> bl_info dict? I've been thinking it would be nice to have a changelog 
> url.

Again, focus on getting the package manager working first, and don't
spend time doing extra things on the side.

> Plans for tomorrow: clean up repository (I didn't get to it today),

The repository is very small, so cleanup wouldn't take long. What were
your reasons to not do this today as you said you would?


When I try to serve the generated repo.json file via "python3 -m
http.server", use "http://localhost:8000/" as URL, and click the Refresh
button, I get this error:

2017-07-14 11:19:30,200     INFO bpkg_manager.BPKG_OT_refresh Starting
2017-07-14 11:19:30,214  WARNING bpkg_manager.subproc.refresh Failed to
read existing repository: . Continuing download.
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.5/multiprocessing/process.py", line 249, in
_bootstrap
    self.run()
  File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File
"/home/sybren/.config/blender/2.78/scripts/addons/bpkg_manager/subproc.py",
line 500, in refresh
    repo.refresh()
  File
"/home/sybren/.config/blender/2.78/scripts/addons/bpkg_manager/subproc.py",
line 225, in refresh
    repodict = resp.json()
  File
"/home/sybren/.local/lib/python3.5/site-packages/requests/models.py",
line 826, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2017-07-14 11:19:30,313    ERROR bpkg_manager.BPKG_OT_refresh Process
died without telling us! Exit code was 1


-- 
Sybren A. Stüvel

https://stuvelfoto.nl/
https://stuvel.eu/




-- 
Sybren A. Stüvel

https://cloud.blender.org/
https://stuvelfoto.nl/
https://stuvel.eu/


More information about the Soc-2017-dev mailing list