12 Commits

Author SHA1 Message Date
Nick Vance
250a9e4b51 Card db refactoring (#105)
* Code refactoring for card db change (#86)
This assumes the following file structure:
```
card_db/
    cards_db.json
    sets_db.json
    <language>/
        cards_text.json
        sets_text.json
```
Files that are needed are:

- cards_db.json
- cards_text.json and sets_text.json for each supported language

**Other changes:**

Added option called `--edition` that can be "1", "2", "latest", or "all". Defaults to "all".
This allows for a quick filtering for those that don't want everything (i.e., "all").

- "1" is for all 1st editions of expansions. It also includes 2nd edition update packs.
- "2" is for all 2nd editions of expansions. So base, Dominion 2nd ed., and Intrigue 2nd ed. (no update packs, since already in 2nd edition)
- "latest" is for base, Dominion 2nd ed., and Intrigue 2nd ed., and all the remaining 1st editions.

Cards can be grouped 3 ways:

- No grouping (default)
- In expansion grouping invoked with `--special_card_groups`.
- Grouping across expansions with `--exclude_events` and `--exclude_landmarks`.  These groups are placed in a set called "Extras".   `--exclude_prizes` is not currently implemented.

Added an option called `--upgrade_with_expansion` which will put the upgraded cards into the corresponding earlier expansion.  So all 1st edition cards as well as the upgrade cards appear in the 1st edition set.  That way the cards are listed on the expansion dividers and any tab/ordering fit the expansion as a whole.  And because of the deleted cards in 2nd edition, this is a different list of cards than just using the 2nd edition.

* update set image mapping for 2nd edition icons
* add improved set icons from https://boardgamegeek.com/filepage/73273/dominion-card-icons-vector-images
* recompress all images
* new format for cards_db.json and translations
* Added short name to sets
* Updates to allow blank set images for base cards and fix blank set image for the "Extras" set.  Also removed base_set.png which is no longer needed (again!)
* scaled all set images to be exactly 300 x 300 pixels for consistency and better printing
* Updated __init__.py and cards.py to automatically find the "lowest cost" value from all the cards in a group.
* Update carddb_tests.py
  * Updated set information in testcases
  * Changed test of cardset to test cardset_tag instead.  Since that is what everything keys off of now.
  * Updated the language tests to pull in the language parts before making the check.
* Standardize on ISO8859-15 (#98)
* Remove Trash Card from 2nd edition, replace HTML line breaks & unicode
* Better Error Handling for Font Errors
* Added text formating codes
Added text formatting codes for "extra" and "description" fields.  This includes:
<tab> and <t> to add a tab (4 spaces)
<n> as an alternative to \n (hard new line)
<br> as an alternative to <br /> (soft new line)
<c> and <center> to center text in this paragraph until the next hard new line
<l> and <left> to left align text in this paragraph until the next hard new line
<r> and <right> to right align text in this paragraph until the next hard new line.
<line> to add a hard new line, a centered dividing line, and a trailing hard new line.
<line> to put a centered line
This goes with the <b>..</b> for bold, <i>..</i> for italics, and <u>..</u> for underline that was already existing (but probably not remembered.
* Update card count presentation (#116)
* wvoigt added automatic bonus highlighting (#119)
2016-12-10 21:05:34 -08:00
Michael Rice
1cfc6e3e24 Fixed "Settlers / Bustling Village" group as it was backward (#84)
causing it not to match cards.json.  Also copied the updates
from 7355c8f6 into the other three card_groups.json, as new
entries needing translation.
2016-10-23 20:08:06 -07:00
Wendel Voigt
669fa4c7e6 Add card counts and wrapper/slipcase features (#65)
This adds card counts and the option to print wrappers (aka slipcases).
It fixes issues #45, #47, and #48.
2016-07-06 14:16:06 -07:00
Sumpfork
ad6b169bcd same cards were missing for Italian 2015-11-05 15:00:08 -08:00
Sumpfork
d8de5db94a delete text versions of italian card db 2015-11-03 14:48:16 -08:00
Sumpfork
b200c9da9d simplify language mapping to always use english card type tags - we never show them in the generated pdf anyway 2015-11-03 14:34:19 -08:00
Sumpfork
96fb4bb8e0 bite the bullet: JSON card db is now the true source; remove text versions of card db, update card groups to JSON 2015-11-03 14:09:53 -08:00
Sumpfork
1b96a9ceb8 Throw out yaml as the python yaml library is badly documented and out of date; use JSON everywhere instead 2015-11-03 13:21:41 -08:00
Sumpfork
68f4d827a5 More cleanups and proper decoding for Italian - mostly working 2014-11-25 13:04:10 -08:00
Sumpfork
f112df29ed language mapping for terms; start cleaning up italian files 2014-11-20 14:26:27 -08:00
Sumpfork
1f4ded0f93 turn files into utf-8 for easy parsing 2014-11-19 13:27:36 -08:00
Sumpfork
753f7f7c09 start integrating multilingual versions; italian not working yet 2014-11-19 12:56:35 -08:00