Menu

Tree [f9eb4b] default tip /
 History

Read Only access


File Date Author Commit
 merge_tool_configs 2017-07-08 Peter Zaitcev Peter Zaitcev [f9eb4b] Refactoring. Default directory support. Ynnari ...
 .hgignore 2017-06-20 Petr Zaytsev Petr Zaytsev [98347d] #1: Merge-tool: Minor fixes
 README.md 2017-06-28 Peter Zaitcev Peter Zaitcev [d0dd2e] Refactoring: default directory support
 battlescribe.py 2017-07-08 Peter Zaitcev Peter Zaitcev [f9eb4b] Refactoring. Default directory support. Ynnari ...
 merge_tool.py 2017-07-08 Peter Zaitcev Peter Zaitcev [f9eb4b] Refactoring. Default directory support. Ynnari ...
 pyscribe_scripts.py 2017-06-28 Petr Zaytsev Petr Zaytsev [43c143] #7: Catalog separated
 warscribe.pyproj 2017-07-08 Peter Zaitcev Peter Zaitcev [f9eb4b] Refactoring. Default directory support. Ynnari ...
 warscribe.sln 2017-06-09 Peter Zaitcev Peter Zaitcev [352bc5] Added copy-options functionality; added vs info...

Read Me

Merge Tool

How to:

  1. Make sure Python 3 or higher is installed. Can download from here
  2. File merge_tool_configs/config.json is required to work. Find required config (ynnari.config.json, as example), and copy it into config.json, or create a new one. Then open it as text file and check:
  3. Check catalogs to be merged - catalogs variable (first one is target, orhers will be merged into). Case-sensitive in Linux, extensions are added automatically.
  4. Check directory catalogs are stored - directory variable (in double quotmarks). Case-sensitive in Linux. If missing (or null, or "default"), tool will try to find catalogs in the default BattleScribe directory, including all subdirectories.
  5. Check name of resulting file - resultName. Extensions are added automatically.
  6. actions field should link to the file listing the post-merge actions
  7. dynamic_config field should link to the file where all dynamic information is stored
  8. If required, can check & edit merge_tool/actions.json file.
  9. Run merge_tool.py
  10. Due to internal issues, resulting catalog is recommended to be opened in data editor and saved. Otherwise it wound work, but there will be difference in about any line due to xml node attributes sorted by name.

What it does:

  1. It opens listed catalogs and merges them into first.
  2. It resolves all id conflicts.
  3. If any ids are to be generated, it will check if id was generated in previous runs, so elements will have same id if run this tool several times.
  4. It reads config listed in actions field (ynnari.actions.json, for example) and reproduces its steps in order. In example, it can merge all enrties with same name, type and shared status.

Ynnari config:

  1. Finds files in the default BattleScribe directory and all subdirectories.
  2. Merges "Aeldari - Halequins", "Aeldari - Craftworlds" and "Aeldari - Drukhari" into "Aeldari - Ynnari".
  3. All links to unallowed units removed (Haemonculus coven, i.e.).
  4. All categories with same name merged.
  5. All entries with same name, shared status and type merged.
  6. All links to 4 faction rules removed (Ancient Doom, Battle Focus, Power from Pain, Rising Crescendo).
  7. Links to "Strength from Death" added for all bikers and infantry units.
  8. Saves as "Aeldari - Ynnari (merged)"

Supported actions:

  1. remove - removes all instances that match condition, as well as links to them.
  2. remove hard - same as above + removes anything that contains removed items.
  3. merge - merge elements those match condition and have same attributes. Element with first Id in alphabetical order will be used. Note that this operation is not fast enough.
  4. link - add link to specific element for elements those match very specific condition.

Other Usage

Please, contact author for more support. Documentation is not provided yet.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.