From a5daac007d94df55ea3b31048dcd707e260f3311 Mon Sep 17 00:00:00 2001 From: JoYo <> Date: Tue, 14 Dec 2021 19:01:38 -0500 Subject: [PATCH] live addon parsing --- banana/parsing.py | 22 ++++++++++++++++++++-- banana/scripts.py | 10 ++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/banana/parsing.py b/banana/parsing.py index 41ff3a1..ba1fe07 100644 --- a/banana/parsing.py +++ b/banana/parsing.py @@ -1,10 +1,15 @@ -import requests -import re +from pathlib import Path import logging +import re +import requests esoui_prefix = re.compile("https://www.esoui.com/downloads/info[0-9]+\-") esoui_version_html = re.compile('Version:\s+[^<]+') esoui_version_split = re.compile('Version:\s+') +live_title = re.compile("##\s+Title:\s+.*") +live_title_split = re.compile("##\s+Title:\s+") +live_version = re.compile("##\s+Version:\s+.*") +live_version_split = re.compile("##\s+Version:\s+") def esoui(url: str): @@ -20,3 +25,16 @@ def esoui(url: str): response.raise_for_status() return addon_name, version, esoui_dowload_uri + + +def live_addon(path: Path): + for meta in path.glob("*.txt"): + with meta.open("r") as file_open: + meta_data = file_open.read() + + title = live_title.search(meta_data) + title = live_title_split.split(title.group(0))[1] + version = live_version.search(meta_data) + version = live_version_split.split(version.group(0))[1] + + return title, version diff --git a/banana/scripts.py b/banana/scripts.py index b612433..5fbb9a6 100644 --- a/banana/scripts.py +++ b/banana/scripts.py @@ -54,3 +54,13 @@ def periodical_script(): for url in addon_urls: esoui = parsing.esoui(url) logging.info(esoui) + + live_path = Path(args.eso_live_path).joinpath("AddOns") + + if not live_path.is_dir(): + logging.error(f"eso_live_path_invalid_dir {live_path}") + return + + for child in live_path.iterdir(): + live_addon = parsing.live_addon(child) + logging.info(live_addon)