diff --git a/.bumpversion.cfg b/.bumpversion.cfg new file mode 100644 index 000000000..26f2c68d3 --- /dev/null +++ b/.bumpversion.cfg @@ -0,0 +1,17 @@ +[bumpversion] +current_version = 11.8.0 +commit = True +tag = False + +[bumpversion:file:setup.py] +search = version='{current_version}' +replace = version='{new_version}' + +[bumpversion:file:README.md] +search = v{current_version} +replace = v{new_version} + +[bumpversion:file:core/__init__.py] +search = __version__ = '{current_version}' +replace = __version__ = '{new_version}' + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..4000618e9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# see http://editorconfig.org +root = true + +[*] +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = space +indent_size = 4 +charset = utf-8 + +[*.{bat,cmd,ps1}] +end_of_line = crlf diff --git a/.gitignore b/.gitignore index c708d3152..c0ea25fc8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.cfg +!.bumpversion.cfg *.cfg.old *.pyc *.pyo diff --git a/README.md b/README.md index ec29ba83c..12a43fe20 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -nzbToMedia -================ +nzbToMedia v11.8.0 +================== Provides an [efficient](https://github.com/clinton-hall/nzbToMedia/wiki/Efficient-on-demand-post-processing) way to handle postprocessing for [CouchPotatoServer](https://couchpota.to/ "CouchPotatoServer") and [SickBeard](http://sickbeard.com/ "SickBeard") (and its [forks](https://github.com/clinton-hall/nzbToMedia/wiki/Failed-Download-Handling-%28FDH%29#sick-beard-and-its-forks)) when using one of the popular NZB download clients like [SABnzbd](http://sabnzbd.org/ "SABnzbd") and [NZBGet](http://nzbget.sourceforge.net/ "NZBGet") on low performance systems like a NAS. diff --git a/core/__init__.py b/core/__init__.py index f406439e5..29fb4491b 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -49,6 +49,8 @@ from core.transcoder import transcoder from core.databases import mainDB +__version__ = '11.8.0' + # Client Agents NZB_CLIENTS = ['sabnzbd', 'nzbget', 'manual'] TORRENT_CLIENTS = ['transmission', 'deluge', 'utorrent', 'rtorrent', 'qbittorrent', 'other', 'manual'] diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..b014ad2f0 --- /dev/null +++ b/setup.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +from __future__ import absolute_import, print_function + +import io +import os.path + +from setuptools import setup + + +def read(*names, **kwargs): + with io.open( + os.path.join(os.path.dirname(__file__), *names), + encoding=kwargs.get('encoding', 'utf8') + ) as fh: + return fh.read() + + +setup( + name='nzbToMedia', + version='11.8.0', + license='GPLv3', + description='Efficient on demand post processing', + long_description=""" + nzbToMedia + ========== + + Efficient on demand post processing + ----------------------------------- + + A PVR app needs to know when a download is ready for post-processing. There are two methods: + + 1. On-demand post-processing script (e.g. sabToSickBeard.py or nzbToMedia.py): A script in the downloader runs once at the end of the download job and notifies the PVR app that the download is complete. + + 2. Continuous folder scanning: The PVR app frequently polls download folder(s) for completed downloads. + + On-demand is superior, for several reasons: + + 1. The PVR app is notified only once, exactly when the download is ready for post-processing + 2. The PVR app does not have to wait for the next poll interval before it starts processing + 3. Continuous polling is not as efficient and is more stressful on low performance hardware + 4. Continuously polling a folder for changes can prevent the drive from going to sleep + 5. Continuous polling may encounter file access/permissions issues + 6. Continuous polling may miss a folder change, causing the PVR app to wait forever + 6. An on-demand post-processing script is able to utilize additional functionality such as ffprobe media checking to test for bad video files. + 7. On-demand scripts can be tweaked to allow for delays with slow hardware + + nzbToMedia is an on-demand post-processing script and was created out of a demand for more efficient post-processing on low-performance hardware. Many features have been added so higher performance hardware can benefit too. + + Many issues that users have with folder scanning can be fixed by switching to on-demand. A whole class of support issues can be eliminated by using nzbToMedia. + """, + author='Clinton Hall', + author_email='fock_wulf@hotmail.com', + url='https://github.com/clinton-hall/nzbToMedia_repo', + packages=['core'], + include_package_data=True, + zip_safe=False, + scripts=[ + 'nzbToCouchPotato', + 'nzbToGamez', + 'nzbToHeadPhones', + 'nzbToLidarr', + 'nzbToMedia', + 'nzbToMylar', + 'nzbToNzbDrone', + 'nzbToRadarr', + 'nzbToSickBeard', + 'TorrentToMedia', + ], + classifiers=[ + # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: End Users/Desktop', + 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', + 'Operating System :: MacOS', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: Microsoft', + 'Operating System :: Microsoft :: Windows', + 'Operating System :: POSIX', + 'Operating System :: Unix', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Topic :: Games/Entertainment', + 'Topic :: Multimedia', + 'Topic :: Multimedia :: Sound/Audio', + 'Topic :: Multimedia :: Video', + 'Topic :: Utilities', + ], +)