Version:\s+')
+
+
+def esoui(url: str):
+ addon_name = esoui_prefix.split(url)[1]
+ addon_name = addon_name.split(".html")[0]
+
+ response = requests.get(url)
+ version_line = esoui_version_html.search(response.text)
+ version = esoui_version_split.split(version_line.group(0))[1]
+
+ esoui_dowload_uri = url.replace("info", "download")
+ response = requests.head(esoui_dowload_uri)
+ response.raise_for_status()
+
+ return addon_name, version, esoui_dowload_uri
diff --git a/banana/scripts.py b/banana/scripts.py
index 893c26e..b612433 100644
--- a/banana/scripts.py
+++ b/banana/scripts.py
@@ -1,42 +1,9 @@
-import requests
-import re
import logging
from pathlib import Path
from argparse import ArgumentParser
from . import config
-
-
-def esoui_parse(addon_urls: list):
- esoui_prefix = re.compile("https://www.esoui.com/downloads/info[0-9]+\-")
- esoui_names = list()
-
- for url in addon_urls:
- addon = esoui_prefix.split(url)[1]
- addon = addon.split(".html")[0]
- esoui_names.append(addon)
-
- logging.info(esoui_names)
-
- esoui_version_html = re.compile('
Version:\s+[^<]+')
- esoui_version_split = re.compile('
Version:\s+')
- esoui_versions = list()
-
- for url in addon_urls:
- response = requests.get(url)
- version_line = esoui_version_html.search(response.text)
- version = esoui_version_split.split(version_line.group(0))[1]
- esoui_versions.append(version)
-
- esoui_dowload_uris = list()
-
- for url in addon_urls:
- esoui_dowload_uri = url.replace("info", "download")
- response = requests.head(esoui_dowload_uri)
- response.raise_for_status()
- esoui_dowload_uris.append(esoui_dowload_uri)
-
- return esoui_names, esoui_versions, esoui_dowload_uris
+from . import parsing
def periodical_script():
@@ -83,5 +50,7 @@ def periodical_script():
logging.info(f'addons list created at "{config_path}"')
addon_urls = config_current.get("addons")
- esoui = esoui_parse(addon_urls)
- logging.info(esoui)
+
+ for url in addon_urls:
+ esoui = parsing.esoui(url)
+ logging.info(esoui)