Improve metadata display

This commit is contained in:
Ellwood Zwovic
2017-07-22 18:44:44 -07:00
parent c2f17de704
commit 6752108930
2 changed files with 193 additions and 104 deletions

View File

@@ -17,6 +17,7 @@ class Package:
self.installed = False
self.repository = None
self.installed_location = None
def to_dict(self) -> dict:
"""
@@ -39,21 +40,96 @@ class Package:
if package_dict.get(attr) is not None:
setattr(self, attr, package_dict[attr])
#bl_info convenience getters
# bl_info convenience getters
# required fields
@property
def name(self) -> str:
"""Get name from bl_info"""
return self.bl_info['name']
@property
def description(self) -> str:
"""Get description from bl_info"""
return self.bl_info['description']
try:
return self.bl_info['name']
except KeyError:
return None
@property
def version(self) -> tuple:
"""Get version from bl_info"""
return tuple(self.bl_info['version'])
try:
return tuple(self.bl_info['version'])
except KeyError:
return None
@property
def blender(self) -> tuple:
"""Get blender from bl_info"""
try:
return self.bl_info['blender']
except KeyError:
return None
# optional fields
@property
def description(self) -> str:
"""Get description from bl_info"""
try:
return self.bl_info['description']
except KeyError:
return None
@property
def author(self) -> str:
"""Get author from bl_info"""
try:
return self.bl_info['author']
except KeyError:
return None
@property
def category(self) -> str:
"""Get category from bl_info"""
try:
return self.bl_info['category']
except KeyError:
return None
@property
def location(self) -> str:
"""Get location from bl_info"""
try:
return self.bl_info['location']
except KeyError:
return None
@property
def support(self) -> str:
"""Get support from bl_info"""
try:
return self.bl_info['support']
except KeyError:
return None
@property
def warning(self) -> str:
"""Get warning from bl_info"""
try:
return self.bl_info['warning']
except KeyError:
return None
@property
def wiki_url(self) -> str:
"""Get wiki_url from bl_info"""
try:
return self.bl_info['wiki_url']
except KeyError:
return None
@property
def tracker_url(self) -> str:
"""Get tracker_url from bl_info"""
try:
return self.bl_info['tracker_url']
except KeyError:
return None
# @classmethod
# def from_dict(cls, package_dict: dict):
@@ -83,6 +159,7 @@ class Package:
pkg = cls()
pkg.files = [filepath.name]
pkg.installed_location = str(filepath)
try:
pkg.bl_info = module.bl_info
except AttributeError as err: