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
|
||||
|
||||
[General]
|
||||
auto_update = 0
|
||||
git_path =
|
||||
git_user =
|
||||
git_branch =
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
import platform
|
||||
from nzbtomedia import logger, versionCheck
|
||||
|
@ -6,7 +7,6 @@ from nzbtomedia.nzbToMediaConfig import config
|
|||
from nzbtomedia.nzbToMediaUtil import WakeUp
|
||||
|
||||
# sabnzbd constants
|
||||
|
||||
SABNZB_NO_OF_ARGUMENTS = 8
|
||||
SABNZB_0717_NO_OF_ARGUMENTS = 9
|
||||
|
||||
|
@ -38,8 +38,10 @@ CONFIG_SPEC_FILE = ''
|
|||
CONFIG_MOVIE_FILE = ''
|
||||
CONFIG_TV_FILE = ''
|
||||
SYS_ENCODING = ''
|
||||
SYSV_ARGS = ''
|
||||
|
||||
# version constants
|
||||
AUTO_UPDATE = None
|
||||
NZBTOMEDIA_VERSION = None
|
||||
NZBTOMEDIA_BRANCH = None
|
||||
NEWEST_VERSION = None
|
||||
|
@ -87,11 +89,11 @@ def initialize():
|
|||
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, \
|
||||
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, \
|
||||
UTORRENTPWD, UTORRENTUSR, UTORRENTWEBUI, DELUGEHOST, DELUGEPORT, DELUGEUSR, DELUGEPWD, TRANSMISSIONHOST, TRANSMISSIONPORT, \
|
||||
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__:
|
||||
return False
|
||||
|
@ -99,7 +101,7 @@ def initialize():
|
|||
# add our custom libs to the system path
|
||||
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))))
|
||||
LOG_DIR = os.path.join(PROGRAM_DIR, 'logs')
|
||||
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_MOVIE_FILE = os.path.join(PROGRAM_DIR, "autoProcessMovie.cfg")
|
||||
CONFIG_TV_FILE = os.path.join(PROGRAM_DIR, "autoProcessTv.cfg")
|
||||
SYSV_ARGS = sys.argv[1:]
|
||||
|
||||
if not nzbToMediaUtil.makeDir(LOG_DIR):
|
||||
logger.error("!!! No log folder, logging to screen only!")
|
||||
|
@ -129,7 +132,14 @@ def initialize():
|
|||
# check for newer version
|
||||
versionCheck.CheckVersion().find_installed_version()
|
||||
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()
|
||||
|
||||
|
@ -170,4 +180,18 @@ def initialize():
|
|||
__INITIALIZED__ = 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