|
02/18/22, 01:00 AM | #1 |
|
![]() This was just a quick and dirty creation today since I needed to export a human-readable list of all my addons.
It reads your minion.xml file for your list of currently installed addons, and retrieves the names and URLs of each, and then outputs it in alphabetical order. You can easily pipe it into a text file for saving. Most importantly: The addon names (and URLs) are all fetched directly from ESOUI, which means that your friends can effortlessly copy-paste each exact addon title and find it in Minion. And if they're unsure which exact addon you meant, then they can just click "Visit Webpage" in Minion to find the one whose URL matches the list you gave them. It's written with native Python 3 libraries for maximum portability since it doesn't have any external dependencies. Those that know how to use Python already know how to use it. Anyone else, feel free to ask those that do. ![]() If anyone wants to develop this further, feel free to take the code/inspiration and do whatever you want with it! I just needed a quick little tool, so my work here is done and no further support will be provided at all. ![]() How to Use: 1. Install Python if you don't have it already. 2. Save this script (code below) as C:\Users\YourNameHere\.minion\export_minion_addons.py (important, but replace "YourNameHere" with your actual username). 3. Open a PowerShell/Command Prompt window, type cd "C:\Users\YourNameHere\.minion" to navigate to the folder. 4. Run it with this command: python export_minion_addons.py 5. If you want to save the output to a file directly, run it with this command: python export_minion_addons.py > my_addon_list.txt (will save it to "my_addon_list.txt" in the minion folder). That's the extent of tutorial I have energy to provide here. It probably took longer to write this text than the actual tool itself. Alright, here's the code: Code:
# Minion Addon List Exporter v1.0 by Messajah # Project Page: https://www.esoui.com/forums/showthread.php?t=10077 from urllib.request import urlopen, Request from xml.dom import minidom import re installed_addons = {} with minidom.parse("minion.xml") as dom: minion = dom.getElementsByTagName("minion")[0] games = minion.getElementsByTagName("games")[0] for game in games.getElementsByTagName("game"): if game.getAttribute("game-id") != "ESO": continue print("Fetching Minion addon information from ESOUI.com...") addons = game.getElementsByTagName("addons")[0] for addon in addons.getElementsByTagName("addon"): uid = addon.getAttribute("uid") assert isinstance(uid, str) and len(uid) > 0, "uid must be a non-empty string" print(".", end="", flush=True) # Progress indicator. r = urlopen( Request( f"https://www.esoui.com/downloads/download{uid}", data=None, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.85 Safari/537.36" }, ) ) body = r.read() assert isinstance(body, bytes), "expected a bytes object when reading webpage" body = body.decode("iso-8859-1") # Yeah, ESOUI uses this ancient text encoding from the year 1985... haha. assert isinstance(body, str) and len(body) > 0, "esoui data must be a non-empty string. webpage download failed?" # Look for the info-page link to figure out the official addon URL and full title. # Example: <a href="info1703-CircularVotansMiniMap.html">Circular Votan's Mini Map</a> m = re.search(r"<a href=\"(info\d+-.+?\.html)\">(.+?)<\/a>", body) assert m, "unable to extract addon information from fetched webpage" title = m.group(2) url = f"https://www.esoui.com/downloads/{m.group(1)}" installed_addons[url] = title print("\n\n\n--- Installed Addons: ---\n") # Present the addon list alphabetically. for addon in sorted(installed_addons.items(), key=lambda x:x[1]): print(f"## {addon[1]}\n{addon[0]}\n") print("--- End of Addon List ---\n") ![]() Example Output: See next message below. Last edited by Messajah : 02/18/22 at 09:38 AM. |
![]() |
02/18/22, 01:04 AM | #2 |
|
Here's example output. This is my own personal list of all my installed addons in Minion. It's an alphabetically sorted list which is basically Markdown-ish but easily readable as plain text too.
The markdown format makes it easy to share your list to places like Reddit (where you can set your post's format to "markdown mode" and then paste this to post a nicely formatted message). Code:
## Action Duration Reminder https://www.esoui.com/downloads/info1536-ActionDurationReminder.html ## Advanced Filters - FCOItemSaver filters PLUGIN https://www.esoui.com/downloads/info782-AdvancedFilters-FCOItemSaverfiltersPLUGIN.html ## Advanced Filters - TTC Filters https://www.esoui.com/downloads/info2794-AdvancedFilters-TTCFilters.html ## Advanced Filters - Updated https://www.esoui.com/downloads/info2215-AdvancedFilters-Updated.html ## Armory Style Manager https://www.esoui.com/downloads/info3219-ArmoryStyleManager.html ## Calamath's BookFont Stylist https://www.esoui.com/downloads/info2505-CalamathsBookFontStylist.html ## Caro's Skill and Champion Point Saver (CP 2.0) https://www.esoui.com/downloads/info2901-CarosSkillandChampionPointSaverCP2.0.html ## Circular Votan's Mini Map https://www.esoui.com/downloads/info1703-CircularVotansMiniMap.html ## DecoTrack https://www.esoui.com/downloads/info2100-DecoTrack.html ## Detailed Research Scrolls https://www.esoui.com/downloads/info1761-DetailedResearchScrolls.html ## Essential Housing Tools https://www.esoui.com/downloads/info1959-EssentialHousingTools.html ## FCO ItemSaver https://www.esoui.com/downloads/info630-FCOItemSaver.html ## Group Synergizer - Enhanced LFG Features | Auto Accept Que | Better Notifications https://www.esoui.com/downloads/info2286-GroupSynergizer-EnhancedLFGFeaturesAutoAcceptQueBetterNotifications.html ## LibAddonMenu https://www.esoui.com/downloads/info7-LibAddonMenu.html ## LibAddonMenu - OrderListBox widget https://www.esoui.com/downloads/info3080-LibAddonMenu-OrderListBoxwidget.html ## LibAsync https://www.esoui.com/downloads/info2125-LibAsync.html ## LibCustomMenu https://www.esoui.com/downloads/info1146-LibCustomMenu.html ## LibDialog - Custom confirmation dialog with 2 buttons https://www.esoui.com/downloads/info1931-LibDialog-Customconfirmationdialogwith2buttons.html ## LibFeedback https://www.esoui.com/downloads/info2079-LibFeedback.html ## LibFilters-3.0 https://www.esoui.com/downloads/info2343-LibFilters-3.0.html ## LibGetText https://www.esoui.com/downloads/info2276-LibGetText.html ## LibHarvensAddonsSettings https://www.esoui.com/downloads/info584-LibHarvensAddonsSettings.html ## LibMainMenu-2.0 https://www.esoui.com/downloads/info2118-LibMainMenu-2.0.html ## LibMediaProvider https://www.esoui.com/downloads/info56-LibMediaProvider.html ## LibMotifCategories https://www.esoui.com/downloads/info2409-LibMotifCategories.html ## LibResearch https://www.esoui.com/downloads/info517-LibResearch.html ## LibSets https://www.esoui.com/downloads/info2241-LibSets.html ## LibShifterBox https://www.esoui.com/downloads/info2444-LibShifterBox.html ## LibTableFunctions-1.0 https://www.esoui.com/downloads/info2624-LibTableFunctions-1.0.html ## LibUespQuestData https://www.esoui.com/downloads/info2484-LibUespQuestData.html ## Mer Character Sheet https://www.esoui.com/downloads/info742-MerCharacterSheet.html ## Research Assistant https://www.esoui.com/downloads/info111-ResearchAssistant.html ## Show TTC Price https://www.esoui.com/downloads/info3079-ShowTTCPrice.html ## SpentSkillPoints https://www.esoui.com/downloads/info303-SpentSkillPoints.html ## Tamriel Trade Centre https://www.esoui.com/downloads/info1245-TamrielTradeCentre.html ## The Questing Guide https://www.esoui.com/downloads/info2612-TheQuestingGuide.html ## TraitBuddy https://www.esoui.com/downloads/info1058-TraitBuddy.html ## Urich's Skill Point Finder https://www.esoui.com/downloads/info1863-UrichsSkillPointFinder.html ## Votan's Minimap https://www.esoui.com/downloads/info1399-VotansMinimap.html Last edited by Messajah : 02/18/22 at 09:38 AM. |
![]() |
02/19/22, 11:06 AM | #3 |
|
This isnt technically an addon... or is it?
But either way, I feel you should zip it and upload it as addon so ppl can find it via the minion search. If they read the description they will notice that they need python and what to do to get the list... |
![]() |
02/19/22, 11:27 AM | #4 |
If you upload it it should be added to the category "Utilities and tools" (https://www.esoui.com/downloads/cat88.html).
Not sure if this is supported by Minion 3 and will show then, as some categories are not shown. You need to test if you find any other tool listed there within Minion. But as you said, it's not addon and should not be uploaded as this. |
|
![]() |
03/04/22, 09:16 AM | #5 | |
|
I can confirm that everything that's been exclusively marked as "ESO Tools & Utilities" won't show up inside Minion search. For example, these are marked exclusively as tools and can't be found in Minion: - https://www.esoui.com/downloads/info...utoBackup.html - https://www.esoui.com/downloads/info...fDatabase.html Therefore it seems pointless to upload this, since @wambo wanted to be able to find it via Minion search. I can't achieve that, so this thread will have to be the distribution method. I'd much rather see a similar feature built into Minion itself, such as this idea for a very easy import/export system that's so simple that it could be added to Minion in a coffee break: ![]() https://www.esoui.com/forums/showpos...81&postcount=8 |
|
![]() |
03/04/22, 09:42 AM | #6 |
Okay, thanks for the test. It was the other category than which shows up in Minion but says it's a tool, and no addon:
"https://www.esoui.com/downloads/cat35.html" Developer utilities About Minion additions: I personally got no contact with the devs nor would I know how to request this. Maybe he reads your post at the Minion forums. Maybe the dev got the time to add it then, but I know he got very much work and personal life stuff around him, so this "coffeee break" could be out of scope... Last edited by Baertram : 03/04/22 at 09:44 AM. |
|
![]() |
03/27/22, 01:15 PM | #7 | |
Join Date: Mar 2022
Posts: 1
|
Thank you so much for making this script, its is so helpful
![]() |
|
![]() |
ESOUI » Site Forums » Minion » [Program] Minion Addon List Exporter |
«
Previous Thread
|
Next Thread
»
|
Thread Tools | |
Display Modes | |
|
|