0747a6b0ef
Moves to Python format strings for renaming, handles directory structures, moving of files to a destination directory, sanitizes file paths with pathvalidate and takes a different approach to smart filename cleanup using the Python string.Formatter class Moving to Python format strings means we can point to python documentation for syntax and all we have to do is document the properties and types that are attached to the GenericMetadata class. Switching to pathvalidate allows comictagger to more simply handle both directories and symbols in filenames. The only changes to the string.Formatter class is: 1. format_field returns an empty string if the value is none or an empty string regardless of the format specifier. 2. _vformat drops the previous literal text if the field value is an empty string and lstrips the following literal text of closing special characters. |
||
---|---|---|
comicapi | ||
comictaggerlib | ||
desktop-integration | ||
mac | ||
scripts | ||
unrar | ||
windows | ||
.gitignore | ||
appveyor.yml | ||
comictagger.py | ||
comictagger.spec | ||
current_version.txt | ||
Makefile | ||
MANIFEST.in | ||
README.md | ||
release_notes.txt | ||
requirements.txt | ||
setup.py | ||
todo.txt |
A fork from the primary dev branch at https://github.com/davide-romanini/comictagger
Changes:
- Ported to Python 3
- Ported to PyQt5
- Added more application and GUI awareness of the unrar library, and removed references to the old scheme that used the unrar executable.
- Got setup.py working again to build sdist packages, suitable (I think) for PyPI. An install from the package will attempt to build unrar library. It should work on most Linux distros, and was tested on a Mac OSX system with dev tools from homebrew. If the library doesn't build, the GUI has instructions on where to download the library.
- Removed/changes obsolete links to old Google code website.
- Set a environment variable to scale the GUI on 4k displays
Notes:
- I did some testing with the pyinstaller build, and it worked on both platforms. I did encounter two problems:
- Mac build showed the wrong widget set. I found a solution here that seemed to work: https://stackoverflow.com/questions/48626999/packaging-with-pyinstaller-pyqt5-setstyle-ignored
- Windows build had problems grabbing images from ComicVine using SSL. It think that some libraries are missing from the monolithic exe, but I couldn't figure out how to fix the problem.
- In setup.py you can also find the remains of an attempt to do some desktop integration from a pip install. It does work, but can cause problems with wheel installs, and I don't know if it's worth the bother. I kept the commented-out code in place, just in case.
With Python 3, it's much easier to get the app working from scratch on a new distro, as all of the dependencies are available as wheels, including PyQt5, so just a simple "pip install comictagger.zip" is all that's needed.