Sort packagelist
This commit is contained in:
@@ -228,15 +228,20 @@ class Repository:
|
|||||||
self.set_from_dict(repodict)
|
self.set_from_dict(repodict)
|
||||||
|
|
||||||
|
|
||||||
def to_dict(self) -> dict:
|
def to_dict(self, sort=False) -> dict:
|
||||||
"""
|
"""
|
||||||
Return a dict representation of the repository
|
Return a dict representation of the repository
|
||||||
"""
|
"""
|
||||||
self.log.debug("Rendering to a dict")
|
if self.packages:
|
||||||
self.log.debug("url: %s", self.url)
|
packages = [p.to_dict() for p in self.packages]
|
||||||
|
if sort:
|
||||||
|
packages.sort(key=lambda p: p['bl_info']['name'].lower())
|
||||||
|
else:
|
||||||
|
packages = []
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'name': self.name,
|
'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,
|
'url': self.url,
|
||||||
'_headers': self._headers,
|
'_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))
|
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
|
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():
|
def debug_hang():
|
||||||
"""Hangs for an hour. For testing purposes only."""
|
"""Hangs for an hour. For testing purposes only."""
|
||||||
|
Reference in New Issue
Block a user