Add guided device add functionality.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import json
|
||||
import logging
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
@@ -11,12 +12,12 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
class DeviceMetadata:
|
||||
def __init__(self, device_name, description="", model="", manufacturer="", firmware_version="", device_type="",
|
||||
supported_interfaces="", companion_applications="", save_to_file=None):
|
||||
supported_interfaces="", companion_applications="", save_to_file=None, aliases=None):
|
||||
self.device_id = str(uuid.uuid4())
|
||||
self.device_name = device_name
|
||||
cn, aliases = make_canonical_name(device_name)
|
||||
logger.debug(f'cn, aliases = {cn}, {str(aliases)}')
|
||||
self.aliases = aliases
|
||||
cn, default_aliases = make_canonical_name(device_name)
|
||||
logger.debug(f'cn, default aliases = {cn}, {str(default_aliases)}')
|
||||
self.aliases = default_aliases if aliases is None else default_aliases + aliases
|
||||
self.canonical_name = cn
|
||||
self.date_added = datetime.now().isoformat()
|
||||
self.description = description
|
||||
@@ -42,3 +43,8 @@ class DeviceMetadata:
|
||||
print(f'Printing attribute value pairs in {__name__}')
|
||||
for attr, value in self.__dict__.items():
|
||||
print(f'{attr}: {value}')
|
||||
|
||||
def save_metadata_to_file(self, metadata_path):
|
||||
with open(metadata_path, 'w') as metadata_file:
|
||||
json.dump(self.__dict__, metadata_file, indent=4)
|
||||
click.echo(f'Metadata saved to {metadata_path}')
|
||||
|
||||
Reference in New Issue
Block a user