diff --git a/_sources/api/mobase.EndorsedState.rst.txt b/_sources/api/mobase.EndorsedState.rst.txt new file mode 100644 index 0000000..5002142 --- /dev/null +++ b/_sources/api/mobase.EndorsedState.rst.txt @@ -0,0 +1,23 @@ +EndorsedState +============= + +.. currentmodule:: mobase + +.. autoclass:: EndorsedState + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~EndorsedState.ENDORSED_FALSE + ~EndorsedState.ENDORSED_NEVER + ~EndorsedState.ENDORSED_TRUE + ~EndorsedState.ENDORSED_UNKNOWN + + .. rubric:: Attributes Documentation + + .. autoattribute:: ENDORSED_FALSE + .. autoattribute:: ENDORSED_NEVER + .. autoattribute:: ENDORSED_TRUE + .. autoattribute:: ENDORSED_UNKNOWN diff --git a/_sources/api/mobase.IDownloadManager.rst.txt b/_sources/api/mobase.IDownloadManager.rst.txt index 6c791d5..3dbc76a 100644 --- a/_sources/api/mobase.IDownloadManager.rst.txt +++ b/_sources/api/mobase.IDownloadManager.rst.txt @@ -6,32 +6,24 @@ IDownloadManager .. autoclass:: IDownloadManager :show-inheritance: - .. rubric:: Attributes Summary - - .. autosummary:: - - ~IDownloadManager.downloadComplete - ~IDownloadManager.downloadFailed - ~IDownloadManager.downloadPaused - ~IDownloadManager.downloadRemoved - .. rubric:: Methods Summary .. autosummary:: ~IDownloadManager.downloadPath + ~IDownloadManager.onDownloadComplete + ~IDownloadManager.onDownloadFailed + ~IDownloadManager.onDownloadPaused + ~IDownloadManager.onDownloadRemoved ~IDownloadManager.startDownloadNexusFile ~IDownloadManager.startDownloadURLs - .. rubric:: Attributes Documentation - - .. autoattribute:: downloadComplete - .. autoattribute:: downloadFailed - .. autoattribute:: downloadPaused - .. autoattribute:: downloadRemoved - .. rubric:: Methods Documentation .. automethod:: downloadPath + .. automethod:: onDownloadComplete + .. automethod:: onDownloadFailed + .. automethod:: onDownloadPaused + .. automethod:: onDownloadRemoved .. automethod:: startDownloadNexusFile .. automethod:: startDownloadURLs diff --git a/_sources/api/mobase.IInstallationManager.rst.txt b/_sources/api/mobase.IInstallationManager.rst.txt index 0b1b8a9..9abdf06 100644 --- a/_sources/api/mobase.IInstallationManager.rst.txt +++ b/_sources/api/mobase.IInstallationManager.rst.txt @@ -15,7 +15,6 @@ IInstallationManager ~IInstallationManager.extractFiles ~IInstallationManager.getSupportedExtensions ~IInstallationManager.installArchive - ~IInstallationManager.setURL .. rubric:: Methods Documentation @@ -24,4 +23,3 @@ IInstallationManager .. automethod:: extractFiles .. automethod:: getSupportedExtensions .. automethod:: installArchive - .. automethod:: setURL diff --git a/_sources/api/mobase.IModInterface.rst.txt b/_sources/api/mobase.IModInterface.rst.txt index b29fb8b..ac14cf5 100644 --- a/_sources/api/mobase.IModInterface.rst.txt +++ b/_sources/api/mobase.IModInterface.rst.txt @@ -14,15 +14,39 @@ IModInterface ~IModInterface.addCategory ~IModInterface.addNexusCategory ~IModInterface.categories + ~IModInterface.clearPluginSettings + ~IModInterface.color + ~IModInterface.comments + ~IModInterface.converted + ~IModInterface.endorsedState + ~IModInterface.fileTree + ~IModInterface.gameName + ~IModInterface.ignoredVersion + ~IModInterface.installationFile + ~IModInterface.isBackup + ~IModInterface.isForeign + ~IModInterface.isOverwrite + ~IModInterface.isSeparator ~IModInterface.name - ~IModInterface.remove + ~IModInterface.newestVersion + ~IModInterface.nexusId + ~IModInterface.notes + ~IModInterface.pluginSetting + ~IModInterface.pluginSettings + ~IModInterface.primaryCategory ~IModInterface.removeCategory + ~IModInterface.repository ~IModInterface.setGameName ~IModInterface.setIsEndorsed - ~IModInterface.setName ~IModInterface.setNewestVersion ~IModInterface.setNexusID + ~IModInterface.setPluginSetting + ~IModInterface.setUrl ~IModInterface.setVersion + ~IModInterface.trackedState + ~IModInterface.url + ~IModInterface.validated + ~IModInterface.version .. rubric:: Methods Documentation @@ -30,12 +54,36 @@ IModInterface .. automethod:: addCategory .. automethod:: addNexusCategory .. automethod:: categories + .. automethod:: clearPluginSettings + .. automethod:: color + .. automethod:: comments + .. automethod:: converted + .. automethod:: endorsedState + .. automethod:: fileTree + .. automethod:: gameName + .. automethod:: ignoredVersion + .. automethod:: installationFile + .. automethod:: isBackup + .. automethod:: isForeign + .. automethod:: isOverwrite + .. automethod:: isSeparator .. automethod:: name - .. automethod:: remove + .. automethod:: newestVersion + .. automethod:: nexusId + .. automethod:: notes + .. automethod:: pluginSetting + .. automethod:: pluginSettings + .. automethod:: primaryCategory .. automethod:: removeCategory + .. automethod:: repository .. automethod:: setGameName .. automethod:: setIsEndorsed - .. automethod:: setName .. automethod:: setNewestVersion .. automethod:: setNexusID + .. automethod:: setPluginSetting + .. automethod:: setUrl .. automethod:: setVersion + .. automethod:: trackedState + .. automethod:: url + .. automethod:: validated + .. automethod:: version diff --git a/_sources/api/mobase.IModList.rst.txt b/_sources/api/mobase.IModList.rst.txt index 8e659ff..2488fcc 100644 --- a/_sources/api/mobase.IModList.rst.txt +++ b/_sources/api/mobase.IModList.rst.txt @@ -11,10 +11,16 @@ IModList .. autosummary:: ~IModList.allMods + ~IModList.allModsByProfilePriority ~IModList.displayName + ~IModList.getMod + ~IModList.onModInstalled ~IModList.onModMoved + ~IModList.onModRemoved ~IModList.onModStateChanged ~IModList.priority + ~IModList.removeMod + ~IModList.renameMod ~IModList.setActive ~IModList.setPriority ~IModList.state @@ -22,10 +28,16 @@ IModList .. rubric:: Methods Documentation .. automethod:: allMods + .. automethod:: allModsByProfilePriority .. automethod:: displayName + .. automethod:: getMod + .. automethod:: onModInstalled .. automethod:: onModMoved + .. automethod:: onModRemoved .. automethod:: onModStateChanged .. automethod:: priority + .. automethod:: removeMod + .. automethod:: renameMod .. automethod:: setActive .. automethod:: setPriority .. automethod:: state diff --git a/_sources/api/mobase.IOrganizer.rst.txt b/_sources/api/mobase.IOrganizer.rst.txt index 0aee3dd..3eb7eb7 100644 --- a/_sources/api/mobase.IOrganizer.rst.txt +++ b/_sources/api/mobase.IOrganizer.rst.txt @@ -20,19 +20,23 @@ IOrganizer ~IOrganizer.findFiles ~IOrganizer.getFileOrigins ~IOrganizer.getGame - ~IOrganizer.getMod + ~IOrganizer.getPluginDataPath ~IOrganizer.installMod + ~IOrganizer.isPluginEnabled ~IOrganizer.listDirectories ~IOrganizer.managedGame ~IOrganizer.modDataChanged ~IOrganizer.modList ~IOrganizer.modsPath - ~IOrganizer.modsSortedByProfilePriority ~IOrganizer.onAboutToRun ~IOrganizer.onFinishedRun - ~IOrganizer.onModInstalled + ~IOrganizer.onPluginDisabled + ~IOrganizer.onPluginEnabled ~IOrganizer.onPluginSettingChanged ~IOrganizer.onProfileChanged + ~IOrganizer.onProfileCreated + ~IOrganizer.onProfileRemoved + ~IOrganizer.onProfileRenamed ~IOrganizer.onUserInterfaceInitialized ~IOrganizer.overwritePath ~IOrganizer.persistent @@ -42,8 +46,7 @@ IOrganizer ~IOrganizer.profile ~IOrganizer.profileName ~IOrganizer.profilePath - ~IOrganizer.refreshModList - ~IOrganizer.removeMod + ~IOrganizer.refresh ~IOrganizer.resolvePath ~IOrganizer.setPersistent ~IOrganizer.setPluginSetting @@ -62,19 +65,23 @@ IOrganizer .. automethod:: findFiles .. automethod:: getFileOrigins .. automethod:: getGame - .. automethod:: getMod + .. automethod:: getPluginDataPath .. automethod:: installMod + .. automethod:: isPluginEnabled .. automethod:: listDirectories .. automethod:: managedGame .. automethod:: modDataChanged .. automethod:: modList .. automethod:: modsPath - .. automethod:: modsSortedByProfilePriority .. automethod:: onAboutToRun .. automethod:: onFinishedRun - .. automethod:: onModInstalled + .. automethod:: onPluginDisabled + .. automethod:: onPluginEnabled .. automethod:: onPluginSettingChanged .. automethod:: onProfileChanged + .. automethod:: onProfileCreated + .. automethod:: onProfileRemoved + .. automethod:: onProfileRenamed .. automethod:: onUserInterfaceInitialized .. automethod:: overwritePath .. automethod:: persistent @@ -84,8 +91,7 @@ IOrganizer .. automethod:: profile .. automethod:: profileName .. automethod:: profilePath - .. automethod:: refreshModList - .. automethod:: removeMod + .. automethod:: refresh .. automethod:: resolvePath .. automethod:: setPersistent .. automethod:: setPluginSetting diff --git a/_sources/api/mobase.IPlugin.rst.txt b/_sources/api/mobase.IPlugin.rst.txt index 5e33568..bfe3258 100644 --- a/_sources/api/mobase.IPlugin.rst.txt +++ b/_sources/api/mobase.IPlugin.rst.txt @@ -13,8 +13,10 @@ IPlugin ~IPlugin.author ~IPlugin.description ~IPlugin.init - ~IPlugin.isActive + ~IPlugin.localizedName + ~IPlugin.master ~IPlugin.name + ~IPlugin.requirements ~IPlugin.settings ~IPlugin.version @@ -23,7 +25,9 @@ IPlugin .. automethod:: author .. automethod:: description .. automethod:: init - .. automethod:: isActive + .. automethod:: localizedName + .. automethod:: master .. automethod:: name + .. automethod:: requirements .. automethod:: settings .. automethod:: version diff --git a/_sources/api/mobase.IPluginGame.rst.txt b/_sources/api/mobase.IPluginGame.rst.txt index a8f6ae0..702374a 100644 --- a/_sources/api/mobase.IPluginGame.rst.txt +++ b/_sources/api/mobase.IPluginGame.rst.txt @@ -14,6 +14,7 @@ IPluginGame ~IPluginGame.DLCPlugins ~IPluginGame.binaryName ~IPluginGame.dataDirectory + ~IPluginGame.detectGame ~IPluginGame.documentsDirectory ~IPluginGame.executableForcedLoads ~IPluginGame.executables @@ -30,14 +31,13 @@ IPluginGame ~IPluginGame.iniFiles ~IPluginGame.initializeProfile ~IPluginGame.isInstalled + ~IPluginGame.listSaves ~IPluginGame.loadOrderMechanism ~IPluginGame.looksValid ~IPluginGame.nexusGameID ~IPluginGame.nexusModOrganizerID ~IPluginGame.primaryPlugins ~IPluginGame.primarySources - ~IPluginGame.savegameExtension - ~IPluginGame.savegameSEExtension ~IPluginGame.savesDirectory ~IPluginGame.setGamePath ~IPluginGame.setGameVariant @@ -51,6 +51,7 @@ IPluginGame .. automethod:: DLCPlugins .. automethod:: binaryName .. automethod:: dataDirectory + .. automethod:: detectGame .. automethod:: documentsDirectory .. automethod:: executableForcedLoads .. automethod:: executables @@ -67,14 +68,13 @@ IPluginGame .. automethod:: iniFiles .. automethod:: initializeProfile .. automethod:: isInstalled + .. automethod:: listSaves .. automethod:: loadOrderMechanism .. automethod:: looksValid .. automethod:: nexusGameID .. automethod:: nexusModOrganizerID .. automethod:: primaryPlugins .. automethod:: primarySources - .. automethod:: savegameExtension - .. automethod:: savegameSEExtension .. automethod:: savesDirectory .. automethod:: setGamePath .. automethod:: setGameVariant diff --git a/_sources/api/mobase.IPluginInstaller.rst.txt b/_sources/api/mobase.IPluginInstaller.rst.txt index b6f6384..e176c83 100644 --- a/_sources/api/mobase.IPluginInstaller.rst.txt +++ b/_sources/api/mobase.IPluginInstaller.rst.txt @@ -12,6 +12,8 @@ IPluginInstaller ~IPluginInstaller.isArchiveSupported ~IPluginInstaller.isManualInstaller + ~IPluginInstaller.onInstallationEnd + ~IPluginInstaller.onInstallationStart ~IPluginInstaller.priority ~IPluginInstaller.setInstallationManager ~IPluginInstaller.setParentWidget @@ -20,6 +22,8 @@ IPluginInstaller .. automethod:: isArchiveSupported .. automethod:: isManualInstaller + .. automethod:: onInstallationEnd + .. automethod:: onInstallationStart .. automethod:: priority .. automethod:: setInstallationManager .. automethod:: setParentWidget diff --git a/_sources/api/mobase.IPluginList.rst.txt b/_sources/api/mobase.IPluginList.rst.txt index 537af5f..ec56270 100644 --- a/_sources/api/mobase.IPluginList.rst.txt +++ b/_sources/api/mobase.IPluginList.rst.txt @@ -14,11 +14,13 @@ IPluginList ~IPluginList.loadOrder ~IPluginList.masters ~IPluginList.onPluginMoved + ~IPluginList.onPluginStateChanged ~IPluginList.onRefreshed ~IPluginList.origin ~IPluginList.pluginNames ~IPluginList.priority ~IPluginList.setLoadOrder + ~IPluginList.setPriority ~IPluginList.setState ~IPluginList.state @@ -28,10 +30,12 @@ IPluginList .. automethod:: loadOrder .. automethod:: masters .. automethod:: onPluginMoved + .. automethod:: onPluginStateChanged .. automethod:: onRefreshed .. automethod:: origin .. automethod:: pluginNames .. automethod:: priority .. automethod:: setLoadOrder + .. automethod:: setPriority .. automethod:: setState .. automethod:: state diff --git a/_sources/api/mobase.IPluginRequirement.rst.txt b/_sources/api/mobase.IPluginRequirement.rst.txt new file mode 100644 index 0000000..672359b --- /dev/null +++ b/_sources/api/mobase.IPluginRequirement.rst.txt @@ -0,0 +1,17 @@ +IPluginRequirement +================== + +.. currentmodule:: mobase + +.. autoclass:: IPluginRequirement + :show-inheritance: + + .. rubric:: Methods Summary + + .. autosummary:: + + ~IPluginRequirement.check + + .. rubric:: Methods Documentation + + .. automethod:: check diff --git a/_sources/api/mobase.IProfile.rst.txt b/_sources/api/mobase.IProfile.rst.txt index 16ab1eb..7856d3c 100644 --- a/_sources/api/mobase.IProfile.rst.txt +++ b/_sources/api/mobase.IProfile.rst.txt @@ -10,6 +10,7 @@ IProfile .. autosummary:: + ~IProfile.absoluteIniFilePath ~IProfile.absolutePath ~IProfile.invalidationActive ~IProfile.localSavesEnabled @@ -18,6 +19,7 @@ IProfile .. rubric:: Methods Documentation + .. automethod:: absoluteIniFilePath .. automethod:: absolutePath .. automethod:: invalidationActive .. automethod:: localSavesEnabled diff --git a/_sources/api/mobase.ISaveGame.rst.txt b/_sources/api/mobase.ISaveGame.rst.txt index 8012cff..c131adc 100644 --- a/_sources/api/mobase.ISaveGame.rst.txt +++ b/_sources/api/mobase.ISaveGame.rst.txt @@ -12,14 +12,14 @@ ISaveGame ~ISaveGame.allFiles ~ISaveGame.getCreationTime - ~ISaveGame.getFilename + ~ISaveGame.getFilepath + ~ISaveGame.getName ~ISaveGame.getSaveGroupIdentifier - ~ISaveGame.hasScriptExtenderFile .. rubric:: Methods Documentation .. automethod:: allFiles .. automethod:: getCreationTime - .. automethod:: getFilename + .. automethod:: getFilepath + .. automethod:: getName .. automethod:: getSaveGroupIdentifier - .. automethod:: hasScriptExtenderFile diff --git a/_sources/api/mobase.PluginRequirementFactory.rst.txt b/_sources/api/mobase.PluginRequirementFactory.rst.txt new file mode 100644 index 0000000..4c3c0bb --- /dev/null +++ b/_sources/api/mobase.PluginRequirementFactory.rst.txt @@ -0,0 +1,23 @@ +PluginRequirementFactory +======================== + +.. currentmodule:: mobase + +.. autoclass:: PluginRequirementFactory + :show-inheritance: + + .. rubric:: Methods Summary + + .. autosummary:: + + ~PluginRequirementFactory.basic + ~PluginRequirementFactory.diagnose + ~PluginRequirementFactory.gameDependency + ~PluginRequirementFactory.pluginDependency + + .. rubric:: Methods Documentation + + .. automethod:: basic + .. automethod:: diagnose + .. automethod:: gameDependency + .. automethod:: pluginDependency diff --git a/_sources/api/mobase.SaveGameInfo.rst.txt b/_sources/api/mobase.SaveGameInfo.rst.txt index 9e38a95..8efd71f 100644 --- a/_sources/api/mobase.SaveGameInfo.rst.txt +++ b/_sources/api/mobase.SaveGameInfo.rst.txt @@ -11,13 +11,9 @@ SaveGameInfo .. autosummary:: ~SaveGameInfo.getMissingAssets - ~SaveGameInfo.getSaveGameInfo ~SaveGameInfo.getSaveGameWidget - ~SaveGameInfo.hasScriptExtenderSave .. rubric:: Methods Documentation .. automethod:: getMissingAssets - .. automethod:: getSaveGameInfo .. automethod:: getSaveGameWidget - .. automethod:: hasScriptExtenderSave diff --git a/_sources/api/mobase.ScriptExtender.rst.txt b/_sources/api/mobase.ScriptExtender.rst.txt index f31d04c..6eb6007 100644 --- a/_sources/api/mobase.ScriptExtender.rst.txt +++ b/_sources/api/mobase.ScriptExtender.rst.txt @@ -17,7 +17,7 @@ ScriptExtender ~ScriptExtender.isInstalled ~ScriptExtender.loaderName ~ScriptExtender.loaderPath - ~ScriptExtender.saveGameAttachmentExtensions + ~ScriptExtender.savegameExtension .. rubric:: Methods Documentation @@ -28,4 +28,4 @@ ScriptExtender .. automethod:: isInstalled .. automethod:: loaderName .. automethod:: loaderPath - .. automethod:: saveGameAttachmentExtensions + .. automethod:: savegameExtension diff --git a/_sources/api/mobase.TrackedState.rst.txt b/_sources/api/mobase.TrackedState.rst.txt new file mode 100644 index 0000000..e071c2c --- /dev/null +++ b/_sources/api/mobase.TrackedState.rst.txt @@ -0,0 +1,21 @@ +TrackedState +============ + +.. currentmodule:: mobase + +.. autoclass:: TrackedState + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~TrackedState.TRACKED_FALSE + ~TrackedState.TRACKED_TRUE + ~TrackedState.TRACKED_UNKNOWN + + .. rubric:: Attributes Documentation + + .. autoattribute:: TRACKED_FALSE + .. autoattribute:: TRACKED_TRUE + .. autoattribute:: TRACKED_UNKNOWN diff --git a/_sources/setup-tools.rst.txt b/_sources/setup-tools.rst.txt index 15c5aab..9dd960e 100644 --- a/_sources/setup-tools.rst.txt +++ b/_sources/setup-tools.rst.txt @@ -84,6 +84,63 @@ And then add the following to ``settings.json`` (with the correct path): 2. You can set the ``MYPYPATH`` environment variable to ``$MO2DIR\plugins\data`` (this requires restarting VS code). +4. [Optional] Automatically reload plugins during development +............................................................. + +This section is optional and requires you to already have written a "working" +plugin (a plugin that MO2 can load). + +Since MO2 2.4 alpha 6, a new command has been added to ``ModOrganizer.exe`` to +reload plugins during execution. +If your plugin is named "My Plugin", you can use the following command to reload +it while MO2 is running: + +.. code:: + + $MO2DIR\ModOrganizer.exe reload-plugin "My Plugin" + +If you are using Visual Studio Code, you can send this command to MO2 automatically +after saving files from your project. + +1. Create a "reload plugin" task in Visual Studio Code (Ctrl+Shift+P then + ``Tasks: Configure task`` or open ``.vscode/tasks.json``) using the following + snippet (replace the name and directory as needed): + +.. code:: + + // .vscode/tasks.json + { + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "reload plugin", + "type": "shell", + "command": "$MO2DIR/ModOrganizer.exe", + "args": [ + "reload-plugin", "My Plugin" + ] + } + ] + } + +2. Install the `Trigger Task on Save `_ + extension from Visual Studio Code marketplace. + +3. Add the following to your Visual Studio Code settings (``.vscode/settings.json``) + +.. code:: + // .vscode/settings.json + { + "triggerTaskOnSave.on": true, + "triggerTaskOnSave.tasks": { + "reload plugin": [ + "*.py" + ] + } + } + Testing the setup ----------------- @@ -128,8 +185,8 @@ If your setup is valid, here is what you should have. .. image:: images/check-setup-3.png -If everything is as above, you can delete the test file and move on to writting +If everything is as above, you can delete the test file and move on to writing your own plugin! -.. |error-window| image:: images/error-window.png \ No newline at end of file +.. |error-window| image:: images/error-window.png diff --git a/_static/fonts/FontAwesome.otf b/_static/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f..0000000 Binary files a/_static/fonts/FontAwesome.otf and /dev/null differ diff --git a/_static/fonts/Lato/lato-bold.eot b/_static/fonts/Lato/lato-bold.eot deleted file mode 100644 index 3361183..0000000 Binary files a/_static/fonts/Lato/lato-bold.eot and /dev/null differ diff --git a/_static/fonts/Lato/lato-bold.ttf b/_static/fonts/Lato/lato-bold.ttf deleted file mode 100644 index 29f691d..0000000 Binary files a/_static/fonts/Lato/lato-bold.ttf and /dev/null differ diff --git a/_static/fonts/Lato/lato-bold.woff b/_static/fonts/Lato/lato-bold.woff deleted file mode 100644 index c6dff51..0000000 Binary files a/_static/fonts/Lato/lato-bold.woff and /dev/null differ diff --git a/_static/fonts/Lato/lato-bold.woff2 b/_static/fonts/Lato/lato-bold.woff2 deleted file mode 100644 index bb19504..0000000 Binary files a/_static/fonts/Lato/lato-bold.woff2 and /dev/null differ diff --git a/_static/fonts/Lato/lato-bolditalic.eot b/_static/fonts/Lato/lato-bolditalic.eot deleted file mode 100644 index 3d41549..0000000 Binary files a/_static/fonts/Lato/lato-bolditalic.eot and /dev/null differ diff --git a/_static/fonts/Lato/lato-bolditalic.ttf b/_static/fonts/Lato/lato-bolditalic.ttf deleted file mode 100644 index f402040..0000000 Binary files a/_static/fonts/Lato/lato-bolditalic.ttf and /dev/null differ diff --git a/_static/fonts/Lato/lato-bolditalic.woff b/_static/fonts/Lato/lato-bolditalic.woff deleted file mode 100644 index 88ad05b..0000000 Binary files a/_static/fonts/Lato/lato-bolditalic.woff and /dev/null differ diff --git a/_static/fonts/Lato/lato-bolditalic.woff2 b/_static/fonts/Lato/lato-bolditalic.woff2 deleted file mode 100644 index c4e3d80..0000000 Binary files a/_static/fonts/Lato/lato-bolditalic.woff2 and /dev/null differ diff --git a/_static/fonts/Lato/lato-italic.eot b/_static/fonts/Lato/lato-italic.eot deleted file mode 100644 index 3f82642..0000000 Binary files a/_static/fonts/Lato/lato-italic.eot and /dev/null differ diff --git a/_static/fonts/Lato/lato-italic.ttf b/_static/fonts/Lato/lato-italic.ttf deleted file mode 100644 index b4bfc9b..0000000 Binary files a/_static/fonts/Lato/lato-italic.ttf and /dev/null differ diff --git a/_static/fonts/Lato/lato-italic.woff b/_static/fonts/Lato/lato-italic.woff deleted file mode 100644 index 76114bc..0000000 Binary files a/_static/fonts/Lato/lato-italic.woff and /dev/null differ diff --git a/_static/fonts/Lato/lato-italic.woff2 b/_static/fonts/Lato/lato-italic.woff2 deleted file mode 100644 index 3404f37..0000000 Binary files a/_static/fonts/Lato/lato-italic.woff2 and /dev/null differ diff --git a/_static/fonts/Lato/lato-regular.eot b/_static/fonts/Lato/lato-regular.eot deleted file mode 100644 index 11e3f2a..0000000 Binary files a/_static/fonts/Lato/lato-regular.eot and /dev/null differ diff --git a/_static/fonts/Lato/lato-regular.ttf b/_static/fonts/Lato/lato-regular.ttf deleted file mode 100644 index 74decd9..0000000 Binary files a/_static/fonts/Lato/lato-regular.ttf and /dev/null differ diff --git a/_static/fonts/Lato/lato-regular.woff b/_static/fonts/Lato/lato-regular.woff deleted file mode 100644 index ae1307f..0000000 Binary files a/_static/fonts/Lato/lato-regular.woff and /dev/null differ diff --git a/_static/fonts/Lato/lato-regular.woff2 b/_static/fonts/Lato/lato-regular.woff2 deleted file mode 100644 index 3bf9843..0000000 Binary files a/_static/fonts/Lato/lato-regular.woff2 and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Bold.woff b/_static/fonts/Roboto-Slab-Bold.woff deleted file mode 100644 index 6cb6000..0000000 Binary files a/_static/fonts/Roboto-Slab-Bold.woff and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Bold.woff2 b/_static/fonts/Roboto-Slab-Bold.woff2 deleted file mode 100644 index 7059e23..0000000 Binary files a/_static/fonts/Roboto-Slab-Bold.woff2 and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Light.woff b/_static/fonts/Roboto-Slab-Light.woff deleted file mode 100644 index 337d287..0000000 Binary files a/_static/fonts/Roboto-Slab-Light.woff and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Light.woff2 b/_static/fonts/Roboto-Slab-Light.woff2 deleted file mode 100644 index 20398af..0000000 Binary files a/_static/fonts/Roboto-Slab-Light.woff2 and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Regular.woff b/_static/fonts/Roboto-Slab-Regular.woff deleted file mode 100644 index f815f63..0000000 Binary files a/_static/fonts/Roboto-Slab-Regular.woff and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Regular.woff2 b/_static/fonts/Roboto-Slab-Regular.woff2 deleted file mode 100644 index f2c76e5..0000000 Binary files a/_static/fonts/Roboto-Slab-Regular.woff2 and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Thin.woff b/_static/fonts/Roboto-Slab-Thin.woff deleted file mode 100644 index 6b30ea6..0000000 Binary files a/_static/fonts/Roboto-Slab-Thin.woff and /dev/null differ diff --git a/_static/fonts/Roboto-Slab-Thin.woff2 b/_static/fonts/Roboto-Slab-Thin.woff2 deleted file mode 100644 index 328f5bb..0000000 Binary files a/_static/fonts/Roboto-Slab-Thin.woff2 and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot deleted file mode 100644 index 79dc8ef..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf deleted file mode 100644 index df5d1df..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff deleted file mode 100644 index 6cb6000..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 deleted file mode 100644 index 7059e23..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot deleted file mode 100644 index 2f7ca78..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf deleted file mode 100644 index eb52a79..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff deleted file mode 100644 index f815f63..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff and /dev/null differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 deleted file mode 100644 index f2c76e5..0000000 Binary files a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 and /dev/null differ diff --git a/_static/fonts/fontawesome-webfont.eot b/_static/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca..0000000 Binary files a/_static/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/_static/fonts/fontawesome-webfont.svg b/_static/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845..0000000 --- a/_static/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_static/fonts/fontawesome-webfont.ttf b/_static/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2..0000000 Binary files a/_static/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/_static/fonts/fontawesome-webfont.woff b/_static/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a..0000000 Binary files a/_static/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/_static/fonts/fontawesome-webfont.woff2 b/_static/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc6..0000000 Binary files a/_static/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/_static/fonts/lato-bold-italic.woff b/_static/fonts/lato-bold-italic.woff deleted file mode 100644 index 88ad05b..0000000 Binary files a/_static/fonts/lato-bold-italic.woff and /dev/null differ diff --git a/_static/fonts/lato-bold-italic.woff2 b/_static/fonts/lato-bold-italic.woff2 deleted file mode 100644 index c4e3d80..0000000 Binary files a/_static/fonts/lato-bold-italic.woff2 and /dev/null differ diff --git a/_static/fonts/lato-bold.woff b/_static/fonts/lato-bold.woff deleted file mode 100644 index c6dff51..0000000 Binary files a/_static/fonts/lato-bold.woff and /dev/null differ diff --git a/_static/fonts/lato-bold.woff2 b/_static/fonts/lato-bold.woff2 deleted file mode 100644 index bb19504..0000000 Binary files a/_static/fonts/lato-bold.woff2 and /dev/null differ diff --git a/_static/fonts/lato-normal-italic.woff b/_static/fonts/lato-normal-italic.woff deleted file mode 100644 index 76114bc..0000000 Binary files a/_static/fonts/lato-normal-italic.woff and /dev/null differ diff --git a/_static/fonts/lato-normal-italic.woff2 b/_static/fonts/lato-normal-italic.woff2 deleted file mode 100644 index 3404f37..0000000 Binary files a/_static/fonts/lato-normal-italic.woff2 and /dev/null differ diff --git a/_static/fonts/lato-normal.woff b/_static/fonts/lato-normal.woff deleted file mode 100644 index ae1307f..0000000 Binary files a/_static/fonts/lato-normal.woff and /dev/null differ diff --git a/_static/fonts/lato-normal.woff2 b/_static/fonts/lato-normal.woff2 deleted file mode 100644 index 3bf9843..0000000 Binary files a/_static/fonts/lato-normal.woff2 and /dev/null differ diff --git a/_static/js/modernizr.min.js b/_static/js/modernizr.min.js deleted file mode 100644 index f65d479..0000000 --- a/_static/js/modernizr.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.6.2 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f - + - + BSAInvalidation — MO2 Python Plugin API 2.3rc1 documentation @@ -19,10 +19,13 @@ + + + @@ -54,7 +57,7 @@ - MO2 Python Plugin API + MO2 Python Plugin API @@ -93,6 +96,7 @@
  • 1. Get the mobase stubs
  • 2. Configure Visual Studio Code for mobase
  • 3. Configure mypy to find the mobase stubs
  • +
  • 4. [Optional] Automatically reload plugins during development
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
    • BSAInvalidation
    • DataArchives
    • +
    • EndorsedState
    • ExecutableForcedLoadSetting
    • ExecutableInfo
    • FileInfo
    • @@ -171,6 +176,7 @@
    • IPluginList
    • IPluginModPage
    • IPluginPreview
    • +
    • IPluginRequirement
    • IPluginTool
    • IProfile
    • ISaveGame
    • @@ -184,6 +190,7 @@
    • ModDataContent
    • ModRepositoryFileInfo
    • ModState
    • +
    • PluginRequirementFactory
    • PluginSetting
    • PluginState
    • ProfileSetting
    • @@ -191,6 +198,7 @@
    • SaveGameInfo
    • ScriptExtender
    • SortMechanism
    • +
    • TrackedState
    • UnmanagedMods
    • VersionInfo
    • VersionScheme
    • @@ -238,6 +246,8 @@ + +
        @@ -251,7 +261,7 @@
      • - + View page source @@ -283,7 +293,7 @@ are supported, but some may not make sense in many situations.

        classes may override relevant methods to do so.

        The tree is built upon FileTreeEntry. A given tree holds shared pointers to its entries while each entry holds a weak pointer to its parent, this means that the descending link -are strong (shared pointers) but the uplink are weaks.

        +are strong (shared pointers) but the uplink are weak.

        Accessing the parent is always done by locking the weak pointer so that returned pointer or either null or valid. This structure implies that as long as the initial root lives, entry should not be destroyed, unless the entry are detached from the root and no shared @@ -347,7 +357,7 @@ a valid shared pointer.

        Retrieve the given entry.

        insert(entry[, policy])

        -

        Insert the given entry in this tree, removing it from its previouis parent.

        +

        Insert the given entry in this tree, removing it from its previous parent.

        merge(other[, overwrites])

        Merge the given tree with this tree, i.e., insert all entries of the given tree into this tree.

        @@ -440,7 +450,8 @@ given path.

        Parameters
        • path – Path to the file to create.

        • -
        • replace_if_exists – If True and an entry already exists at the given location, it will be replaced by a new entry. This will replace both files and directories.

        • +
        • replace_if_exists – If True and an entry already exists at the given location, it will be replaced by +a new entry. This will replace both files and directories.

        Returns
        @@ -487,7 +498,8 @@ entry, and to subtrees of this tree if the insert policy is MERGE.

        Parameters
        • entry – Entry to copy.

        • -
        • path – The path to copy the entry to. If the path ends with / or , the entry will be copied in the corresponding directory instead of replacing it. If the +

        • path – The path to copy the entry to. If the path ends with / or , the entry will +be copied in the corresponding directory instead of replacing it. If the given path is empty (“”), the entry is copied directly under this tree.

        • policy – Policy to use to resolve conflicts.

        @@ -570,7 +582,7 @@ type, None is returned.

        insert(entry, policy=<InsertPolicy.FAIL_IF_EXISTS: Ellipsis>)

        Insert the given entry in this tree, removing it from its -previouis parent.

        +previous parent.

        The entry must not be this tree or a parent entry of this tree.

          @@ -584,7 +596,7 @@ with the same name already exists.

          • If both entries are files, the old file is replaced by the given entry.

          • If both entries are directories, a merge is performed as if using merge().

          • -
          • Otherwize the insertion fails (two entries with different types).

          • +
          • Otherwise the insertion fails (two entries with different types).

        @@ -617,7 +629,7 @@ of the given tree into this tree.

        The tree must not be this tree or a parent entry of this tree. Files present in both tree will be replaced by files in the given tree. After a merge, the source tree will be empty but still attached to its parent.

        -

        If overwrites is True, a map from overriden files to new files will be returned.

        +

        If overwrites is True, a map from overridden files to new files will be returned.

        Note that the merge process makes no distinction between files and directories when merging: if a directory is present in this tree and a file from source is in conflict with it, the tree will be removed and the file inserted; if a file @@ -629,11 +641,11 @@ present in the given path, and all the subtrees of the given source.

        Parameters
        • other – Tree to merge.

        • -
        • overwrites – If True, a mapping from overriden files to new files will be returned.

        • +
        • overwrites – If True, a mapping from overridden files to new files will be returned.

        Returns
        -

        If overwrites is True, a mapping from overriden files to new files, otherwise

        +

        If overwrites is True, a mapping from overridden files to new files, otherwise

        the number of overwritten entries.

        @@ -663,7 +675,8 @@ entry, and to subtrees of this tree if the insert policy is MERGE.

        Parameters
        • entry – Entry to move.

        • -
        • path – The path to move the entry to. If the path ends with / or , the entry will be inserted in the corresponding directory instead of replacing it. If the +

        • path – The path to move the entry to. If the path ends with / or , the entry will +be inserted in the corresponding directory instead of replacing it. If the given path is empty (“”), this is equivalent to insert().

        • policy – Policy to use to resolve conflicts.

        @@ -770,37 +783,29 @@ a WalkReturn object to indicates what to do.

        -
      diff --git a/api/mobase.IInstallationManager.html b/api/mobase.IInstallationManager.html index 45b8fb9..c9272f6 100644 --- a/api/mobase.IInstallationManager.html +++ b/api/mobase.IInstallationManager.html @@ -3,9 +3,9 @@ - + - + IInstallationManager — MO2 Python Plugin API 2.3rc1 documentation @@ -19,10 +19,13 @@ + + + @@ -54,7 +57,7 @@ - MO2 Python Plugin API + MO2 Python Plugin API @@ -93,6 +96,7 @@
    • 1. Get the mobase stubs
    • 2. Configure Visual Studio Code for mobase
    • 3. Configure mypy to find the mobase stubs
    • +
    • 4. [Optional] Automatically reload plugins during development
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
    • BSAInvalidation
    • DataArchives
    • +
    • EndorsedState
    • ExecutableForcedLoadSetting
    • ExecutableInfo
    • FileInfo
    • @@ -171,6 +176,7 @@
    • IPluginList
    • IPluginModPage
    • IPluginPreview
    • +
    • IPluginRequirement
    • IPluginTool
    • IProfile
    • ISaveGame
    • @@ -184,6 +190,7 @@
    • ModDataContent
    • ModRepositoryFileInfo
    • ModState
    • +
    • PluginRequirementFactory
    • PluginSetting
    • PluginState
    • ProfileSetting
    • @@ -191,6 +198,7 @@
    • SaveGameInfo
    • ScriptExtender
    • SortMechanism
    • +
    • TrackedState
    • UnmanagedMods
    • VersionInfo
    • VersionScheme
    • @@ -238,6 +246,8 @@ + +
        @@ -251,7 +261,7 @@
      • - + View page source @@ -295,12 +305,96 @@

        categories()

        returns
        -

        The list of categories assigned to this mod.

        +

        The list of categories this mod belongs to.

        -

        name()

        +

        clearPluginSettings(plugin_name)

        +

        Remove all the settings of the specified plugin this mod.

        + +

        color()

        +

        +
        returns
        +

        The color of the ‘Notes’ column chosen by the user.

        +
        +
        +

        + +

        comments()

        +

        +
        returns
        +

        The comments for this mod, if any.

        +
        +
        +

        + +

        converted()

        +

        Check if the mod was marked as converted by the user.

        + +

        endorsedState()

        +

        +
        returns
        +

        The endorsement state of this mod.

        +
        +
        +

        + +

        fileTree()

        +

        Retrieve a file tree corresponding to the underlying disk content of this mod.

        + +

        gameName()

        +

        Retrieve the short name of the game associated with this mod.

        + +

        ignoredVersion()

        +

        +
        returns
        +

        The ignored version of this mod (for update), or an invalid version if the user

        +
        +
        +

        + +

        installationFile()

        +

        +
        returns
        +

        The absolute path to the file that was used to install this mod.

        +
        +
        +

        + +

        isBackup()

        +

        +
        returns
        +

        True if this mod represents a backup.

        +
        +
        +

        + +

        isForeign()

        +

        +
        returns
        +

        True if this mod represents a foreign mod, not managed by MO2.

        +
        +
        +

        + +

        isOverwrite()

        +

        +
        returns
        +

        True if this mod represents the overwrite mod.

        +
        +
        +

        + +

        isSeparator()

        +

        +
        returns
        +

        True if this mod represents a separator.

        +
        +
        +

        + +

        name()

        returns

        The name of this mod.

        @@ -308,30 +402,103 @@

        -

        remove()

        -

        Delete the mod from the disc.

        +

        newestVersion()

        +

        +
        returns
        +

        The newest version of this mod (as known by MO2). If this matches version(),

        +
        +
        +

        + +

        nexusId()

        +

        +
        returns
        +

        The Nexus ID of this mod.

        +
        +
        +

        + +

        notes()

        +

        +
        returns
        +

        The notes for this mod, if any.

        +
        +
        +

        + +

        pluginSetting(plugin_name, key[, default])

        +

        Retrieve the specified setting in this mod for a plugin.

        + +

        pluginSettings(plugin_name)

        +

        Retrieve the settings in this mod for a plugin.

        + +

        primaryCategory()

        +

        +
        returns
        +

        The ID of the primary category of this mod.

        +
        +
        +

        removeCategory(name)

        Unassign a category from this mod.

        -

        setGameName(name)

        +

        repository()

        +

        +
        returns
        +

        The name of the repository from which this mod was installed.

        +
        +
        +

        + +

        setGameName(name)

        Set the source game of this mod.

        -

        setIsEndorsed(endorsed)

        +

        setIsEndorsed(endorsed)

        Set endorsement state of the mod.

        -

        setName(name)

        -

        Set the name of this mod.

        -

        setNewestVersion(version)

        Set the latest known version of this mod.

        setNexusID(nexus_id)

        Set the Nexus ID of this mod.

        +

        setPluginSetting(plugin_name, key, value)

        +

        Set the specified setting in this mod for a plugin.

        + +

        setUrl(url)

        +

        Set the URL of this mod.

        +

        setVersion(version)

        Set the version of this mod.

        +

        trackedState()

        +

        +
        returns
        +

        The tracked state of this mod.

        +
        +
        +

        + +

        url()

        +

        +
        returns
        +

        The URL of this mod, or an empty QString() if no URL is associated

        +
        +
        +

        + +

        validated()

        +

        Check if the mod was marked as validated by the user.

        + +

        version()

        +

        +
        returns
        +

        The current version of this mod.

        +
        +
        +

        +

        Methods Documentation

        @@ -376,7 +543,7 @@ categories()
        Returns
        -

        The list of categories assigned to this mod.

        +

        The list of categories this mod belongs to.

        Return type

        List[str]

        @@ -384,6 +551,192 @@
        +
        +
        +clearPluginSettings(plugin_name)
        +

        Remove all the settings of the specified plugin this mod.

        +
        +
        Parameters
        +

        plugin_name – Name of the plugin for which settings should be removed. This should always be IPlugin.name() +unless you have a really good reason to access settings of another plugin.

        +
        +
        Returns
        +

        The old settings from the given plugin, as returned by pluginSettings().

        +
        +
        Return type
        +

        Dict[str, Union[None, bool, int, str, List[Any], Dict[str, Any]]]

        +
        +
        +
        + +
        +
        +color()
        +
        +
        Returns
        +

        The color of the ‘Notes’ column chosen by the user.

        +
        +
        Return type
        +

        QColor

        +
        +
        +
        + +
        +
        +comments()
        +
        +
        Returns
        +

        The comments for this mod, if any.

        +
        +
        Return type
        +

        str

        +
        +
        +
        + +
        +
        +converted()
        +

        Check if the mod was marked as converted by the user.

        +

        When a mod is for a different game, a flag is shown to users to warn them, but +they can mark mods as converted to remove this flag.

        +
        +
        Returns
        +

        True if this mod was marked as converted by the user.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +endorsedState()
        +
        +
        Returns
        +

        The endorsement state of this mod.

        +
        +
        Return type
        +

        EndorsedState

        +
        +
        +
        + +
        +
        +fileTree()
        +

        Retrieve a file tree corresponding to the underlying disk content of this mod.

        +

        The file tree should not be cached by plugins since it is already and updated when +required.

        +
        +
        Returns
        +

        A file tree representing the content of this mod.

        +
        +
        Return type
        +

        IFileTree

        +
        +
        +
        + +
        +
        +gameName()
        +

        Retrieve the short name of the game associated with this mod. This may differ +from the current game plugin (e.g. you can install a Skyrim LE game in a SSE +installation).

        +
        +
        Returns
        +

        The name of the game associated with this mod.

        +
        +
        Return type
        +

        str

        +
        +
        +
        + +
        +
        +ignoredVersion()
        +
        +
        Returns
        +

        The ignored version of this mod (for update), or an invalid version if the user

        +
        +
        +

        did not ignore version for this mod.

        +
        +
        Return type
        +

        VersionInfo

        +
        +
        +
        + +
        +
        +installationFile()
        +
        +
        Returns
        +

        The absolute path to the file that was used to install this mod.

        +
        +
        Return type
        +

        str

        +
        +
        +
        + +
        +
        +isBackup()
        +
        +
        Returns
        +

        True if this mod represents a backup.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +isForeign()
        +
        +
        Returns
        +

        True if this mod represents a foreign mod, not managed by MO2.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +isOverwrite()
        +
        +
        Returns
        +

        True if this mod represents the overwrite mod.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +isSeparator()
        +
        +
        Returns
        +

        True if this mod represents a separator.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        +
        name()
        @@ -398,16 +751,96 @@
        -
        -remove()
        -

        Delete the mod from the disc.

        -

        This does not update the global ModInfo structure or indices.

        -
        +
        +newestVersion()
        +
        Returns
        -

        True if the mod was deleted, False otherwise.

        +

        The newest version of this mod (as known by MO2). If this matches version(),

        +
        +
        +

        then the mod is up-to-date.

        +
        +
        Return type
        +

        VersionInfo

        +
        +
        +
        + +
        +
        +nexusId()
        +
        +
        Returns
        +

        The Nexus ID of this mod.

        Return type
        -

        bool

        +

        int

        +
        +
        +
        + +
        +
        +notes()
        +
        +
        Returns
        +

        The notes for this mod, if any.

        +
        +
        Return type
        +

        str

        +
        +
        +
        + +
        +
        +pluginSetting(plugin_name, key, default=None)
        +

        Retrieve the specified setting in this mod for a plugin.

        +
        +
        Parameters
        +
          +
        • plugin_name – Name of the plugin for which to retrieve a setting. This should always be IPlugin.name() +unless you have a really good reason to access settings of another plugin.

        • +
        • key – Identifier of the setting.

        • +
        • default – The default value to return if the setting does not exist.

        • +
        +
        +
        Returns
        +

        The setting, if found, or the default value.

        +
        +
        Return type
        +

        Union[None, bool, int, str, List[Any], Dict[str, Any]]

        +
        +
        +
        + +
        +
        +pluginSettings(plugin_name)
        +

        Retrieve the settings in this mod for a plugin.

        +
        +
        Parameters
        +

        plugin_name – Name of the plugin for which to retrieve settings. This should always be IPlugin.name() +unless you have a really good reason to access settings of another plugin.

        +
        +
        Returns
        +

        A map from setting key to value. The map is empty if there are not settings for this mod.

        +
        +
        Return type
        +

        Dict[str, Union[None, bool, int, str, List[Any], Dict[str, Any]]]

        +
        +
        +
        + +
        +
        +primaryCategory()
        +
        +
        Returns
        +

        The ID of the primary category of this mod.

        +
        +
        Return type
        +

        int

        @@ -432,6 +865,19 @@
        +
        +
        +repository()
        +
        +
        Returns
        +

        The name of the repository from which this mod was installed.

        +
        +
        Return type
        +

        str

        +
        +
        +
        +
        setGameName(name)
        @@ -454,27 +900,6 @@
        -
        -
        -setName(name)
        -

        Set the name of this mod.

        -

        This will also update the name of the directory that contains this mod

        -
        -
        Parameters
        -

        name – New name for this mod.

        -
        -
        Returns
        -

        True if the name was changed, False if an error occured (e.g. if the name is not a valid

        -
        -
        -

        directory name).

        -
        -
        Return type
        -

        bool

        -
        -
        -
        -
        setNewestVersion(version)
        @@ -497,6 +922,39 @@
        +
        +
        +setPluginSetting(plugin_name, key, value)
        +

        Set the specified setting in this mod for a plugin.

        +
        +
        Parameters
        +
          +
        • plugin_name – Name of the plugin for which to retrieve a setting. This should always be IPlugin.name() +unless you have a really good reason to access settings of another plugin.

        • +
        • key – Identifier of the setting.

        • +
        • value – New value for the setting to set.

        • +
        +
        +
        Returns
        +

        True if the setting was set correctly, False otherwise.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +setUrl(url)
        +

        Set the URL of this mod.

        +
        +
        Parameters
        +

        url – The URL of this mod.

        +
        +
        +
        +
        setVersion(version)
        @@ -508,6 +966,65 @@
        +
        +
        +trackedState()
        +
        +
        Returns
        +

        The tracked state of this mod.

        +
        +
        Return type
        +

        TrackedState

        +
        +
        +
        + +
        +
        +url()
        +
        +
        Returns
        +

        The URL of this mod, or an empty QString() if no URL is associated

        +
        +
        +

        with this mod.

        +
        +
        Return type
        +

        str

        +
        +
        +
        + +
        +
        +validated()
        +

        Check if the mod was marked as validated by the user.

        +

        MO2 uses ModDataChecker to check the content of mods, but sometimes these fail, in +which case mods are incorrectly marked as ‘not containing valid games data’. Users can +choose to mark these mods as valid to hide the warning / flag.

        +
        +
        Returns
        +

        True if th is mod was marked as containing valid game data.

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +version()
        +
        +
        Returns
        +

        The current version of this mod.

        +
        +
        Return type
        +

        VersionInfo

        +
        +
        +
        +
      @@ -517,37 +1034,29 @@ - diff --git a/api/mobase.IModList.html b/api/mobase.IModList.html index a20ad79..d3925a6 100644 --- a/api/mobase.IModList.html +++ b/api/mobase.IModList.html @@ -3,9 +3,9 @@ - + - + IModList — MO2 Python Plugin API 2.3rc1 documentation @@ -19,10 +19,13 @@ + + + @@ -54,7 +57,7 @@ - MO2 Python Plugin API + MO2 Python Plugin API @@ -93,6 +96,7 @@
    • 1. Get the mobase stubs
    • 2. Configure Visual Studio Code for mobase
    • 3. Configure mypy to find the mobase stubs
    • +
    • 4. [Optional] Automatically reload plugins during development
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
    • BSAInvalidation
    • DataArchives
    • +
    • EndorsedState
    • ExecutableForcedLoadSetting
    • ExecutableInfo
    • FileInfo
    • @@ -171,6 +176,7 @@
    • IPluginList
    • IPluginModPage
    • IPluginPreview
    • +
    • IPluginRequirement
    • IPluginTool
    • IProfile
    • ISaveGame
    • @@ -184,6 +190,7 @@
    • ModDataContent
    • ModRepositoryFileInfo
    • ModState
    • +
    • PluginRequirementFactory
    • PluginSetting
    • PluginState
    • ProfileSetting
    • @@ -191,6 +198,7 @@
    • SaveGameInfo
    • ScriptExtender
    • SortMechanism
    • +
    • TrackedState
    • UnmanagedMods
    • VersionInfo
    • VersionScheme
    • @@ -238,6 +246,8 @@ + +
        @@ -251,7 +261,7 @@
      • - + View page source @@ -291,20 +301,43 @@ to translate from display name to internal name because the display name might n

        -

        displayName(name)

        +

        allModsByProfilePriority([profile])

        +

        +
        returns
        +

        The list of mod (names), sorted according to the current profile priorities.

        +
        +
        +

        + +

        displayName(name)

        Retrieve the display name of a mod from its internal name.

        -

        onModMoved(callback)

        +

        getMod(name)

        +

        Retrieve an interface to a mod using its name.

        + +

        onModInstalled(callback)

        +

        Install a new handler to be called when a new mod is installed.

        + +

        onModMoved(callback)

        Install a handler to be called when a mod is moved.

        +

        onModRemoved(callback)

        +

        Install a new handler to be called when a mod is removed.

        +

        onModStateChanged(callback)

        -

        Install a handler to be called when a mod state changes (enabled/disabled, endorsed, …).

        +

        Install a handler to be called when mod states change (enabled/disabled, endorsed, …).

        priority(name)

        Retrieve the priority of a mod.

        -

        setActive(name, active)

        -

        Enable or disable a mod.

        +

        removeMod(mod)

        +

        Remove a mod (from disc and from the UI).

        + +

        renameMod(mod, name)

        +

        Rename the given mod.

        + +

        setActive(**kwds)

        +

        Helper for @overload to raise when called.

        setPriority(name, priority)

        Change the priority of a mod.

        @@ -328,6 +361,19 @@ to translate from display name to internal name because the display name might n +
        +
        +allModsByProfilePriority(profile=None)
        +
        +
        Returns
        +

        The list of mod (names), sorted according to the current profile priorities.

        +
        +
        Return type
        +

        List[str]

        +
        +
        +
        +
        displayName(name)
        @@ -348,13 +394,67 @@ to show to the user.

        +
        +
        +getMod(name)
        +

        Retrieve an interface to a mod using its name.

        +
        +
        Parameters
        +

        name – Name of the mod to retrieve.

        +
        +
        Returns
        +

        An interface to the given mod, or None if there is no mod with this name.

        +
        +
        Return type
        +

        IModInterface

        +
        +
        +
        + +
        +
        +onModInstalled(callback)
        +

        Install a new handler to be called when a new mod is installed.

        +
        +
        Parameters
        +

        callback – The function to call when a mod is installed. The parameter of the function is the name of the +newly installed mod.

        +
        +
        Returns
        +

        True if the handler was installed properly (there are currently no reasons for this to fail).

        +
        +
        Return type
        +

        bool

        +
        +
        +
        +
        onModMoved(callback)

        Install a handler to be called when a mod is moved.

        Parameters
        -

        callback – The function to call when a mod is moved. The first argument is the internal name of the mod, the second argument the old priority and the third argument the new priority.

        +

        callback – The function to call when a mod is moved. The first argument is the internal name of the +mod, the second argument the old priority and the third argument the new priority.

        +
        +
        Returns
        +

        True if the handler was installed properly (there are currently no reasons for this to fail).

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +onModRemoved(callback)
        +

        Install a new handler to be called when a mod is removed.

        +
        +
        Parameters
        +

        callback – The function to call when a mod is removed. The parameter of the function is the name of the +removed mod.

        Returns

        True if the handler was installed properly (there are currently no reasons for this to fail).

        @@ -368,10 +468,11 @@ to show to the user.

        onModStateChanged(callback)
        -

        Install a handler to be called when a mod state changes (enabled/disabled, endorsed, …).

        +

        Install a handler to be called when mod states change (enabled/disabled, endorsed, …).

        Parameters
        -

        callback – The function to call when the state of a mod changes. The first argument is the internal mod name, and the second one the new state of the mod.

        +

        callback – The function to call when the states of mod change. The argument is a map containing the +mods whose states have changed. Keys are internal mod names and values are mod states.

        Returns

        True if the handler was installed properly (there are currently no reasons for this to fail).

        @@ -400,20 +501,15 @@ to show to the user.

        -
        -setActive(name, active)
        -

        Enable or disable a mod.

        -

        Calling this will cause MO to re-evaluate its virtual file system so this is -a fairly expensive call.

        +
        +removeMod(mod)
        +

        Remove a mod (from disc and from the UI).

        Parameters
        -
          -
        • name – Internal name of the mod to enable or disable.

        • -
        • active – True to enable the mod, False to disable it.

        • -
        +

        mod – The mod to remove.

        Returns
        -

        True on success, False otherwise.

        +

        True if the mod was removed, False otherwise.

        Return type

        bool

        @@ -421,6 +517,34 @@ a fairly expensive call.

        +
        +
        +renameMod(mod, name)
        +

        Rename the given mod.

        +

        This method usually invalidates the given mod so you should use the returned value +after calling it instead of the passed value.

        +
        +
        Parameters
        +
          +
        • mod – The mod to rename.

        • +
        • name – The new name of the mod.

        • +
        +
        +
        Returns
        +

        A valid reference to the given mod after renaming it.

        +
        +
        Return type
        +

        IModInterface

        +
        +
        +
        + +
        +
        +setActive(**kwds)
        +

        Helper for @overload to raise when called.

        +
        +
        setPriority(name, priority)
        @@ -469,37 +593,29 @@ old location and all mods with higher priority than the moved mod decrease in pr
      - diff --git a/api/mobase.IModRepositoryBridge.html b/api/mobase.IModRepositoryBridge.html index b25f67a..3ca90e4 100644 --- a/api/mobase.IModRepositoryBridge.html +++ b/api/mobase.IModRepositoryBridge.html @@ -3,9 +3,9 @@ - + - + IModRepositoryBridge — MO2 Python Plugin API 2.3rc1 documentation @@ -19,10 +19,13 @@ + + + @@ -54,7 +57,7 @@ - MO2 Python Plugin API + MO2 Python Plugin API @@ -93,6 +96,7 @@
    • 1. Get the mobase stubs
    • 2. Configure Visual Studio Code for mobase
    • 3. Configure mypy to find the mobase stubs
    • +
    • 4. [Optional] Automatically reload plugins during development
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
    • BSAInvalidation
    • DataArchives
    • +
    • EndorsedState
    • ExecutableForcedLoadSetting
    • ExecutableInfo
    • FileInfo
    • @@ -171,6 +176,7 @@
    • IPluginList
    • IPluginModPage
    • IPluginPreview
    • +
    • IPluginRequirement
    • IPluginTool
    • IProfile
    • ISaveGame
    • @@ -184,6 +190,7 @@
    • ModDataContent
    • ModRepositoryFileInfo
    • ModState
    • +
    • PluginRequirementFactory
    • PluginSetting
    • PluginState
    • ProfileSetting
    • @@ -191,6 +198,7 @@
    • SaveGameInfo
    • ScriptExtender
    • SortMechanism
    • +
    • TrackedState
    • UnmanagedMods
    • VersionInfo
    • VersionScheme
    • @@ -238,6 +246,8 @@ + +
        @@ -251,7 +261,7 @@
      • - + View page source @@ -325,21 +335,29 @@ of Mod Organizer to be used by plugins.

        Helper for @overload to raise when called.

        getFileOrigins(filename)

        -

        Retrieve the file origins for the speicified file.

        +

        Retrieve the file origins for the specified file.

        getGame(name)

        Retrieve the game plugin matching the given name.

        -

        getMod(name)

        -

        Retrieve an interface to a mod using its name.

        +

        getPluginDataPath()

        +

        +
        returns
        +

        The directory for plugin data, typically plugins/data.

        +
        +
        +

        installMod(filename[, name_suggestion])

        Install a mod archive at the specified location.

        -

        listDirectories(directory)

        +

        isPluginEnabled(**kwds)

        +

        Helper for @overload to raise when called.

        + +

        listDirectories(directory)

        Retrieve the list of (virtual) subdirectories in the given path.

        -

        managedGame()

        +

        managedGame()

        returns

        The plugin corresponding to the current game.

        @@ -347,10 +365,10 @@ of Mod Organizer to be used by plugins.

        -

        modDataChanged(mod)

        +

        modDataChanged(mod)

        Notify the organizer that the given mod has changed.

        -

        modList()

        +

        modList()

        returns

        The interface to the mod list.

        @@ -358,7 +376,7 @@ of Mod Organizer to be used by plugins.

        -

        modsPath()

        +

        modsPath()

        returns

        The (absolute) path to the mods directory.

        @@ -366,29 +384,33 @@ of Mod Organizer to be used by plugins.

        -

        modsSortedByProfilePriority()

        -

        -
        returns
        -

        The list of mod (names), sorted according to the current profile priorities.

        -
        -
        -

        -

        onAboutToRun(callback)

        Install a new handler to be called when an application is about to run.

        onFinishedRun(callback)

        Install a new handler to be called when an application has finished running.

        -

        onModInstalled(callback)

        -

        Install a new handler to be called when a new mod is installed.

        +

        onPluginDisabled(**kwds)

        +

        Helper for @overload to raise when called.

        -

        onPluginSettingChanged(callback)

        +

        onPluginEnabled(**kwds)

        +

        Helper for @overload to raise when called.

        + +

        onPluginSettingChanged(callback)

        Install a new handler to be called when a plugin setting is changed.

        -

        onProfileChanged(callback)

        +

        onProfileChanged(callback)

        Install a new handler to be called when the current profile is changed.

        +

        onProfileCreated(callback)

        +

        Install a new handler to be called when a new profile is created.

        + +

        onProfileRemoved(callback)

        +

        Install a new handler to be called when a profile is remove.

        + +

        onProfileRenamed(callback)

        +

        Install a new handler to be called when a profile is renamed.

        +

        onUserInterfaceInitialized(callback)

        Install a new handler to be called when the UI has been fully initialized.

        @@ -441,25 +463,22 @@ of Mod Organizer to be used by plugins.

        -

        refreshModList([save_changes])

        -

        Refresh the mod list.

        +

        refresh([save_changes])

        +

        Refresh the internal mods file structure from disk.

        -

        removeMod(mod)

        -

        Remove a mod (from disc and from the UI).

        - -

        resolvePath(filename)

        +

        resolvePath(filename)

        Resolves a path relative to the virtual data directory to its absolute real path.

        -

        setPersistent(plugin_name, key, value[, sync])

        +

        setPersistent(plugin_name, key, value[, sync])

        Set the specified persistent value for a plugin.

        -

        setPluginSetting(plugin_name, key, value)

        +

        setPluginSetting(plugin_name, key, value)

        Set the specified setting for a plugin.

        -

        startApplication(executable[, args, cwd, …])

        +

        startApplication(executable[, args, cwd, …])

        Starts an application with virtual filesystem active.

        -

        waitForApplication(handle)

        +

        waitForApplication(handle[, refresh])

        Wait for the application corresponding to the given handle to finish.

        @@ -496,7 +515,7 @@ of Mod Organizer to be used by plugins.

        createMod(name)

        Create a new mod with the specified name.

        If a mod with the same name already exists, the user will be queried. If the user chooses -to merge or replace, the call will succeed, otheriwse the call will fail.

        +to merge or replace, the call will succeed, otherwise the call will fail.

        Parameters

        name – Name of the mod to create.

        @@ -582,7 +601,7 @@ to merge or replace, the call will succeed, otheriwse the call will fail.

        getFileOrigins(filename)
        -

        Retrieve the file origins for the speicified file.

        +

        Retrieve the file origins for the specified file.

        The origins are listed with their internal name. The internal name of a mod can differ from the display name for disambiguation.

        @@ -616,18 +635,14 @@ from the display name for disambiguation.

        -
        -getMod(name)
        -

        Retrieve an interface to a mod using its name.

        -
        -
        Parameters
        -

        name – Name of the mod to retrieve.

        +
        +static getPluginDataPath()
        +
        +
        Returns
        +

        The directory for plugin data, typically plugins/data.

        -
        Returns
        -

        An interface to the given mod, or None if there is no mod with this name

        -
        -
        Return type
        -

        IModInterface

        +
        Return type
        +

        str

        @@ -652,6 +667,12 @@ from the display name for disambiguation.

        +
        +
        +isPluginEnabled(**kwds)
        +

        Helper for @overload to raise when called.

        +
        +
        listDirectories(directory)
        @@ -719,19 +740,6 @@ from the display name for disambiguation.

        -
        -
        -modsSortedByProfilePriority()
        -
        -
        Returns
        -

        The list of mod (names), sorted according to the current profile priorities.

        -
        -
        Return type
        -

        List[str]

        -
        -
        -
        -
        onAboutToRun(callback)
        @@ -740,7 +748,8 @@ from the display name for disambiguation.

        not run.

        Parameters
        -

        callback – The function to call when an application is about to run. The parameter is the absolute path to the application to run. The function can return False to prevent the application from running.

        +

        callback – The function to call when an application is about to run. The parameter is the absolute path +to the application to run. The function can return False to prevent the application from running.

        Returns

        True if the handler was installed properly (there are currently no reasons for this to fail).

        @@ -757,7 +766,8 @@ not run.

        Install a new handler to be called when an application has finished running.

        Parameters
        -

        callback – The function to call when an application has finished running. The first parameter is the absolute path to the application, and the second parameter is the exit code of the application.

        +

        callback – The function to call when an application has finished running. The first parameter is the absolute +path to the application, and the second parameter is the exit code of the application.

        Returns

        True if the handler was installed properly (there are currently no reasons for this to fail).

        @@ -769,20 +779,15 @@ not run.

        -
        -onModInstalled(callback)
        -

        Install a new handler to be called when a new mod is installed.

        -
        -
        Parameters
        -

        callback – The function to call when a mod is installed. The parameter of the function is the name of the installed mod.

        -
        -
        Returns
        -

        True if the handler was installed properly (there are currently no reasons for this to fail).

        -
        -
        Return type
        -

        bool

        -
        -
        +
        +onPluginDisabled(**kwds)
        +

        Helper for @overload to raise when called.

        +
        + +
        +
        +onPluginEnabled(**kwds)
        +

        Helper for @overload to raise when called.

        @@ -791,7 +796,8 @@ not run.

        Install a new handler to be called when a plugin setting is changed.

        Parameters
        -

        callback – The function to call when a plugin setting is changed. The parameters are: The name of the plugin, the name of the setting, the old value (or None if the setting did not exist before) and the new value +

        callback – The function to call when a plugin setting is changed. The parameters are: The name of the plugin, the +name of the setting, the old value (or None if the setting did not exist before) and the new value of the setting (or None if the setting has been removed).

        Returns
        @@ -812,7 +818,64 @@ the profile might not be finished when this is called (e.g., the virtual file sy might not be up-to-date).

        Parameters
        -

        callback – The function to call when the current profile is changed. The first parameter is the old profile (can be None, e.g. at startup), and the second parameter is the new profile (cannot be None).

        +

        callback – The function to call when the current profile is changed. The first parameter is the old profile (can +be None, e.g. at startup), and the second parameter is the new profile (cannot be None).

        +
        +
        Returns
        +

        True if the handler was installed properly (there are currently no reasons for this to fail).

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +onProfileCreated(callback)
        +

        Install a new handler to be called when a new profile is created.

        +
        +
        Parameters
        +

        callback – The function to call when a new profile is created. The parameter is the new profile (can be +a temporary object and should not be stored).

        +
        +
        Returns
        +

        True if the handler was installed properly (there are currently no reasons for this to fail).

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +onProfileRemoved(callback)
        +

        Install a new handler to be called when a profile is remove.

        +

        The callbacks are called after the profile has been removed so the profile is not accessible +anymore.

        +
        +
        Parameters
        +

        callback – The function to call when a profile is remove. The parameter is the name of the profile that was +removed.

        +
        +
        Returns
        +

        True if the handler was installed properly (there are currently no reasons for this to fail).

        +
        +
        Return type
        +

        bool

        +
        +
        +
        + +
        +
        +onProfileRenamed(callback)
        +

        Install a new handler to be called when a profile is renamed.

        +
        +
        Parameters
        +

        callback – The function to call when a profile is renamed. The first parameter is the profile being renamed, +the second parameter the previous name and the third parameter the new name.

        Returns

        True if the handler was installed properly (there are currently no reasons for this to fail).

        @@ -829,7 +892,8 @@ might not be up-to-date).

        Install a new handler to be called when the UI has been fully initialized.

        Parameters
        -

        callback – The function to call when the user-interface has been fully initialized. The parameter is the main window of the application (QMainWindow).

        +

        callback – The function to call when the user-interface has been fully initialized. The parameter is the main +window of the application (QMainWindow).

        Returns

        True if the handler was installed properly (there are currently no reasons for this to fail).

        @@ -863,7 +927,8 @@ the storage

        Parameters
          -
        • plugin_name – Name of the plugin for which to retrieve the value. This should always be IPlugin::name() unless you have a really good reason to access data of another mod AND if you can verify that plugin is actually installed.

        • +
        • plugin_name – Name of the plugin for which to retrieve the value. This should always be IPlugin.name() unless you have a +really good reason to access data of another mod AND if you can verify that plugin is actually installed.

        • key – Identifier of the setting.

        • default – Default value to return if the key is not set (yet).

        @@ -966,9 +1031,12 @@ store data (resources, or multiple python files).

        -
        -refreshModList(save_changes=True)
        -

        Refresh the mod list.

        +
        +refresh(save_changes=True)
        +

        Refresh the internal mods file structure from disk. This includes the mod list, the plugin +list, data tab and other smaller things like problems button (same as pressing F5).

        +

        The main part of the refresh of the mods file structure, mod list and plugin list is done +asynchronously, so you should not expect them to be up-to-date when this function returns.

        Parameters

        save_changes – If True, the relevant profile information is saved first (enabled mods and order of mods).

        @@ -976,23 +1044,6 @@ store data (resources, or multiple python files).

        -
        -
        -removeMod(mod)
        -

        Remove a mod (from disc and from the UI).

        -
        -
        Parameters
        -

        mod – The mod to remove.

        -
        -
        Returns
        -

        True if the mod was removed, False otherwise.

        -
        -
        Return type
        -

        bool

        -
        -
        -
        -
        resolvePath(filename)
        @@ -1018,7 +1069,8 @@ store data (resources, or multiple python files).

        Parameters
          -
        • plugin_name – Name of the plugin for which to change a value. This should always be IPlugin::name() unless you have a really good reason to access data of another mod AND if you can verify that plugin is actually installed.

        • +
        • plugin_name – Name of the plugin for which to change a value. This should always be IPlugin.name() unless you have a +really good reason to access data of another mod AND if you can verify that plugin is actually installed.

        • key – Identifier of the setting.

        • value – New value for the setting.

        • sync – If True, the storage is immediately written to disc. This costs performance but is safer against data loss.

        • @@ -1035,7 +1087,8 @@ store data (resources, or multiple python files).

          Parameters
            -
          • plugin_name – Name of the plugin for which to change a value. This should always be IPlugin::name() unless you have a really good reason to access data of another mod AND if you can verify that plugin is actually installed.

          • +
          • plugin_name – Name of the plugin for which to change a value. This should always be IPlugin.name() unless you have a +really good reason to access data of another mod AND if you can verify that plugin is actually installed.

          • key – Identifier of the setting.

          • value – New value for the setting.

          @@ -1050,9 +1103,12 @@ store data (resources, or multiple python files).

          Parameters
            -
          • executable – Name or path of the executable. If this is only a filename, it will only work if it has been configured in MO as an executable. If it is a relative path it is expected to be relative to the game directory.

          • -
          • args – Arguments to pass to the executable. If the list is empty, and executable refers to a configured executable, the configured arguments are used.

          • -
          • cwd – The working directory for the executable. If this is empty, the path to the executable is used unless executable referred to a configured MO executable, in which case the configured cwd is used.

          • +
          • executable – Name or path of the executable. If this is only a filename, it will only work if it has been configured +in MO as an executable. If it is a relative path it is expected to be relative to the game directory.

          • +
          • args – Arguments to pass to the executable. If the list is empty, and executable refers to a configured executable, +the configured arguments are used.

          • +
          • cwd – The working directory for the executable. If this is empty, the path to the executable is used unless executable +referred to a configured MO executable, in which case the configured cwd is used.

          • profile – Profile to use. If this is empty (the default) the current profile is used.

          • forcedCustomOverwrite – The mod to set as the custom overwrite, regardless of what the profile has configured.

          • ignoreCustomOverwrite – Set to true to ignore the profile’s configured custom overwrite.

          • @@ -1069,7 +1125,7 @@ store data (resources, or multiple python files).

            -waitForApplication(handle)
            +waitForApplication(handle, refresh=True)

            Wait for the application corresponding to the given handle to finish.

            This will always show the lock overlay, regardless of whether the user has disabled locking in the setting, so use this with care. @@ -1077,7 +1133,10 @@ Note that the lock overlay will always allow the user to unlock, in which case this will return False.

            Parameters
            -

            handle – Handle of the application to wait for (as returned by startApplication()).

            +
              +
            • handle – Handle of the application to wait for (as returned by startApplication()).

            • +
            • refresh – Whether ModOrganizer should refresh after the process completed or not.

            • +
            Returns

            A tuple (result, exitcode), where result is a boolean indicating if the application

            @@ -1100,37 +1159,29 @@ which case this will return False.

      - diff --git a/api/mobase.IPlugin.html b/api/mobase.IPlugin.html index 652abb1..f6c35ea 100644 --- a/api/mobase.IPlugin.html +++ b/api/mobase.IPlugin.html @@ -3,9 +3,9 @@ - + - + IPlugin — MO2 Python Plugin API 2.3rc1 documentation @@ -19,10 +19,13 @@ + + + @@ -54,7 +57,7 @@ - MO2 Python Plugin API + MO2 Python Plugin API @@ -93,6 +96,7 @@
    • 1. Get the mobase stubs
    • 2. Configure Visual Studio Code for mobase
    • 3. Configure mypy to find the mobase stubs
    • +
    • 4. [Optional] Automatically reload plugins during development
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -146,6 +150,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -147,6 +151,7 @@
  • Classes
  • Testing the setup
  • @@ -146,6 +150,7 @@
  • Classes