This commit is contained in:
Rikko 2022-08-31 19:26:52 +05:30
parent ec9f1e1b71
commit 29f531e515
4 changed files with 25 additions and 21 deletions

View file

@ -119,7 +119,7 @@ class StartupTasks:
def setup_config(self): def setup_config(self):
# is_config_updated = False # is_config_updated = False
existing_plugin_manager_config = copy.deepcopy( existing_plugin_manager_config = copy.deepcopy(
ba.app.config.get("Community Plugin Manager")) ba.app.config.get("Community Plugin Manager"))
plugin_manager_config = ba.app.config.setdefault("Community Plugin Manager", {}) plugin_manager_config = ba.app.config.setdefault("Community Plugin Manager", {})
plugin_manager_config.setdefault("Custom Sources", []) plugin_manager_config.setdefault("Custom Sources", [])
@ -534,7 +534,8 @@ class PluginVersion:
local_plugin = await self._download() local_plugin = await self._download()
except MD5CheckSumFailedError: except MD5CheckSumFailedError:
if not suppress_screenmessage: if not suppress_screenmessage:
ba.screenmessage(f"{self.plugin.name} failed MD5 checksum during installation", color=(1, 0, 0)) ba.screenmessage(
f"{self.plugin.name} failed MD5 checksum during installation", color=(1, 0, 0))
return False return False
else: else:
if not suppress_screenmessage: if not suppress_screenmessage:
@ -621,7 +622,8 @@ class Plugin:
def get_local(self): def get_local(self):
if not self.is_installed: if not self.is_installed:
raise PluginNotInstalledError(f"{self.name} needs to be installed to get its local plugin.") raise PluginNotInstalledError(
f"{self.name} needs to be installed to get its local plugin.")
if self._local_plugin is None: if self._local_plugin is None:
self._local_plugin = PluginLocal(self.name) self._local_plugin = PluginLocal(self.name)
return self._local_plugin return self._local_plugin
@ -1244,14 +1246,14 @@ class PluginManagerWindow(ba.Window):
back_pos_y = self._height - (95 if _uiscale is ba.UIScale.SMALL else back_pos_y = self._height - (95 if _uiscale is ba.UIScale.SMALL else
65 if _uiscale is ba.UIScale.MEDIUM else 50) 65 if _uiscale is ba.UIScale.MEDIUM else 50)
self._back_button = back_button = ba.buttonwidget( self._back_button = back_button = ba.buttonwidget(
parent=self._root_widget, parent=self._root_widget,
position=(back_pos_x, back_pos_y), position=(back_pos_x, back_pos_y),
size=(60, 60), size=(60, 60),
scale=0.8, scale=0.8,
label=ba.charstr(ba.SpecialChar.BACK), label=ba.charstr(ba.SpecialChar.BACK),
# autoselect=True, # autoselect=True,
button_type='backSmall', button_type='backSmall',
on_activate_call=self._back) on_activate_call=self._back)
ba.containerwidget(edit=self._root_widget, cancel_button=back_button) ba.containerwidget(edit=self._root_widget, cancel_button=back_button)
@ -1460,9 +1462,9 @@ class PluginManagerWindow(ba.Window):
def draw_refresh_icon(self): def draw_refresh_icon(self):
refresh_pos_x = (610 if _uiscale is ba.UIScale.SMALL else refresh_pos_x = (610 if _uiscale is ba.UIScale.SMALL else
500 if _uiscale is ba.UIScale.MEDIUM else 510) 500 if _uiscale is ba.UIScale.MEDIUM else 510)
refresh_pos_y = (180 if _uiscale is ba.UIScale.SMALL else refresh_pos_y = (180 if _uiscale is ba.UIScale.SMALL else
108 if _uiscale is ba.UIScale.MEDIUM else 120) 108 if _uiscale is ba.UIScale.MEDIUM else 120)
loop = asyncio.get_event_loop() loop = asyncio.get_event_loop()
controller_button = ba.buttonwidget(parent=self._root_widget, controller_button = ba.buttonwidget(parent=self._root_widget,
# autoselect=True, # autoselect=True,
@ -1719,8 +1721,8 @@ class PluginManagerSettingsWindow(popup.PopupWindow):
loop.create_task( loop.create_task(
self.update( self.update(
*plugin_manager_update_available *plugin_manager_update_available
) )
), ),
textcolor=b_text_color, textcolor=b_text_color,
button_type='square', button_type='square',
text_scale=1, text_scale=1,

View file

@ -1,2 +0,0 @@
[flake8]
max-line-length = 100

View file

@ -71,7 +71,8 @@ class CategoryVersionMetadata:
def get_plugins_having_null_version_values(self): def get_plugins_having_null_version_values(self):
for plugin_name, plugin_metadata in self.category_metadata["plugins"].items(): for plugin_name, plugin_metadata in self.category_metadata["plugins"].items():
latest_version_name, latest_version_metadata = tuple(plugin_metadata["versions"].items())[0] latest_version_name, latest_version_metadata = tuple(
plugin_metadata["versions"].items())[0]
if latest_version_metadata is None: if latest_version_metadata is None:
plugin_path = f"{os.path.join(self.category_metadata_base, f'{plugin_name}.py')}" plugin_path = f"{os.path.join(self.category_metadata_base, f'{plugin_name}.py')}"
yield NullVersionedPlugin( yield NullVersionedPlugin(

View file

@ -129,11 +129,13 @@ class BaseCategoryMetadataTestCases:
api_version = self.api_version_regexp.search(content).group() api_version = self.api_version_regexp.search(content).group()
self.assertEqual(md5sum, version_metadata["md5sum"]) self.assertEqual(md5sum, version_metadata["md5sum"])
self.assertEqual(int(api_version.decode("utf-8")), version_metadata["api_version"]) self.assertEqual(int(api_version.decode("utf-8")),
version_metadata["api_version"])
def test_latest_version(self): def test_latest_version(self):
for plugin_name, plugin_metadata in self.content["plugins"].items(): for plugin_name, plugin_metadata in self.content["plugins"].items():
latest_version_name, latest_version_metadata = tuple(plugin_metadata["versions"].items())[0] latest_version_name, latest_version_metadata = tuple(
plugin_metadata["versions"].items())[0]
plugin = self.current_path / self.category / f"{plugin_name}.py" plugin = self.current_path / self.category / f"{plugin_name}.py"
with open(plugin, "rb") as fin: with open(plugin, "rb") as fin:
content = fin.read() content = fin.read()
@ -142,7 +144,8 @@ class BaseCategoryMetadataTestCases:
api_version = self.api_version_regexp.search(content).group() api_version = self.api_version_regexp.search(content).group()
self.assertEqual(md5sum, latest_version_metadata["md5sum"]) self.assertEqual(md5sum, latest_version_metadata["md5sum"])
self.assertEqual(int(api_version.decode("utf-8")), latest_version_metadata["api_version"]) self.assertEqual(int(api_version.decode("utf-8")),
latest_version_metadata["api_version"])
class TestUtilitiesCategoryMetadata(BaseCategoryMetadataTestCases.BaseTest): class TestUtilitiesCategoryMetadata(BaseCategoryMetadataTestCases.BaseTest):