Sort packagelist
This commit is contained in:
@@ -228,15 +228,20 @@ class Repository:
|
||||
self.set_from_dict(repodict)
|
||||
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
def to_dict(self, sort=False) -> dict:
|
||||
"""
|
||||
Return a dict representation of the repository
|
||||
"""
|
||||
self.log.debug("Rendering to a dict")
|
||||
self.log.debug("url: %s", self.url)
|
||||
if self.packages:
|
||||
packages = [p.to_dict() for p in self.packages]
|
||||
if sort:
|
||||
packages.sort(key=lambda p: p['bl_info']['name'].lower())
|
||||
else:
|
||||
packages = []
|
||||
|
||||
return {
|
||||
'name': self.name,
|
||||
'packages': [p.to_dict() for p in self.packages] if self.packages is not None else None,
|
||||
'packages': packages,
|
||||
'url': self.url,
|
||||
'_headers': self._headers,
|
||||
}
|
||||
@@ -497,7 +502,7 @@ def refresh(pipe_to_blender, storage_path: pathlib.Path, repository_url: str):
|
||||
pipe_to_blender.send(DownloadError(err.status_code, err.message))
|
||||
|
||||
repo.to_file(repo_path) # TODO: this always writes even if repo wasn't changed
|
||||
pipe_to_blender.send(Result(repo.to_dict()))
|
||||
pipe_to_blender.send(Result(repo.to_dict(sort=True)))
|
||||
|
||||
def debug_hang():
|
||||
"""Hangs for an hour. For testing purposes only."""
|
||||
|
Reference in New Issue
Block a user