CURA-5035 Crash because old packages don't have 'author_id'

This commit is contained in:
Ian Paschal 2018-05-01 10:45:22 +02:00
parent 51abd32328
commit 096f304aef
3 changed files with 21 additions and 18 deletions

View file

@ -158,15 +158,17 @@ class CuraPackageManager(QObject):
return installed_packages_dict return installed_packages_dict
def __convertPluginMetadataToPackageMetadata(self, plugin_metadata: dict) -> dict: def __convertPluginMetadataToPackageMetadata(self, plugin_metadata: dict) -> dict:
package_metadata = {"package_id": plugin_metadata["id"], package_metadata = {
"package_id": plugin_metadata["id"],
"package_type": "plugin", "package_type": "plugin",
"display_name": plugin_metadata["plugin"]["name"], "display_name": plugin_metadata["plugin"]["name"],
"description": plugin_metadata["plugin"].get("description"), "description": plugin_metadata["plugin"].get("description"),
"package_version": plugin_metadata["plugin"]["version"], "package_version": plugin_metadata["plugin"]["version"],
"cura_version": int(plugin_metadata["plugin"]["api"]), "cura_version": int(plugin_metadata["plugin"]["api"]),
"website": "", "website": "",
"author_id": plugin_metadata["plugin"].get("author", "UnknownID"),
"author": { "author": {
"author_id": plugin_metadata["plugin"].get("author", ""), "author_id": plugin_metadata["plugin"].get("author", "UnknownID"),
"display_name": plugin_metadata["plugin"].get("author", ""), "display_name": plugin_metadata["plugin"].get("author", ""),
"email": "", "email": "",
"website": "", "website": "",

View file

@ -23,7 +23,7 @@ Item
bottomMargin: UM.Theme.getSize("wide_margin").height bottomMargin: UM.Theme.getSize("wide_margin").height
top: parent.top top: parent.top
} }
height: childrenRect.height + UM.Theme.getSize("wide_margin").height height: childrenRect.height + 2 * UM.Theme.getSize("wide_margin").height
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
Repeater Repeater
{ {

View file

@ -43,13 +43,14 @@ class PackagesModel(ListModel):
items = [] items = []
for package in self._metadata: for package in self._metadata:
print(package["author"])
items.append({ items.append({
"id": package["package_id"], "id": package["package_id"],
"type": package["package_type"], "type": package["package_type"],
"name": package["display_name"], "name": package["display_name"],
"version": package["package_version"], "version": package["package_version"],
"author_id": package["author"]["author_id"], "author_id": package["author"]["author_id"] if "author_id" in package["author"] else package["author"]["name"],
"author_name": package["author"]["display_name"], "author_name": package["author"]["display_name"] if "display_name" in package["author"] else package["author"]["name"],
"author_email": package["author"]["email"] if "email" in package["author"] else "None", "author_email": package["author"]["email"] if "email" in package["author"] else "None",
"description": package["description"], "description": package["description"],
"icon_url": package["icon_url"] if "icon_url" in package else None, "icon_url": package["icon_url"] if "icon_url" in package else None,