mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-08-21 05:43:16 -07:00
Added optional auto-update feature.
This commit is contained in:
parent
acc56943f5
commit
4b29cc9d04
2 changed files with 30 additions and 5 deletions
|
@ -2,6 +2,7 @@
|
||||||
# For more information, visit https://github.com/clinton-hall/nzbToMedia/wiki
|
# For more information, visit https://github.com/clinton-hall/nzbToMedia/wiki
|
||||||
|
|
||||||
[General]
|
[General]
|
||||||
|
auto_update = 0
|
||||||
git_path =
|
git_path =
|
||||||
git_user =
|
git_user =
|
||||||
git_branch =
|
git_branch =
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import os
|
import os
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import platform
|
import platform
|
||||||
from nzbtomedia import logger, versionCheck
|
from nzbtomedia import logger, versionCheck
|
||||||
|
@ -6,7 +7,6 @@ from nzbtomedia.nzbToMediaConfig import config
|
||||||
from nzbtomedia.nzbToMediaUtil import WakeUp
|
from nzbtomedia.nzbToMediaUtil import WakeUp
|
||||||
|
|
||||||
# sabnzbd constants
|
# sabnzbd constants
|
||||||
|
|
||||||
SABNZB_NO_OF_ARGUMENTS = 8
|
SABNZB_NO_OF_ARGUMENTS = 8
|
||||||
SABNZB_0717_NO_OF_ARGUMENTS = 9
|
SABNZB_0717_NO_OF_ARGUMENTS = 9
|
||||||
|
|
||||||
|
@ -38,8 +38,10 @@ CONFIG_SPEC_FILE = ''
|
||||||
CONFIG_MOVIE_FILE = ''
|
CONFIG_MOVIE_FILE = ''
|
||||||
CONFIG_TV_FILE = ''
|
CONFIG_TV_FILE = ''
|
||||||
SYS_ENCODING = ''
|
SYS_ENCODING = ''
|
||||||
|
SYSV_ARGS = ''
|
||||||
|
|
||||||
# version constants
|
# version constants
|
||||||
|
AUTO_UPDATE = None
|
||||||
NZBTOMEDIA_VERSION = None
|
NZBTOMEDIA_VERSION = None
|
||||||
NZBTOMEDIA_BRANCH = None
|
NZBTOMEDIA_BRANCH = None
|
||||||
NEWEST_VERSION = None
|
NEWEST_VERSION = None
|
||||||
|
@ -87,11 +89,11 @@ def initialize():
|
||||||
global NZBGET_POSTPROCESS_ERROR, NZBGET_POSTPROCESS_NONE, NZBGET_POSTPROCESS_PARCHECK, NZBGET_POSTPROCESS_SUCCESS, \
|
global NZBGET_POSTPROCESS_ERROR, NZBGET_POSTPROCESS_NONE, NZBGET_POSTPROCESS_PARCHECK, NZBGET_POSTPROCESS_SUCCESS, \
|
||||||
NZBTOMEDIA_TIMEOUT, FORKS, FORK_DEFAULT, FORK_FAILED_TORRENT, FORK_FAILED, SICKBEARD_TORRENT, SICKBEARD_FAILED, \
|
NZBTOMEDIA_TIMEOUT, FORKS, FORK_DEFAULT, FORK_FAILED_TORRENT, FORK_FAILED, SICKBEARD_TORRENT, SICKBEARD_FAILED, \
|
||||||
PROGRAM_DIR, CFG, CFG_LOGGING, CONFIG_FILE, CONFIG_MOVIE_FILE, CONFIG_SPEC_FILE, LOG_DIR, NZBTOMEDIA_BRANCH, \
|
PROGRAM_DIR, CFG, CFG_LOGGING, CONFIG_FILE, CONFIG_MOVIE_FILE, CONFIG_SPEC_FILE, LOG_DIR, NZBTOMEDIA_BRANCH, \
|
||||||
CONFIG_TV_FILE, LOG_FILE, NZBTOMEDIA_VERSION, NEWEST_VERSION, NEWEST_VERSION_STRING, VERSION_NOTIFY, \
|
CONFIG_TV_FILE, LOG_FILE, NZBTOMEDIA_VERSION, NEWEST_VERSION, NEWEST_VERSION_STRING, VERSION_NOTIFY, SYSV_ARGS, \
|
||||||
SABNZB_NO_OF_ARGUMENTS, SABNZB_0717_NO_OF_ARGUMENTS, CATEGORIES, CLIENTAGENT, USELINK, OUTPUTDIRECTORY, NOFLATTEN, \
|
SABNZB_NO_OF_ARGUMENTS, SABNZB_0717_NO_OF_ARGUMENTS, CATEGORIES, CLIENTAGENT, USELINK, OUTPUTDIRECTORY, NOFLATTEN, \
|
||||||
UTORRENTPWD, UTORRENTUSR, UTORRENTWEBUI, DELUGEHOST, DELUGEPORT, DELUGEUSR, DELUGEPWD, TRANSMISSIONHOST, TRANSMISSIONPORT, \
|
UTORRENTPWD, UTORRENTUSR, UTORRENTWEBUI, DELUGEHOST, DELUGEPORT, DELUGEUSR, DELUGEPWD, TRANSMISSIONHOST, TRANSMISSIONPORT, \
|
||||||
TRANSMISSIONPWD, TRANSMISSIONUSR, COMPRESSEDCONTAINER, MEDIACONTAINER, METACONTAINER, MINSAMPLESIZE, SAMPLEIDS, \
|
TRANSMISSIONPWD, TRANSMISSIONUSR, COMPRESSEDCONTAINER, MEDIACONTAINER, METACONTAINER, MINSAMPLESIZE, SAMPLEIDS, \
|
||||||
SECTIONS, SUBSECTIONS, USER_SCRIPT_CATEGORIES, __INITIALIZED__, GIT_PATH, GIT_USER, GIT_BRANCH
|
SECTIONS, SUBSECTIONS, USER_SCRIPT_CATEGORIES, __INITIALIZED__, GIT_PATH, GIT_USER, GIT_BRANCH, AUTO_UPDATE
|
||||||
|
|
||||||
if __INITIALIZED__:
|
if __INITIALIZED__:
|
||||||
return False
|
return False
|
||||||
|
@ -99,7 +101,7 @@ def initialize():
|
||||||
# add our custom libs to the system path
|
# add our custom libs to the system path
|
||||||
sys.path.insert(0, os.path.abspath(os.path.join(PROGRAM_DIR, 'lib')))
|
sys.path.insert(0, os.path.abspath(os.path.join(PROGRAM_DIR, 'lib')))
|
||||||
|
|
||||||
# init paths and filenames
|
# init preliminaries
|
||||||
PROGRAM_DIR = os.path.dirname(os.path.normpath(os.path.abspath(os.path.join(__file__, os.pardir))))
|
PROGRAM_DIR = os.path.dirname(os.path.normpath(os.path.abspath(os.path.join(__file__, os.pardir))))
|
||||||
LOG_DIR = os.path.join(PROGRAM_DIR, 'logs')
|
LOG_DIR = os.path.join(PROGRAM_DIR, 'logs')
|
||||||
LOG_FILE = os.path.join(LOG_DIR, 'postprocess.log')
|
LOG_FILE = os.path.join(LOG_DIR, 'postprocess.log')
|
||||||
|
@ -107,6 +109,7 @@ def initialize():
|
||||||
CONFIG_SPEC_FILE = os.path.join(PROGRAM_DIR, "autoProcessMedia.cfg.spec")
|
CONFIG_SPEC_FILE = os.path.join(PROGRAM_DIR, "autoProcessMedia.cfg.spec")
|
||||||
CONFIG_MOVIE_FILE = os.path.join(PROGRAM_DIR, "autoProcessMovie.cfg")
|
CONFIG_MOVIE_FILE = os.path.join(PROGRAM_DIR, "autoProcessMovie.cfg")
|
||||||
CONFIG_TV_FILE = os.path.join(PROGRAM_DIR, "autoProcessTv.cfg")
|
CONFIG_TV_FILE = os.path.join(PROGRAM_DIR, "autoProcessTv.cfg")
|
||||||
|
SYSV_ARGS = sys.argv[1:]
|
||||||
|
|
||||||
if not nzbToMediaUtil.makeDir(LOG_DIR):
|
if not nzbToMediaUtil.makeDir(LOG_DIR):
|
||||||
logger.error("!!! No log folder, logging to screen only!")
|
logger.error("!!! No log folder, logging to screen only!")
|
||||||
|
@ -129,7 +132,14 @@ def initialize():
|
||||||
# check for newer version
|
# check for newer version
|
||||||
versionCheck.CheckVersion().find_installed_version()
|
versionCheck.CheckVersion().find_installed_version()
|
||||||
logger.info('nzbToMedia Version:' + NZBTOMEDIA_VERSION + ' Branch:' + NZBTOMEDIA_BRANCH + ' (' + platform.system() + '; ' + platform.release() + ')')
|
logger.info('nzbToMedia Version:' + NZBTOMEDIA_VERSION + ' Branch:' + NZBTOMEDIA_BRANCH + ' (' + platform.system() + '; ' + platform.release() + ')')
|
||||||
versionCheck.CheckVersion().check_for_new_version()
|
if CFG['General']['auto_update'] == 1 and versionCheck.CheckVersion().check_for_new_version():
|
||||||
|
logger.MESSAGE("Auto-Updating nzbToMedia, Please wait ...")
|
||||||
|
updated = versionCheck.CheckVersion().update()
|
||||||
|
if updated:
|
||||||
|
# restart nzbToMedia
|
||||||
|
restart()
|
||||||
|
else:
|
||||||
|
logger.ERROR("Update wasn't successful, not restarting. Check your log for more information.")
|
||||||
|
|
||||||
WakeUp()
|
WakeUp()
|
||||||
|
|
||||||
|
@ -170,4 +180,18 @@ def initialize():
|
||||||
__INITIALIZED__ = True
|
__INITIALIZED__ = True
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def restart():
|
||||||
|
install_type = versionCheck.CheckVersion().install_type
|
||||||
|
|
||||||
|
popen_list = []
|
||||||
|
|
||||||
|
if install_type in ('git', 'source'):
|
||||||
|
popen_list = [sys.executable, PROGRAM_DIR]
|
||||||
|
|
||||||
|
if popen_list:
|
||||||
|
popen_list += SYSV_ARGS
|
||||||
|
logger.log(u"Restarting nzbToMedia with " + str(popen_list))
|
||||||
|
logger.close()
|
||||||
|
subprocess.Popen(popen_list, cwd=os.getcwd())
|
||||||
|
|
||||||
|
os._exit(0)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue