From a49f1a4af8e74ada35e7de8462d66e906ebf9f46 Mon Sep 17 00:00:00 2001 From: Zash Date: Tue, 25 May 2021 19:30:19 +0200 Subject: [PATCH] + README.md, LICENSE, .gitignore, setup.cfg --- .gitignore | 11 +++++++++++ LICENSE | 21 +++++++++++++++++++++ README.md | 30 ++++++++++++++++++++++++++++++ setup.cfg | 28 ++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 setup.cfg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5d0201d --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.mypy_cache +__pycache__ +.tox +.vscode +.idea +.pytest_cache +.python-version + +# Mob / Umbrella +mob.log +vsbuild diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b95b0bb --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Zash + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..491712b --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Mod Organizer 2: Mod Requirement Checker +Checks installed mods for missing requirements. + +## Installation +Download the latest archive from [releases pages](../../releases/latest) and extract the +contents (including `mod_requirement_checker`) into the MO2 `plugins/` directory. + +## Requirements and how to define requirements +Mod Requirement Checker uses `ModRequirement` definitions from the current game +or game feature (implementing `IWithModRequirements`). + +See `basic_games.basic_features` (submodule) for details. + +Folder structure: +``` +plugins/ + basic_games/ + basic_features/ + __init__.py + mod_requirement.py # IWithModRequirements, ModRequirement + ... + games/ + game_xyz.py # Game implementing IWithModRequirements + ... + mod_requirement_checker/ + __init__.py + ... +ModOrganizer.exe +``` + diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..cdc00fb --- /dev/null +++ b/setup.cfg @@ -0,0 +1,28 @@ +[flake8] +# Use black line length: +max-line-length = 88 +extend-ignore = + # See https://github.com/PyCQA/pycodestyle/issues/373 + E203, E266 + +[mypy] +warn_return_any = True +warn_unused_configs = True + +[tox:tox] +skipsdist = true +envlist = py38-lint + +[testenv:py38-lint] +skip_install = true +deps = + PyQt5-stubs + mobase-stubs + black + flake8 + flake8-black + mypy +commands = + black --check --diff . + flake8 . + mypy .