Changelog Tools

by adamius

Changelog parser rule checker tool. Only useful for those writing mods. Requires a recent Python 3.x from www.python.org

9 months ago
0.17 - 0.18
132
Owner:
adamius
Source:
N/A
Homepage:
N/A
License:
GNU LGPLv3
Created:
11 months ago
Latest Version:
0.0.14 (9 months ago)
Factorio version:
0.17 - 0.18
Downloaded:
132 times

Python script with my (incomplete) understanding of the the Factorio changelog parser rules. Probably not useful for general players. Might contain unexpected bugs.

IMPORTANT NOTE: This is not executable from within Factorio! I'm releasing it as a mod for simpler distribution.

Requires a recent Python 3.x from www.python.org. It currently still works with Python 2.x but as that is deprecated do not expect such support to last.

The tool does not modify or directly fix changelog.txt files. It is intended as a reporting tool only.

Command line options

python3 changelog-checker.py [--mods-folder <folder path>] [--changelog <filepath>]

--mods-folder <folder path>
scan a folder as if it contains multiple subfolders or zip files. each subfolder or zip has a single mod.

--changelog
specify a particular filepath and treat is as a changelog.txt or a zipfile with a changelog.txt inside it.

--zorro
show tool's line classification. Cuts to the question of why a particular message is appearing.

--no-summary
disable the summary statistics.

Multiple --changelog pairs can be put on same command line to allow checking multiple individual files. eg --changelog mod1.zip --changelog mod2.zip
-f is an alias for --changelog
-h is an alias for --help

Quickstart for Windows users

0) confirm you know what the terminal or command prompt is and how to get to it. Hint: cmd.exe
1) install this mod from the portal
2) make sure python 3 is installed. It is downloadable from python.org. I recommend the default 64bit version. Confirm you get a python prompt if you run python3 from terminal.
3) using the command prompt terminal, go to your factorio mods folder
4) expand the da-changelog-tools zip file in that folder.
5) in the da-changelog-tools folder, double click the check-changelogs.cmd file
6) the tool will evaluate all mods and produce a report. You can use command output redirection to redirect the output report to a file.

Examples

To really use this mod, you need to open a terminal in the folder where you extracted the zip file. Then you can actually call the python script with command line parameters.

check a mods folder somewhere
python3 changelog-checker.py --mods-folder C:\Users\adamius\AppData\Roaming\Factorio\mods

check a particular text file
python3 changelog-checker.py --changelog C:\Users\adamius\AppData\Roaming\Factorio\mods\da-changelog-tools_0.0.5\changelog.txt

check a folder full of mods somewhere else
python3 changelog-checker.py --mods-folder d:\factorio\devel\mods

Note: You may not need to put python3 in front of "changelog-checker.py" or on some systems you may need to use python instead. Be aware that might use the older python 2.x instead. For clarity, all examples here will explicitly use python3.

eg more examples (each line is a separate example)
python3 changelog-checker.py --changelog C:\Users\adamius\AppData\Roaming\Factorio\mods\da-changelog-tools_0.0.5\changelog.txt

python3 changelog-checker.py --mods-folder C:\Users\adamius\AppData\Roaming\Factorio\mods

python3 changelog-checker.py --changelog changelog.txt

python3 changelog-checker.py --changelog changelog.txt > report.txt

Obviously you'll need to swap out my username if you want to use the similar full path on your system.

Thanks to:
Pi-C for his many, many error reports and suggestions.