# piwiPre
piwiPre is a python/windows tool to prepare pictures and video for piwigo (and any other album management),
and maintain the piwigo album and database
It was initially developed for a piwigo instance running on a remote server such as a Synology NAS,
while the 'photo' and 'thumbnails' directories are accessible from a PC where piwiPre is run,
but it can run on many other configurations.
Many features can be useful even when piwigo is not used.
piwiPre executes the following tasks:
1. Read configuration files and command-line argument to insure a high level of configuration.
2. Process new pictures/video on the local host in the TRIAGE directory and copy them on the piwigo server
- process copy of content and leave original unmodified
- convert most (managed by python) pictures formats to JPG
- convert most (managed by ffmpeg) video formats to MP4
- realign picture rotation, according to EXIF data
- perform correction on picture/video dates according to settings
- insert metadata (copyright, instructions, author) in the JPEG IPTC or MP4 file
- rename pictures according to a user-defined scheme
- replace by '_' characters that piwigo does not support in filenames
- avoid collision of filenames
- create the corresponding sub-album in piwigo, inserted in the increasing order of subdirectories
- put updated copies into ALBUM, through file copy, NFS or ssh/sftp
- build piwigo thumbnails, even for video
- copy thumbnails to the appropriate location, through file copy, NFS or ssh/sftp
- self-configure ALBUM for maintenance
- update the piwigo SQL database with metadata and MD5 checksum
3. Maintain ALBUM
- work only on selected directories
- Ensure the directory is aligned with the current configuration
- Insert pictures and video in the piwigo database, with metadata, md5 checksum and author
- Update the information stored in the piwigo database
4. log intensively the actions
piwiPre comes with:
- a Windows installer: pwpInstaller.exe, with and without Graphical User Interface (--gui true)
- a GUI that can be used to configure and/or run the program : piwiPre --gui true
- cmdline versions of piwiPre and pwpInstaller
- a python version of pwpConfigurator, that runs on Linux and Windows
- Python source code,
- a Python library downloadable from Pypi,
- Windows Executable versions
- 74 configuration items
- a complete user documentation in English and French (see bellow)
- test coverage at 95% of the code
## what piwiPre does *not*
piwiPre does not manage synology thumbnails created by Synology file-station in @eaDir directories,
which is not a concern because those thumbnails are small (less than 500KB).
## How to get piwiPre
- Python module on Pypi : https://pypi.org/project/piwiPre
- Python source on gitlab: https://gitlab.com/fabien_battini/piwiPre
- Windows installer and one-file exes on gitlab artifacts: https://fabien_battini.gitlab.io/piwipre/html/download.html
# How to use piwiPre (short)
1. Copy new pictures and videos from your cameras to the TRIAGE directory.
2. Create subdirectories is TRIAGE according to your taste
- The name of the subdirectory will be a base for the new filename of pictures
- move files into one of those.
3. Optionally edit the pictures in TRIAGE with digiKam, gimp or other image processing tool.
4. If you want managed files to be written to a remote piwigo server, then you need a piwiPre.ini configuration file.
- If it does not exist, create one by running 'piwiPre --gui true'
- If ALBUM, THUMBNAILS and AUTO-CONFIG directories are accessible, album, thumbnails and auto-config should be set.
- If the sql database is accessible, sql-user, sql-pwd, sql-host, sql-port should be set.
- You may want to change the (english speaking) default values for month-name, copyright, instructions.
5. Run piwiPre
6. Results:
- pictures have metadata inserted
- picture rotation is reset to default
- Files are renamed according to directories, dates
- the thumbnails are generated
- the corresponding sub-album has been created in piwigo, inserted in the increasing order of subdirectories
- files have been copied to ALBUM
- piwigo database is updated
- so, the corresponding pictures should be visible in piwigo without further action
- piwiPre.log holds an exhaustive log
# piwiPre as a tool
piwiPre is also a command-line tool, with command-line options.
For more information:
``piwiPre --help
or python -m piwiPre --help
``
# Documentation
Documentation is built using Sphinx https://www.sphinx-doc.org/
Documentation is generated in https://fabien_battini.gitlab.io/piwipre/html/
This process is achieved automatically through gitlab CI pipelines.
gitlab: https://gitlab.com/fabien_battini/piwipre
doc : https://fabien_battini.gitlab.io/piwipre/html/
test coverage: https://fabien_battini.gitlab.io/piwipre/html/htmlcov/index.html
pypi: https://pypi.org/project/piwipre/
LinkedIN: https://www.linkedin.com/in/fabien-battini-supelec/
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/fabien.battini/piwipre",
"name": "piwiPre",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "piwigo images pictures video",
"author": "Fabien BATTINI",
"author_email": "fabien.battini@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a2/37/c83a2ee582aec8e7133932044be2dae2844fe28f668cf86e2be4b70d90bf/piwipre-0.21.2.tar.gz",
"platform": null,
"description": "# piwiPre\r\n\r\npiwiPre is a python/windows tool to prepare pictures and video for piwigo (and any other album management), \r\nand maintain the piwigo album and database\r\n\r\nIt was initially developed for a piwigo instance running on a remote server such as a Synology NAS, \r\nwhile the 'photo' and 'thumbnails' directories are accessible from a PC where piwiPre is run, \r\nbut it can run on many other configurations. \r\n\r\nMany features can be useful even when piwigo is not used.\r\n\r\npiwiPre executes the following tasks:\r\n\r\n1. Read configuration files and command-line argument to insure a high level of configuration.\r\n\r\n2. Process new pictures/video on the local host in the TRIAGE directory and copy them on the piwigo server\r\n - process copy of content and leave original unmodified\r\n - convert most (managed by python) pictures formats to JPG\r\n - convert most (managed by ffmpeg) video formats to MP4\r\n - realign picture rotation, according to EXIF data\r\n - perform correction on picture/video dates according to settings\r\n - insert metadata (copyright, instructions, author) in the JPEG IPTC or MP4 file\r\n - rename pictures according to a user-defined scheme\r\n - replace by '_' characters that piwigo does not support in filenames\r\n - avoid collision of filenames\r\n - create the corresponding sub-album in piwigo, inserted in the increasing order of subdirectories\r\n - put updated copies into ALBUM, through file copy, NFS or ssh/sftp\r\n - build piwigo thumbnails, even for video\r\n - copy thumbnails to the appropriate location, through file copy, NFS or ssh/sftp\r\n - self-configure ALBUM for maintenance\r\n - update the piwigo SQL database with metadata and MD5 checksum\r\n\r\n3. Maintain ALBUM \r\n - work only on selected directories\r\n - Ensure the directory is aligned with the current configuration\r\n - Insert pictures and video in the piwigo database, with metadata, md5 checksum and author\r\n - Update the information stored in the piwigo database\r\n \r\n4. log intensively the actions\r\n\r\npiwiPre comes with:\r\n - a Windows installer: pwpInstaller.exe, with and without Graphical User Interface (--gui true)\r\n - a GUI that can be used to configure and/or run the program : piwiPre --gui true\r\n - cmdline versions of piwiPre and pwpInstaller \r\n - a python version of pwpConfigurator, that runs on Linux and Windows\r\n - Python source code, \r\n - a Python library downloadable from Pypi, \r\n - Windows Executable versions\r\n - 74 configuration items\r\n - a complete user documentation in English and French (see bellow)\r\n - test coverage at 95% of the code\r\n\r\n## what piwiPre does *not*\r\n\r\npiwiPre does not manage synology thumbnails created by Synology file-station in @eaDir directories,\r\nwhich is not a concern because those thumbnails are small (less than 500KB).\r\n\r\n\r\n## How to get piwiPre\r\n\r\n- Python module on Pypi : https://pypi.org/project/piwiPre\r\n- Python source on gitlab: https://gitlab.com/fabien_battini/piwiPre\r\n- Windows installer and one-file exes on gitlab artifacts: https://fabien_battini.gitlab.io/piwipre/html/download.html\r\n\r\n\r\n# How to use piwiPre (short)\r\n\r\n1. Copy new pictures and videos from your cameras to the TRIAGE directory.\r\n\r\n2. Create subdirectories is TRIAGE according to your taste\r\n - The name of the subdirectory will be a base for the new filename of pictures\r\n - move files into one of those.\r\n\r\n3. Optionally edit the pictures in TRIAGE with digiKam, gimp or other image processing tool.\r\n\r\n4. If you want managed files to be written to a remote piwigo server, then you need a piwiPre.ini configuration file.\r\n - If it does not exist, create one by running 'piwiPre --gui true'\r\n - If ALBUM, THUMBNAILS and AUTO-CONFIG directories are accessible, album, thumbnails and auto-config should be set.\r\n - If the sql database is accessible, sql-user, sql-pwd, sql-host, sql-port should be set. \r\n - You may want to change the (english speaking) default values for month-name, copyright, instructions.\r\n \r\n5. Run piwiPre\r\n\r\n6. Results:\r\n - pictures have metadata inserted\r\n - picture rotation is reset to default\r\n - Files are renamed according to directories, dates\r\n - the thumbnails are generated\r\n - the corresponding sub-album has been created in piwigo, inserted in the increasing order of subdirectories\r\n - files have been copied to ALBUM\r\n - piwigo database is updated\r\n - so, the corresponding pictures should be visible in piwigo without further action\r\n - piwiPre.log holds an exhaustive log\r\n \r\n# piwiPre as a tool\r\n\r\npiwiPre is also a command-line tool, with command-line options.\r\nFor more information:\r\n\r\n``piwiPre --help\r\n or python -m piwiPre --help\r\n``\r\n\r\n# Documentation\r\n\r\nDocumentation is built using Sphinx https://www.sphinx-doc.org/\r\n\r\nDocumentation is generated in https://fabien_battini.gitlab.io/piwipre/html/\r\nThis process is achieved automatically through gitlab CI pipelines.\r\n\r\ngitlab: https://gitlab.com/fabien_battini/piwipre\r\n\r\ndoc : https://fabien_battini.gitlab.io/piwipre/html/ \r\n\r\ntest coverage: https://fabien_battini.gitlab.io/piwipre/html/htmlcov/index.html \r\n\r\npypi: https://pypi.org/project/piwipre/\r\n\r\nLinkedIN: https://www.linkedin.com/in/fabien-battini-supelec/\r\n",
"bugtrack_url": null,
"license": null,
"summary": "pictures & video preparation tool for piwigo",
"version": "0.21.2",
"project_urls": {
"Homepage": "https://gitlab.com/fabien.battini/piwipre"
},
"split_keywords": [
"piwigo",
"images",
"pictures",
"video"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "81d4ecae1b39f96373a3a9ae6cee4e1d2496588a13496eac1fa4cc739efb0a98",
"md5": "fffd9790350be902d861ae80f37fd528",
"sha256": "3401399267d8dab0aceba4376391ab679c29a61ed9ee42895ff33f21a91ea1ed"
},
"downloads": -1,
"filename": "piwiPre-0.21.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fffd9790350be902d861ae80f37fd528",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 164590,
"upload_time": "2024-12-06T13:16:18",
"upload_time_iso_8601": "2024-12-06T13:16:18.820450Z",
"url": "https://files.pythonhosted.org/packages/81/d4/ecae1b39f96373a3a9ae6cee4e1d2496588a13496eac1fa4cc739efb0a98/piwiPre-0.21.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a237c83a2ee582aec8e7133932044be2dae2844fe28f668cf86e2be4b70d90bf",
"md5": "9e411186650aba764bc4f1f4dd712d84",
"sha256": "82d313d25097eaca8c8f0f2d04ac12a59040f9aad369b14f6ba249193b19cb22"
},
"downloads": -1,
"filename": "piwipre-0.21.2.tar.gz",
"has_sig": false,
"md5_digest": "9e411186650aba764bc4f1f4dd712d84",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 183129,
"upload_time": "2024-12-06T13:16:20",
"upload_time_iso_8601": "2024-12-06T13:16:20.752757Z",
"url": "https://files.pythonhosted.org/packages/a2/37/c83a2ee582aec8e7133932044be2dae2844fe28f668cf86e2be4b70d90bf/piwipre-0.21.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-06 13:16:20",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "fabien.battini",
"gitlab_project": "piwipre",
"lcname": "piwipre"
}