simplified parsing loop
							parent
							
								
									f43fb6c80c
								
							
						
					
					
						commit
						368413bb51
					
				|  | @ -0,0 +1,22 @@ | |||
| import requests | ||||
| import re | ||||
| import logging | ||||
| 
 | ||||
| esoui_prefix = re.compile("https://www.esoui.com/downloads/info[0-9]+\-") | ||||
| esoui_version_html = re.compile('<div\s+id="version">Version:\s+[^<]+') | ||||
| esoui_version_split = re.compile('<div\s+id="version">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 | ||||
|  | @ -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('<div\s+id="version">Version:\s+[^<]+') | ||||
|     esoui_version_split = re.compile('<div\s+id="version">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) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 JoYo
						JoYo