Metadata-Version: 2.1
Name: py40kie
Version: 0.2.2
Summary: Command line Python program to extract army rules and unit cards from 10th edition Warhammer 40k indexes to create army list specific pdfs with reduced file size.
Project-URL: Homepage, https://github.com/Dragons-Ire/40k-index-pdf-extractor
Project-URL: Bug Tracker, https://github.com/Dragons-Ire/40k-index-pdf-extractor/issues
Author-email: Chris Austin <dragons.ire.oce@gmail.com>
License-File: LICENSE
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.7
Requires-Dist: pypdf~=3.12.1
Description-Content-Type: text/markdown

# Description
Command line Python program to extract army rules and unit cards from 10th edition Warhammer 40k indexes to create army list specific pdfs with reduced file size. Requires Python.

# Instructions
- Download an army index https://www.warhammer-community.com/warhammer-40000-downloads/#indexes-faqs-and-errata  
- Install [Python](https://wiki.python.org/moin/BeginnersGuide/Download)
- Install py40kie using pip:  
  ```
  pip install -U py40kie
  ```
- Run py40kie using command line:  
  ```
  py40kie [-h] [-i EXTRA_INDEXES [EXTRA_INDEXES ...]] [-o OUTPUT_PDF] [-b] [-a] [-d] [-s] [-e] [-w] [-na] [-nd]
               [-ns] [-ne] [-nw] [-r RULE_PAGES [RULE_PAGES ...]] [-v]
               index_pdf pages [pages ...]
  ```
## Army List builder instructions
- Create army list with [Google Sheet army list builder](https://drive.google.com/drive/folders/1_d0pSPt2FGUSlCSWsAF0c2JmgkWIa4DW)  
- Run the generated py40kie command  
## Examples  
  ```
  py40kie "Tyranids Index.pdf" 9 21 25 27 -o "my army list"  
  ```
  ```
  py40kie "Tyranids Index.pdf" "hive tyrant" "tyranid warriors with ranged bio-weapons" 25 "hOrMaGaUnTs" -o "./my lists/my army list"
  ```
  ```
  py40kie "Space Wolves Index.pdf" 7 1-23 "Blood Claws" 1-53 "terminator squad" "2-culexus assassin" 2-7 3-1 -o "Best Army List Ever.pdf" -i "Space Marines Index.pdf" "Agents of Imperium Index.pdf" "Imperial Armour Astartes.pdf"
  ```
  ```
  py40kie "Blood Angels Index.pdf" "Commander Dante" "Sanguinary Guard" "Lieutenant in Phobos Armour" "Death Company Marines" "Astraeus" "Culexus Assassin" "Knight Gallant" -o "super competitive list.pdf"  -i "Astartes Index.pdf" "Imperial Armour Astartes.pdf" "Agents of the Imperium Index.pdf" "Imperial Knights Index.pdf"
  ```
  
  # Arguments
  #### Postional arguments
    - The "index.pdf" file to extract cards from  
    - Space separated list of cards to extract. Can be page numbers or **exact** unit titles. Army rules, detachment rules, stratagems, enhancements and unit wargear are included automatically  
  #### Optional arguments:  
    - -o: The file to save the extracted pdf to. Folder path can be included
    - -i: Optional space separated list of additional pdfs to extract allied units from other Indexes/Imperial Armour/Legends ("1-10" to extract the card on page 10 from the first additional pdf). Also use this to extract the Adeptus Astartes army rule when using Space Marines
    - -b: Optional flag for boarding actions (extracts the army rules page but not the detachment or stratagem pages)  
    - -na: Optional flag to disable extracting the army rules page  
    - -nd: Optional flag to disable extracting the detachment rules page  
    - -ns: Optional flag to disable extracting the stratagem pages  
    - -ne: Optional flag to disable extracting the enhancements page  
    - -nw: Optional flag to disable extracting wargear pages  
    - -r: Optional argument to specify army rules and stratagem pages (space separated numbers). Use this if the army rules and stratagems are not successfully extracted from the index  
    - -v: Optional flag to override page extraction. Will extract only the page numbers specified from the main index  

# Contributions  
## Future features  
Any suggested features would be appreciated  
 - [x] Allied units from other Indexes/Imperial Armour/Legends  
 - [x] Extract Adeptus Astartes army rule page for Space Marine lists  
 - [x] Create runnable command from [Google Sheet army builder lists](https://drive.google.com/drive/folders/1_d0pSPt2FGUSlCSWsAF0c2JmgkWIa4DW)  
       [Example Sheet](https://docs.google.com/spreadsheets/d/1A1lDqmL0f_iH9OIUQWL_v83_leyhm3t0rhyC20UfrPA)  
       Original creator [u/Swelt](https://www.reddit.com/r/WarhammerCompetitive/comments/14br6rw/10e_40k_list_builder_spreadsheets)  
 - [ ] Extract extra rule pages. e.g. Deathwatch Armoury  
 - [ ] Handle exceptions gracefully  
 - [ ] Webapp version?...  


## Issues  
py40kie was not tested on all indexes. If there is any problem extracting cards please submit an issue https://github.com/Dragons-Ire/40k-index-pdf-extractor/issues/new
