Files
plugin-architecture/model/models.py
2020-06-11 14:23:25 +02:00

48 lines
780 B
Python

from dataclasses import dataclass
from typing import List, Optional
@dataclass
class PluginRunTimeOption(object):
main: str
tests: Optional[List[str]]
@dataclass
class DependencyModule:
name: str
version: str
def __str__(self) -> str:
return f'{self.name}=={self.version}'
@dataclass
class PluginConfig:
name: str
alias: str
creator: str
runtime: PluginRunTimeOption
repository: str
description: str
version: str
requirements: Optional[List[DependencyModule]]
@dataclass
class Meta:
name: str
description: str
version: str
def __str__(self) -> str:
return f'{self.name}: {self.version}'
@dataclass
class Device:
name: str
firmware: int
protocol: str
errors: List[int]