Skip to main content

Website on VTES Strategy, cards rulings and TWD search interface

Project description

Codex of the Damned

PyPI version Validation Python version License Code Style

This site is a compilation of Vampire: the Eternal Struggle strategy resources. The site is publicly available at codex-of-the-damned.org.

Portions of the materials are the copyrights and trademarks of Paradox Interactive AB, and are used with permission. All rights reserved. For more information please visit www.worldofdarkness.com.

Dark Pack

Contributing

Contributions are welcome. Pull Requests will be merged if they respect the general style. Issues will be dealt with as quickly as possible.

This site uses Flask and Babel to generate pages dynamically and handle internationalisation.

Installation

To install a working developpment version of the site, use pip:

python3 -m venv venv
pip install -e ".[dev]"

Translating

Install a PO editor like POEdit, call the following command to generate the messages in the language you're interested in:

BABEL_LANG=es make po-update

Then open the generated catalog file, codex_of_the_damned/translations/es/LC_MESSAGES/messages.po, in your PO editor.

While translating, beware to keep the HTML tags like <p>, <em> as they are, and make sure you keep the exact same format parameters in the translated text. They include anything dynamic, from disciplines like %(cel)s and clans like %(brujah)s, to cards like %(alastor)s and external urls like %(johns_deck).

Once you're done translating, generate the translation files with:

make po

To make a new language accessible in the website, you simply have to add the matching line in the translation nav header of the global layout codex_of_the_damned/templates/layout.html:

<nav role="translation">
    {{ translation('en', "🇬🇧") }}
    {{ translation('fr', "🇫🇷") }}
</nav>

Run a dev server

You can run the development version of the site using the codex entrypoint:

$ codex
 * Serving Flask app "codex_of_the_damned" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

You can set the DEBUG environment variable to activate the debug mode:

DEBUG=1 codex

Production deployment

To run the production server, you'll need a web server like uWSGI:

uwsgi --module codex_of_the_damned:app

or Gunicorn:

gunicorn codex_of_the_damned:app

Useful tools

Icons

Convert icons from raster to SVG using imagemagick and potrace, depending on the icon, smoothing may be better or not:

convert -morphology Smooth Octagon:2 clan-ahrimanes.gif clan-ahrimanes.svg

Google Translate

Use python and Google Translate to help with translation:

import clipboard
import pprint
import re

def pre():
    s = "".join(s[1:-1] for s in clipboard.paste().split("\n"))
    s = re.sub(r"%\(([^\)]*)\)s", r"§K3PX\1§", s)
    clipboard.copy(s)

def post():
    s = clipboard.paste()
    s = pprint.pformat(re.sub(r"§K3PX([^§]*)§", r"%(\1)s", s), width=120)
    s = re.sub(
            r"(^')|('$)",
            '"',
            re.sub(r"^\s*", "", s[1:-1], flags=re.MULTILINE),
            flags=re.MULTILINE
        ).replace("\\n", "")
    clipboard.copy(s)

# usage:
#  > copy paragraph to translate from the PO file
# pre()
# > copy translation
# post()
# > copy result to the PO file

Project details


Release history Release notifications | RSS feed

This version

1.69

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codex_of_the_damned-1.69.tar.gz (22.2 MB view details)

Uploaded Source

Built Distribution

codex_of_the_damned-1.69-py3-none-any.whl (22.4 MB view details)

Uploaded Python 3

File details

Details for the file codex_of_the_damned-1.69.tar.gz.

File metadata

  • Download URL: codex_of_the_damned-1.69.tar.gz
  • Upload date:
  • Size: 22.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for codex_of_the_damned-1.69.tar.gz
Algorithm Hash digest
SHA256 6e7d36447e1a82f0d1cbd19bb305d8ae5940aa483c96f4a6b51c50cd1ee9bc95
MD5 e88f25aa28b4eb8cb86433231edc8420
BLAKE2b-256 b0104f63c0dd097685f1a95051bbd6f119c6a8d546914fcb648b7d0b8b1b12b9

See more details on using hashes here.

File details

Details for the file codex_of_the_damned-1.69-py3-none-any.whl.

File metadata

File hashes

Hashes for codex_of_the_damned-1.69-py3-none-any.whl
Algorithm Hash digest
SHA256 722a0a1587f7eb2636db6fd3df4e955c465b38b73c88ea4e50f8b04f0af6e31f
MD5 1a7352f8cea35627a99e08d088f229bf
BLAKE2b-256 14cf6ed85be9d8cb892ffb6d9b174698c76d7368a83fd3c19c70693fc77d423c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page