/addon-check

Automatic checks for new repository submissions

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Build Status PyPI version

Kodi Addon checker

This tool checks the Kodi repo for best practices and produces a report containing found problems and warnings.

It can also be used locally for detecting problems in your addons.

Features

  • Checks if artwork is available and if the size is as defined

  • Checks if all artworks(images/fanart/screenshot) are valid.

  • Checks if addon.xml and license file exists for an addon.

  • Checks if the version in addon.xml is valid (for repository generator)

  • Checks if all xml files are valid.

  • Check if all the json files are valid.

  • Checks if the addon id in addon.xml matches with the folder name.

  • Checks if the addon uses the old strings.xml translation format.

  • Check if the addon uses the old language folders (English vs resource.language.en_gb).

  • Checks for various blacklisted strings.

  • Check for blacklisted filetypes.

  • Check for new dependencies present in addon.xml files.

  • Check the complexity of the entrypoint files for addon.

  • Check if addon already exists in any of lower repositories

  • Check if addon already exists in any of the upper repositories (with non-compatible python abi) with a lower version, thus preventing a user kodi migration

  • Check if addon is compatible with python3 or not

  • Check specific version attribute

  • Validate addon.xml against schemas

  • Check if files in addon are marked as executable or not.

  • Check for unused script.module addons

  • Check presence of extensions in addon dependencies.

  • Check for valid forum, source and website value in addon.xml

  • Check if all PO files are valid

All of the validation and checks are done according to the kodi addon rules

Installation

  • You will need Python3.

Then you can directly install it from pip package:

pip install kodi-addon-checker

For Development

  • Clone the repository
git clone https://github.com/xbmc/addon-check
  • cd <path-to-cloned-repo>
  • Install the requirements:
pip install -r requirements.txt

Usage

  • If you are in add-on directory:

    • Execute kodi-addon-checker
  • If you want to run it from any other directory

    • Execute
    kodi-addon-checker <path-to-addon>
    

You can use the tool with the following options:


--version                   version of the tool
--branch                    name of the branch the tool is to run on
--PR                        only when the tool is running on a pull request
--allow-folder-id-mismatch  allow the addon's folder name and id to mismatch
--reporter                  enable a reporter, this option can be used multiple times
--enable-debug-log          enable debug logging to kodi-addon-checker.log