Merge pull request #407 from Loup-Garou911XD/main

cleanup for #405
This commit is contained in:
Loup 2025-12-10 19:50:03 +05:30 committed by GitHub
commit 14ad3668b3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 18 additions and 12 deletions

View file

@ -30,11 +30,11 @@ jobs:
output1=$(python3 test/get_latest.py get_latest_plugman_version)
{
echo "changelog<<EOF"
python3 test/get_changes.py "$(python3 test/get_latest.py get_latest_version)"
python3 test/get_changelog.py "$(python3 test/get_latest.py get_latest_version)"
echo EOF
} >> "$GITHUB_OUTPUT"
output2=$(python3 test/get_latest.py get_latest_api)
output3=$(python3 test/version_is_lower.py ${{ steps.previoustag.outputs.tag }})
output3=$(python3 test/versioning_tools.py ${{ steps.previoustag.outputs.tag }})
echo "latestVersion=$output1" >> $GITHUB_OUTPUT
echo "latestAPI=$output2" >> $GITHUB_OUTPUT
echo "shouldRun=$output3" >> $GITHUB_OUTPUT

View file

@ -118,7 +118,7 @@ class Main(babase.Plugin):
```
You'll have to fork this repository and add your `sample_plugin.py` plugin file into the appropriate directory, which for
utility plugin is [plugins/utilities](plugins/utilities). After that, plugin getails and version values will automatically be populated through github-actions in [plugins/utilities.json](plugins/utilities.json)(along with formatting your code as per PEP8 style
utility plugin is [plugins/utilities](plugins/utilities). After that, plugin details and version values will automatically be populated through github-actions in [plugins/utilities.json](plugins/utilities.json)(along with formatting your code as per PEP8 style
guide) once you open a pull request.
### Updating a Plugin

View file

@ -1,7 +1,9 @@
import sys
import json
import ast
import os
import get_latest
import versioning_tools
DEBUG = True
@ -11,7 +13,7 @@ def debug_print(*args, **kwargs):
print(*args, **kwargs)
def get_latest_version(plugin_name, category):
def get_latest_version(plugin_name, category) -> str:
filepaths = {
"minigames": "plugins/minigames.json",
"utilities": "plugins/utilities.json",
@ -49,8 +51,9 @@ def update_plugin_json(plugin_info, category):
try:
# Check if plugin is already in the json
plugin = data["plugins"][name]
plugman_version = int(get_latest_version(name, category).replace(".", ""))
current_version = int(plugin_info["version"].replace(".", ""))
plugman_version = int(versioning_tools.semantic_to_str(
get_latest_version(name, category)))
current_version = int(versioning_tools.semantic_to_str(plugin_info["version"]))
# Ensure the version is always greater from the already released version
if current_version > plugman_version:
plugin["versions"][plugin_info["version"]] = None
@ -77,13 +80,13 @@ def update_plugin_json(plugin_info, category):
def extract_plugman(plugins):
for plugin in plugins:
if "plugins/" in plugin:
if "plugins"+os.sep in plugin and plugin.endswith(".py"):
debug_print(plugin)
try:
# Split the path and get the part after 'plugins/'
parts = plugin.split("plugins/")[1].split("/")
file_name_no_extension = plugin.split("/")[-1].replace(".py", "")
parts = plugin.split("plugins"+os.sep)[1].split(os.sep)
file_name_no_extension = plugin.split(os.sep)[-1].replace(".py", "")
category = parts[0] # First part after plugins/
except ValueError:
if "plugin_manager" in plugin:

View file

@ -1,16 +1,19 @@
import sys
from get_latest import get_latest_version
"""if called directly from command line, it will check if given version is lower
than latest version in index.json"""
def semantic_to_str(semantic_version: str):
"""Convert version in the form of v1.2.3 to 001002003
for comparing 2 version in semantic versioning format"""
out = ""
for i in (semantic_version.split(".")):
for i in semantic_version.split("."):
if len(i) == 1:
out += "00"+i
out += "00" + i
if len(i) == 2:
out += "0"+i
out += "0" + i
return out