Rename MediaCurator to mediacurator and update to version 1.0.1

- Breaking change: Renamed the project from 'MediaCurator' to 'mediacurator' to standardize naming conventions (all lowercase).
- Updated all references across documentation and source files:
  - README.md
  - Various .rst documentation files (installation, manual, use cases, errors, warnings)
  - Python source files in 'mediacurator/library' and main 'mediacurator.py'
  - setup.py
- Incremented version from 0.0.13 to 1.0.1 to reflect breaking changes.
- Added release notes for 1.0.1 in docsource/source/releasenotes/1.0.1-changelog.rst
This commit is contained in:
Fabrice Quenneville 2024-10-17 19:58:25 -04:00
parent 53f6da9835
commit 80ef63eccd
12 changed files with 94 additions and 40 deletions

View File

@ -1,20 +1,22 @@
# MediaCurator # mediacurator
MediaCurator is a Python command line tool to manage a media database. mediacurator is a Python command line tool to manage a media database.
* List all the videos and their information with or without filters
* Batch find and repair/convert videos with encoding errors - List all the videos and their information with or without filters
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions … - Batch find and repair/convert videos with encoding errors
- Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions …
## Documentation ## Documentation
The documentation is available on the following [link](https://fabquenneville.github.io/MediaCurator/) The documentation is available on the following [link](https://fabquenneville.github.io/mediacurator/)
## Releases ## Releases
MediaCurator is released on [PyPi](https://pypi.org/project/MediaCurator/). mediacurator is released on [PyPi](https://pypi.org/project/mediacurator/).
Instalation instructions are found on the [Github page](https://fabquenneville.github.io/MediaCurator/usage/installation.html). Instalation instructions are found on the [Github page](https://fabquenneville.github.io/mediacurator/usage/installation.html).
## Usage ## Usage
mediacurator [list,convert] [-del] [-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-out:mkv/mp4,x265/av1] [-print:list,formated,verbose] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"] mediacurator [list,convert] [-del] [-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-out:mkv/mp4,x265/av1] [-print:list,formated,verbose] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
> for multiple files or filenames use double comma separated values ",," > for multiple files or filenames use double comma separated values ",,"
@ -26,6 +28,7 @@ default options are:
-print:list -print:list
Examples: Examples:
```bash ```bash
mediacurator list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt mediacurator list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
mediacurator convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/" mediacurator convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
@ -33,9 +36,11 @@ mediacurator convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
``` ```
## Contributing ## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate. Please make sure to update tests as appropriate.
## License ## License
[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/) [GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/)

View File

@ -14,10 +14,9 @@
# import sys # import sys
# sys.path.insert(0, os.path.abspath('.')) # sys.path.insert(0, os.path.abspath('.'))
# -- Project information ----------------------------------------------------- # -- Project information -----------------------------------------------------
project = 'MediaCurator' project = 'mediacurator'
copyright = '2020, Fabrice Quenneville' copyright = '2020, Fabrice Quenneville'
author = 'Fabrice Quenneville' author = 'Fabrice Quenneville'
version = '0.0.13' version = '0.0.13'
@ -27,8 +26,7 @@ version = '0.0.13'
# Add any Sphinx extension module names here, as strings. They can be # Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones. # ones.
extensions = [ extensions = []
]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates'] templates_path = ['_templates']
@ -38,7 +36,6 @@ templates_path = ['_templates']
# This pattern also affects html_static_path and html_extra_path. # This pattern also affects html_static_path and html_extra_path.
exclude_patterns = [] exclude_patterns = []
# -- Options for HTML output ------------------------------------------------- # -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for # The theme to use for HTML and HTML Help pages. See the documentation for

View File

@ -1,19 +1,19 @@
.. MediaCurator documentation master file, created by .. mediacurator documentation master file, created by
sphinx-quickstart on Fri Nov 20 22:46:06 2020. sphinx-quickstart on Fri Nov 20 22:46:06 2020.
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
======================================== ========================================
Welcome to MediaCurator's documentation! Welcome to mediacurator's documentation!
======================================== ========================================
MediaCurator is a Python command line tool to manage a media database. mediacurator is a Python command line tool to manage a media database.
* List all the video's and their information with or without filters * List all the video's and their information with or without filters
* Batch find and repair/convert videos with encoding errors * Batch find and repair/convert videos with encoding errors
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions ... * Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions ...
The source code can be found on `GitHub <https://github.com/fabquenneville/MediaCurator>`_ The source code can be found on `GitHub <https://github.com/fabquenneville/mediacurator>`_
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2

View File

@ -0,0 +1,52 @@
========================================
mediacurator 1.0.1 Release Notes
========================================
Highlights
==========
Dropped Support
===============
Compatibility Notes
====================
* Renamed
Python Support
--------------
mediacurator has been tested on Python 3.12.6.
FFMPEG Support
--------------
mediacurator has been tested to work with FFMPEG version 7.0.2.
OS Support
----------
mediacurator has been tested to work on various GNU/Linux distributions as well as Windows.
New Features
============
Improvements
============
* Standardized audio, subtitle and metadata copying.
* Added support for .mov and .ts formats.
* Introduced CRF (Constant Rate Factor) settings for AV1 and x265 for better control over quality and file size.
Changes
=======
Deprecations
============
Future Changes
==============
* More filters
* Test AV1 Support
* Prepare API for GUI

View File

@ -22,16 +22,16 @@ Here are some example errors that mediacurator will print and can possibly repai
FFmpeg issues FFmpeg issues
------------- -------------
While using FFmpeg depending on your version you may also face other errors like segfaults. MediaCurator will also print information when that occurs and move on to the next video after cleaning up after failure. While using FFmpeg depending on your version you may also face other errors like segfaults. mediacurator will also print information when that occurs and move on to the next video after cleaning up after failure.
If that happens there are a few steps you can take: If that happens there are a few steps you can take:
* `Update FFmpeg <https://ffmpeg.org/download.html>`_ to its latest version as it is a very active project and most distributions serve old versions in their repositories * `Update FFmpeg <https://ffmpeg.org/download.html>`_ to its latest version as it is a very active project and most distributions serve old versions in their repositories
* Run MediaCurator with the verbose print option wich will print the raw FFmpeg output * Run mediacurator with the verbose print option wich will print the raw FFmpeg output
* Try again: In my experience some errors don't necessarly recur... * Try again: In my experience some errors don't necessarly recur...
Other bugs Other bugs
---------- ----------
If you face other bugs, issues or want to suggest features feel free to open a bug report on `GitHub <https://github.com/fabquenneville/MediaCurator/issues>`_ If you face other bugs, issues or want to suggest features feel free to open a bug report on `GitHub <https://github.com/fabquenneville/mediacurator/issues>`_

View File

@ -2,7 +2,7 @@
Installation Installation
============ ============
This package has only been tested on GNU/Linux & Windows and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/MediaCurator.git>`_ This package has only been tested on GNU/Linux & Windows and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/mediacurator.git>`_
Install FFmpeg Install FFmpeg
-------------- --------------
@ -15,4 +15,4 @@ Install from PyPi
.. code-block:: bash .. code-block:: bash
:linenos: :linenos:
pip install MediaCurator pip install mediacurator

View File

@ -5,7 +5,7 @@ Manual
Name Name
---- ----
MediaCurator mediacurator
Synopsis Synopsis
-------- --------
@ -34,7 +34,7 @@ default options are:
Description Description
----------- -----------
MediaCurator is a Python command line tool to manage a media database. mediacurator is a Python command line tool to manage a media database.
* List all the video's and their information with or without filters * List all the video's and their information with or without filters
* Batch find and repair/convert videos with encoding errors * Batch find and repair/convert videos with encoding errors

View File

@ -2,7 +2,7 @@
Use cases Use cases
========= =========
The main reasons to use MediaCurator would be the following: The main reasons to use mediacurator would be the following:
* :ref:`list_cmd` on a video library such as: * :ref:`list_cmd` on a video library such as:
- How many videos of the lot are in HD vs standard or substandard definitions - How many videos of the lot are in HD vs standard or substandard definitions

View File

@ -2,7 +2,7 @@
Warnings Warnings
======== ========
Before using the delete feature please try a few dry runs to get acquainted with MediaCurator as it can irreparably damage your media library when not used properly. Before using the delete feature please try a few dry runs to get acquainted with mediacurator as it can irreparably damage your media library when not used properly.
When using the -del flag here is the expected behavior: When using the -del flag here is the expected behavior:
@ -42,4 +42,4 @@ To delete all videos in a folder:
All these commands can have valuable use but are irrecoverable if done unintended. All these commands can have valuable use but are irrecoverable if done unintended.
Again, please try a few dry runs without -del until you are acquainted with MediaCurator. Again, please try a few dry runs without -del until you are acquainted with mediacurator.

View File

@ -57,9 +57,9 @@ class MediaLibrary():
text = "" text = ""
if self.directories: if self.directories:
text += f"MediaCurator is watching the following directories: " text += f"mediacurator is watching the following directories: "
text += '\n '.join(map(str, self.directories)) + '\n' text += '\n '.join(map(str, self.directories)) + '\n'
text += f"MediaCurator is tracking {len(self.videos)} video files" text += f"mediacurator is tracking {len(self.videos)} video files"
return text return text
def load_directories(self, verbose=False): def load_directories(self, verbose=False):

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
''' '''
MediaCurator is a Python command line tool to manage a media database. mediacurator is a Python command line tool to manage a media database.
* List all the video's and their codecs with or without filters * List all the video's and their codecs with or without filters
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs ... * Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs ...
ex: ex:
@ -35,7 +35,7 @@ creset = colorama.Fore.RESET
def main(): def main():
''' '''
MediaCurator's main function mediacurator's main function
Returns: Returns:
''' '''

View File

@ -6,18 +6,18 @@ with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read() long_description = fh.read()
setuptools.setup( setuptools.setup(
name="MediaCurator", name="mediacurator",
version="0.0.13", version="0.0.13",
author="Fabrice Quenneville", author="Fabrice Quenneville",
author_email="fab@fabq.ca", author_email="fab@fabq.ca",
url="https://github.com/fabquenneville/MediaCurator", url="https://github.com/fabquenneville/mediacurator",
download_url="https://pypi.python.org/pypi/MediaCurator", download_url="https://pypi.python.org/pypi/mediacurator",
project_urls={ project_urls={
"Bug Tracker": "https://github.com/fabquenneville/MediaCurator/issues", "Bug Tracker": "https://github.com/fabquenneville/mediacurator/issues",
"Documentation": "https://fabquenneville.github.io/MediaCurator/", "Documentation": "https://fabquenneville.github.io/mediacurator/",
"Source Code": "https://github.com/fabquenneville/MediaCurator", "Source Code": "https://github.com/fabquenneville/mediacurator",
}, },
description="MediaCurator is a Python command line tool to manage a media database.", description="mediacurator is a Python command line tool to manage a media database.",
long_description=long_description, long_description=long_description,
long_description_content_type="text/markdown", long_description_content_type="text/markdown",
packages=setuptools.find_packages(), packages=setuptools.find_packages(),