Source code for mcph.models.plugin
"""Module for `Plugin` model."""
from typing import Optional
[docs]class Plugin:
"""Create object for plugin.
Attributes:
name: Plugin name.
version: Plugin version.
last_version: Latest available plugin version.
file_path: Path to file, where this plugin is.
update_available: Is update available?
"""
def __init__(
self, name: str, version: str, last_version: str, file_path: str, update_available: Optional[bool] = None
) -> None:
"""__init__ method.
Args:
name: Plugin name.
version: Plugin version.
last_version: Latest available plugin version.
file_path: Path to file, where this plugin is.
update_available: Is update available?
"""
self.name = name
self.version = version
self.last_version = last_version
self.file_path = file_path
self.update_available = self.is_update_available() if update_available is None else update_available
[docs] def is_update_available(self) -> Optional[bool]:
"""Checker for plugin, answer on question 'is update available?'.
Returns:
True if update available, False if not and None if we can't check.
"""
if self.last_version == "Not Found":
return None
if (self.version in self.last_version) or (self.last_version in self.version):
return False
return True