Improve metadata display
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user