commit 9fc90685c39880b5e09889f7e2b18b7e2fb247ac Author: Anna Clemens Date: Sat Dec 26 10:11:32 2020 -0500 chore: initial commit diff --git a/generate_pluginmaster.py b/generate_pluginmaster.py new file mode 100644 index 0000000..522d783 --- /dev/null +++ b/generate_pluginmaster.py @@ -0,0 +1,42 @@ +import yaml +import json + +DEFAULTS = { + 'IsHide': False, + 'IsTestingExclusive': False, + 'ApplicableVersion': 'any', +} + +DUPLICATES = { + 'DownloadLinkInstall': ['DownloadLinkTesting', 'DownloadLinkUpdate'], +} + +def main(): + # load in the source + with open('pluginmaster.yaml') as f: + snake_master = yaml.load(f, Loader=yaml.SafeLoader) + # convert all keys to pascal case + master = [ { snake_to_pascal(k): v for k, v in item.items() } for item in snake_master ] + # generate the download link from the internal assembly name + for item in master: + item['DownloadLinkInstall'] = f'https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/{item["InternalName"]}/latest.zip' + # add default values if missing + for k, v in DEFAULTS.items(): + for item in master: + if k not in item: + item[k] = v + # duplicate keys as specified in DUPLICATES + for item in master: + for source, keys in DUPLICATES.items(): + for k in keys: + if k not in item: + item[k] = item[source] + # write as pretty json + with open('pluginmaster.json', 'w') as f: + json.dump(master, f, indent=4) + +def snake_to_pascal(name): + return ''.join(part.title() for part in name.split('_')) + +if __name__ == '__main__': + main() diff --git a/pluginmaster.json b/pluginmaster.json new file mode 100644 index 0000000..a39127c --- /dev/null +++ b/pluginmaster.json @@ -0,0 +1,32 @@ +[ + { + "Author": "ascclemens", + "Name": "Macrology", + "Description": "Adds a better macro system to the game.\nMacrology allows for macros of infinite length, adds looping, allows comments, supports pausing, allows you to run multiple macros at once, and supports fractional waits.", + "InternalName": "Macrology", + "AssemblyVersion": "0.1.0", + "DalamudApiLevel": 2, + "LastUpdate": "1608993444", + "DownloadLinkInstall": "https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/Macrology/latest.zip", + "IsHide": false, + "IsTestingExclusive": false, + "ApplicableVersion": "any", + "DownloadLinkTesting": "https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/Macrology/latest.zip", + "DownloadLinkUpdate": "https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/Macrology/latest.zip" + }, + { + "Author": "ascclemens", + "Name": "Python REPL", + "Description": "Adds some commands for interacting with Dalamud from the chat box in Python.\nType a one-liner after /py to execute it. Dalamud, Dalamud.Plugin, Lumina, and Lumina.Excel.GeneratedSheets are all in scope by default. There is a variable named interface that is the DalamudPluginInterface for this plugin.", + "InternalName": "DalamudPython", + "AssemblyVersion": "1.0.0", + "DalamudApiLevel": 2, + "LastUpdate": "1608993444", + "DownloadLinkInstall": "https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/DalamudPython/latest.zip", + "IsHide": false, + "IsTestingExclusive": false, + "ApplicableVersion": "any", + "DownloadLinkTesting": "https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/DalamudPython/latest.zip", + "DownloadLinkUpdate": "https://git.sr.ht/~jkcclemens/plugin_repo/blob/master/plugins/DalamudPython/latest.zip" + } +] \ No newline at end of file diff --git a/pluginmaster.yaml b/pluginmaster.yaml new file mode 100644 index 0000000..4ed369e --- /dev/null +++ b/pluginmaster.yaml @@ -0,0 +1,25 @@ +- author: ascclemens + name: Macrology + description: >- + Adds a better macro system to the game. + + Macrology allows for macros of infinite length, adds looping, + allows comments, supports pausing, allows you to run multiple + macros at once, and supports fractional waits. + internal_name: Macrology + assembly_version: '0.1.0' + dalamud_api_level: 2 + last_update: '1608993444' +- author: ascclemens + name: Python REPL + description: >- + Adds some commands for interacting with Dalamud from the chat box in Python. + + Type a one-liner after /py to execute it. Dalamud, Dalamud.Plugin, + Lumina, and Lumina.Excel.GeneratedSheets are all in scope by + default. There is a variable named interface that is the + DalamudPluginInterface for this plugin. + internal_name: DalamudPython + assembly_version: '1.0.0' + dalamud_api_level: 2 + last_update: '1608993444' diff --git a/plugins/DalamudPython/latest.zip b/plugins/DalamudPython/latest.zip new file mode 100644 index 0000000..77fd051 Binary files /dev/null and b/plugins/DalamudPython/latest.zip differ diff --git a/plugins/Macrology/latest.zip b/plugins/Macrology/latest.zip new file mode 100644 index 0000000..329b4dd Binary files /dev/null and b/plugins/Macrology/latest.zip differ