Metadata-Version: 1.1
Name: crtools
Version: 2.16.0
Summary: Python tools for creating a clan management dashboard for Clash Royale
Home-page: https://github.com/AaronTraas/Clash-Royale-Clan-Tools
Author: Aaron Traas
Author-email: aaron@traas.org
License: LGPLv3+
Project-URL: Bug Reports, https://github.com/AaronTraas/Clash-Royale-Clan-Tools/issues
Project-URL: Source, https://github.com/AaronTraas/Clash-Royale-Clan-Tools
Description: ==================================================
        crtools - Clash Royale Clan Dashboard generator
        ==================================================
        
        This is a tool for creating a dashboard for clan participation in ClashRoyale.
        See https://developer.clashroyale.com to sign up for a developer account and
        create an API key to use with this.
        
        For an example dashboard created for the clan Agrassar (#JY8YVV), see: https://agrassar.com/
        
        This tool is a static site generator -- it generates static HTML, JavaScript,
        and CSS used to render the dashboard. If you wish to use this, you should set
        it up to run once per hour on your web server.
        
        ==================================================
        Installation
        ==================================================
        
        This requires Python 3 and pip on your machine. To install, use
        
        .. code::
        
          pip3 install crtools
        
        If you have an older version installed, to upgrade to the latest version, run:
        
        .. code::
        
          pip3 install -U crtools
        
        
        ==================================================
        Syntax
        ==================================================
        
        Usage:
        
        .. code::
        
          crtools [-h] [--locale LOCALE] [--config CONFIG-FILE] [--api_key KEY]
                  [--clan TAG] [--out PATH] [--favicon PATH] [--clan_logo PATH]
                  [--description PATH] [--canonical_url URL] [--debug]
                  [--version]
        
        optional arguments:
          -h, --help           show this help message and exit
          --locale LOCALE      Locale if language other than English is desired (see `Other languages/locales`_).
          --config FILE        configuration file for this app.
          --api_key KEY        API key for developer.clashroyale.com
          --clan CLAN          Clan ID from Clash Royale. If it starts with a '#', clan ID must be quoted.
          --out PATH           Output path for HTML.
          --favicon PATH       Source path for favicon.ico. If provided, we will copy to the output directory.
          --clan_logo PATH     Source path for clan logo PNG. Recommended at least 64x64 pizels. If provided, we will copy to the output directory.
          --description PATH   Source path snippet of HTML to replace the clan description. Should not be a complete HTML document. Sample here: https://github.com/AaronTraas/crtools-agrassar-assets/blob/master/description.html If provided, we will copy to the output directory.
          --canonical_url URL  Canonical URL for this site. Used for setting the rel=canonical link in the web site, as well as generating the robots.txt and sitemap.xml
          --debug              Turns on debug mode
          --version            List the version of crtools.
        
        ==================================================
        Optional config file
        ==================================================
        
        crtools looks for a config file in your home directory called .crtools
        
        This is an INI file. As of current version, there's only one possible
        parameter: api_key. The file should look like:
        
        .. code:: ini
        
          [API]
          # API key provided for your account at https://developer.clashroyale.com
          # Note that the key is limited to a specific list of public IP addresses
          api_key=<YOUR-API-KEY>
        
          # Your clan tag
          clan_id=#JY8YVV
        
          # Proxy URL -- URL for proxy server, if needed
          #proxy=https://my-proxy.com
        
          # Proxy headers -- custom headers for proxy if needed
          #proxy_headers=headers
        
          [Paths]
          # your output path. Where you want the static website to live.
          out=/var/www/html
        
          # Path to the logo artwork for clan. Must be PNG. Recommended at
          # least 64x64 pixels.
          clan_logo=~/myclan/logo.png
        
          # Path to the favicon file you want to use for this
          favicon=~/myclan/favicon.ico
        
          # Path to a file that contains arbitrary HTML for the site.
          description_html=~/myclan/body.html
        
          [www]
          # Canonical URL for this site. Used for setting the rel=canonical
          # link in the web site, as well as generating the robots.txt
          # and sitemap.xml
          canonical_url=https://yourclan.com/
        
        For more details, see `samples/crtools.ini <https://github.com/AaronTraas/Clash-Royale-Clan-Tools/blob/master/samples/crtools.ini>`_
        
        ===================================================================
        Optional blacklist and vacation management using Google Sheets
        ===================================================================
        
        You can optionally use a Google Sheets log to keep track of demerits
        and vacations. If you want that info to be integrated with crtools, you
        need to copy the
        `crtools member log template <https://docs.google.com/spreadsheets/d/1_8YKfJf-2HVZOgtuosVaGM_50kB8q7YYR3H2d8p0Wzw>`_
        to your Google Docs account and use that. Fill in with info about your
        clan. Be sure not to re-name any of the tabs, or add/remove any columns.
        
        You will also need to sign up for a `Google Cloud API key <https://developers.google.com/sheets/api/guides/authorizing#APIKey>`_.
        
        Then you will have to go to the `Google Developer API library page <https://console.developers.google.com/apis/library/sheets.googleapis.com>`_, and enable the Google Sheets library for your account.
        
        You will then need to go the the `Google credential management page <https://console.developers.google.com/apis/credentials>`_, edit the API key you created, giving it access to the Sheets API.
        
        Once you have created a key that you can use for this purpose, find the sheet ID from your spreadsheet URL, add
        the following to your config file:
        
        .. code:: ini
        
          [google_docs]
          api_key=<YOUR-API-KEY>
          sheet_id=<YOUR-SHEET-ID>
        
        ==================================================
        Using the ClashRoyale Official Fan Kit
        ==================================================
        
        The design of this site is optionally enhanced by the fan kit provided by
        Supercell here. To enable automated downloading of the fan kit, add:
        
        .. code::
        
          use_fankit=True
        
        To the :code:`[Paths]` section of your config file.
        
        NOTE: This requires about 5GB free in your temp forlder on the machine that
        crtools runs on. It will take 10-15 minutes to download and extract, but only
        the first time you run with the fankit enabled.
        
        If you have problems, you can manually install the fan kit. See
        `Fan Kit Manual Install Instructions <https://github.com/AaronTraas/Clash-Royale-Clan-Tools/blob/master/fankit-manual-install.md>`_
        
        ==================================================
        Other languages/locales
        ==================================================
        
        Crtools currently supports the following languages:
        
        ======= =================
        locale  language
        ======= =================
        cn      Chinese
        de      German
        en      English (default)
        fr      French
        it      Italian
        pt      Portugese
        ru      Russian
        ======= =================
        
        If you'd like to use a language other than English, add the following switch
        on the command line:
        
        .. code::
        
          --locale=fr
        
        The above example is French. Use the locale code listed above
        
        If you wish for crtools to be available in another languages, reach out to
        me. I'm unable to do the translation myself (I speak only English), but I can
        help you provide a translation for this.
        
        ==================================================
        Suggested usage on a Linux web server
        ==================================================
        
        This tool is a static site generator -- it generates static HTML, JavaScript,
        and CSS used to render the dashboard. If you wish to use this, you should set
        it up to run once per hour on your web server using :code:`cron` or similar.
        Below is an example setup on Linux.
        
        Assuming root is going to be running the script:
        
        1. Install this application via pip
        2. Install nginx or apache
        3. Find your document root (e.g., :code:`/var/www/html`)
        4. Create :code:`/root/.crtools` file as specified above, and add your
           API key (from https://developer.clashroyale.com), output path (the
           document root), and clan tag
        5. Create the following entry in your crontab:
        
        .. code::
        
          0 * * * * crtools
        
        ==================================================
        Development links
        ==================================================
        
        This project uses SonarQube for static analysis. The results of analysis
        are at `SonarCloud <https://sonarcloud.io/dashboard?id=AaronTraas_Clash-Royale-Clan-Tools>`_.
        The code quality and test coverage are a work in progress.
        
        ==================================================
        Support
        ==================================================
        
        If you need help getting this up and running, feel free to hop on the
        `crtools discord <https://discord.gg/K2UDCXU>`_.
        
        Keep in mind, this is a command-line utility that expects a working Python 3
        environment. It also assumes you will know how to configure a web server to
        serve up HTML, as well as cron or similar on your given platform. There is no
        install wizard, GUI of any kind, etc.
        
        ==================================================
        Contributors
        ==================================================
        
        All of the non-code contributors are listed in
        `CONTRIBUTORS.rst <https://github.com/AaronTraas/Clash-Royale-Clan-Tools/blob/master/CONTRIBUTORS.rst>`_
        
        ==================================================
        Image rights
        ==================================================
        
        All images except the flags included in this repository were created by the
        team, and are included in the GPL license. The SVGs were all created in
        Inkscape.
        
        The flags included are from http://www.famfamfam.com/lab/icons/flags/, which
        as of 5/27/2019 stated it required no attribution or license. We are
        interpreting this to mean these are available in the public domain.
        
        It was important to us to make sure the entirety of this application is
        open source, and not subject to takedown request. We will not ever
        extract assets from the game or from any other web properties.
        
        Optionally, crtools can download the official Clash Royale fan kit and use
        some of the content contained. This is not the default behavior, and no
        works copywritten by Supercell are contained within this code.
        
        This content is not affiliated with, endorsed, sponsored, or specifically
        approved by Supercell and Supercell is not responsible for it. For more
        information see Supercell's Fan Content Policy: https://supercell.com/en/fan-content-policy/
        
Keywords: ClashRoyale
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Other Audience
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Programming Language :: Python :: 3
