Small application to convert image descriptions (both IPTC and XMP) from Spacesuit Media's to Motorsport-UK's preferred format.
Note
Update 02/03/2025
This now includes a tool to create a csv based on a rally's entry list (from rallies.info)
- Download the latest release from releases
- Extract the zip
- Run the installation script (installer.app)
- Run the
.dmgfile and drag to "Applications" - Select and run "MSUK-Description-Fixer" from launchpad, spotlight, RayCast etc
Important
When running the application for the first time, you may see security warnings. This is normal for applications not from the App Store. Here's how to handle them:
- In Finder, right-click (or Control-click) the app
- Select "Open" from the context menu
- Click "Open" in the security dialog
- Only needs to be done once
xattr -d com.apple.quarantine "/Applications/MSUK-Description-Fixer.app"The same process applies to the installer:
- Right-click
installer.app - Select "Open"
- Click "Open" in the security dialog Note: These steps are necessary because this is an open-source application not signed with an Apple Developer certificate.
If you're me (jamesmpigott) or otherwise insane, here's how you can get this repo setup for local development.
- Python 3.7+
- pip (Python package manager)
- Homebrew
- (if you don't have this installed, the installer script will install this for you)
- exempi
- create-dmg
# Install system-level dependencies via homebrew
brew install exempi create-dmg
# Clone repo
git clone https://github.com/jamesmpigott/iptc.git
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
# Optional - if you need to run create_dmg.sh locally
chmod +x create_dmg.shFrom this point, you've got a few files of note:
terminal.py: Terminal-based version of the applicationgui.py: GUI-based version of the applicationinstall_deps.py: Installer scriptcreate_dmg.sh: Script to create .dmg file, based on Kevin Marville's setup_and_package.sh script.
# compile .py files
pyinstaller gui.spec
pyinstaller installer.spec
# Create .dmg file
./create_dmg.shpush to main, with a tag in the following format: v{version}, i.e v.1.2.5. Please use Semantic Versioning for the version string.
The build-release.yml action should take care of the rest.