fix for LibAddonMenu using stupid versioning
							parent
							
								
									a2825684f7
								
							
						
					
					
						commit
						68ad8fe0dd
					
				|  | @ -27,7 +27,7 @@ Follow the installation instructions for your `platform`: | |||
| - [Windows](#windows-installation) | ||||
| - [Linux](#linux-installation) | ||||
| 
 | ||||
| On first run, the `addons.text` file will be created in your ESO live directory. | ||||
| On first run, the `addons.list` file will be created in your ESO live directory. | ||||
| It will look similar to the following: | ||||
| 
 | ||||
| ``` | ||||
|  | @ -117,12 +117,12 @@ sudo systemctl enable banana.timer | |||
| sudo systemctl enable banana.service | ||||
| ``` | ||||
| 
 | ||||
| 3. Now that `eso-banana-script` has been installed, run it once to create the `addons.text` file. | ||||
| 3. Now that `eso-banana-script` has been installed, run it once to create the `addons.list` file. | ||||
| If the mentioned command is missing your may need to restart the TTY. | ||||
| 
 | ||||
| 4. The created file can be edited with vim to include additional adddon URLs at the following path. | ||||
| 
 | ||||
| `vim "~/.steam/steam/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/Documents/Elder Scrolls Online/live/addons.text"` | ||||
| `vim "~/.steam/steam/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/Documents/Elder Scrolls Online/live/addons.list"` | ||||
| 
 | ||||
| It will look similar to the following: | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										20
									
								
								banana.py
								
								
								
								
							
							
						
						
									
										20
									
								
								banana.py
								
								
								
								
							|  | @ -6,6 +6,7 @@ from pathlib import Path | |||
| from platform import system | ||||
| from shutil import rmtree, copytree | ||||
| from tempfile import TemporaryDirectory | ||||
| from typing import Tuple | ||||
| from zipfile import ZipFile | ||||
| import logging | ||||
| import re | ||||
|  | @ -40,6 +41,7 @@ def live_to_esoui(*, path: Path, esoui_uris: list): | |||
|             esoui_name, esoui_version, esoui_uri = _name, _version, _uri | ||||
|             break | ||||
| 
 | ||||
| 
 | ||||
|     if not esoui_name: | ||||
|         rmtree(live_path) | ||||
|         logging.info(f"{live_name} addon removed from: {live_path}") | ||||
|  | @ -113,7 +115,7 @@ live_version = re.compile("##\s+Version:\s+.*") | |||
| live_version_split = re.compile("##\s+Version:\s+") | ||||
| 
 | ||||
| 
 | ||||
| def esoui_parse(url: str): | ||||
| def esoui_parse(url: str) -> Tuple[str, version.Version, str]: | ||||
|     addon_name = esoui_prefix.split(url)[1] | ||||
|     addon_name = addon_name.split(".html")[0] | ||||
| 
 | ||||
|  | @ -122,7 +124,11 @@ def esoui_parse(url: str): | |||
| 
 | ||||
|     version_line = esoui_version_html.search(response.text).group(0) | ||||
|     _version = esoui_version_split.split(version_line)[1] | ||||
|     _version = version.parse(_version) | ||||
|     try: | ||||
|         _version = version.parse(_version) | ||||
|     except version.InvalidVersion: | ||||
|         _version = version.parse("1") | ||||
|         return | ||||
| 
 | ||||
|     esoui_page_url = url.replace("info", "download").replace(".html", "") | ||||
| 
 | ||||
|  | @ -161,7 +167,10 @@ def parsing_live(path: Path): | |||
|     if result: | ||||
|         _version = result.group(0) | ||||
|         _version = live_version_split.split(_version)[1] | ||||
|         _version = version.parse(_version) | ||||
|         try: | ||||
|             _version = version.parse(_version) | ||||
|         except version.InvalidVersion: | ||||
|             _version = version.parse("0") | ||||
|     else: | ||||
|         _version = version.parse("0") | ||||
| 
 | ||||
|  | @ -228,7 +237,7 @@ def periodical_script(): | |||
|     logging.info(args) | ||||
| 
 | ||||
| 
 | ||||
|     config_path = Path(args.eso_live_path).joinpath("addons.text") | ||||
|     config_path = Path(args.eso_live_path).joinpath("addons.list") | ||||
| 
 | ||||
|     if not config_path.exists(): | ||||
|         config_new(config_path) | ||||
|  | @ -244,7 +253,8 @@ def periodical_script(): | |||
| 
 | ||||
|     for url in config_current: | ||||
|         esoui = esoui_parse(url) | ||||
|         esoui_uris.append(esoui) | ||||
|         if esoui: | ||||
|             esoui_uris.append(esoui) | ||||
| 
 | ||||
|     for child in live_path.iterdir(): | ||||
|         live_to_esoui(path=child, esoui_uris=esoui_uris) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 JoYo
						JoYo