Sort packagelist

This commit is contained in:
Ellwood Zwovic
2017-07-13 22:32:51 -07:00
parent 29e2db8952
commit 745331a927

View File

@@ -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."""