mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-25 14:25:05 +00:00
Change prevent included py3 requests module failure on SABnzbd systems that by default, run py2 with py2 requests.
This commit is contained in:
parent
fce2ed3289
commit
cefd596ad2
3 changed files with 58 additions and 34 deletions
|
@ -27,6 +27,7 @@
|
||||||
* Update tmdbsimple 2.6.6 (679e343) to 2.9.1 (9da400a)
|
* Update tmdbsimple 2.6.6 (679e343) to 2.9.1 (9da400a)
|
||||||
* Update torrent_parser 0.3.0 (2a4eecb) to 0.4.0 (23b9e11)
|
* Update torrent_parser 0.3.0 (2a4eecb) to 0.4.0 (23b9e11)
|
||||||
* Update unidecode module 1.1.1 (632af82) to 1.3.6 (4141992)
|
* Update unidecode module 1.1.1 (632af82) to 1.3.6 (4141992)
|
||||||
|
* Change prevent included py3 requests module failure on SABnzbd systems that by default, run py2 with py2 requests
|
||||||
|
|
||||||
|
|
||||||
[develop changelog]
|
[develop changelog]
|
||||||
|
|
|
@ -23,17 +23,25 @@ import os.path
|
||||||
import sys
|
import sys
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
sickgearPath = os.path.split(os.path.split(sys.argv[0])[0])[0]
|
|
||||||
sys.path.insert(1, os.path.join(sickgearPath, 'lib'))
|
|
||||||
sys.path.insert(1, sickgearPath)
|
|
||||||
|
|
||||||
warnings.filterwarnings('ignore', module=r'.*connectionpool.*', message='.*certificate verification.*')
|
warnings.filterwarnings('ignore', module=r'.*connectionpool.*', message='.*certificate verification.*')
|
||||||
warnings.filterwarnings('ignore', module=r'.*ssl_.*', message='.*SSLContext object.*')
|
warnings.filterwarnings('ignore', module=r'.*ssl_.*', message='.*SSLContext object.*')
|
||||||
|
|
||||||
|
PY2 = 2 == sys.version_info[0]
|
||||||
|
if not PY2:
|
||||||
|
sg_path = os.path.split(os.path.split(sys.argv[0])[0])[0]
|
||||||
|
sys.path.insert(1, os.path.join(sg_path, 'lib'))
|
||||||
|
sys.path.insert(1, sg_path)
|
||||||
|
|
||||||
|
py_msg = 'Python 3 %s be set to run python files instead of the current Python 2.'
|
||||||
try:
|
try:
|
||||||
import requests
|
import requests
|
||||||
|
if PY2:
|
||||||
|
print(py_msg % 'should')
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print('You need to install python requests library')
|
if PY2:
|
||||||
|
print(py_msg % 'must')
|
||||||
|
sys.exit(1)
|
||||||
|
print('You must install python requests library')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
try: # Try importing Python 3 modules
|
try: # Try importing Python 3 modules
|
||||||
|
@ -56,9 +64,10 @@ def process_files(dir_to_process, org_nzb_name=None, status=None):
|
||||||
# Default values
|
# Default values
|
||||||
host = 'localhost'
|
host = 'localhost'
|
||||||
port = '8081'
|
port = '8081'
|
||||||
default_url = 'http://%s:%s/' % (host, port)
|
username = password = ''
|
||||||
ssl = username = password = ''
|
use_ssl = '' # or 's'
|
||||||
web_root = '/'
|
web_root = '' # e.g. "/path"
|
||||||
|
url = 'http%s://%s:%s%s' % (use_ssl, host, port, web_root)
|
||||||
|
|
||||||
# Get values from config_file
|
# Get values from config_file
|
||||||
config = configparser.RawConfigParser()
|
config = configparser.RawConfigParser()
|
||||||
|
@ -67,7 +76,7 @@ def process_files(dir_to_process, org_nzb_name=None, status=None):
|
||||||
if not os.path.isfile(config_filename):
|
if not os.path.isfile(config_filename):
|
||||||
print('ERROR: %s doesn\'t exist' % config_filename)
|
print('ERROR: %s doesn\'t exist' % config_filename)
|
||||||
print('copy/rename %s.sample and edit\n' % config_filename)
|
print('copy/rename %s.sample and edit\n' % config_filename)
|
||||||
print('Trying default url: %s\n' % default_url)
|
print('Trying default url: %s\n' % url)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
@ -83,25 +92,30 @@ def process_files(dir_to_process, org_nzb_name=None, status=None):
|
||||||
# noinspection PyDeprecation
|
# noinspection PyDeprecation
|
||||||
config.readfp(fp)
|
config.readfp(fp)
|
||||||
|
|
||||||
|
def cfg_get(cfg, option):
|
||||||
|
try:
|
||||||
|
return cfg.get('SickGear', option)
|
||||||
|
except configparser.NoOptionError:
|
||||||
|
return cfg.get('SickBeard', option)
|
||||||
|
|
||||||
# Replace default values with config_file values
|
# Replace default values with config_file values
|
||||||
host = config.get('SickBeard', 'host')
|
host, port, username, password = [cfg_get(config, _option)
|
||||||
port = config.get('SickBeard', 'port')
|
for _option in ('host', 'port', 'username', 'password')]
|
||||||
username = config.get('SickBeard', 'username')
|
|
||||||
password = config.get('SickBeard', 'password')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ssl = int(config.get('SickBeard', 'ssl')) and 's' or ''
|
use_ssl = int(cfg_get(config, 'ssl')) and 's' or ''
|
||||||
|
except (configparser.NoOptionError, ValueError, TypeError):
|
||||||
except (configparser.NoOptionError, ValueError):
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
web_root = config.get('SickBeard', 'web_root')
|
web_root = cfg_get(config, 'web_root')
|
||||||
web_root = ('/%s/' % web_root.strip('/')).replace('//', '/')
|
web_root = web_root.strip('/').strip()
|
||||||
|
web_root = any(web_root) and ('/%s' % web_root) or ''
|
||||||
except configparser.NoOptionError:
|
except configparser.NoOptionError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
url = 'http%s://%s:%s%s' % (use_ssl, host, port, web_root)
|
||||||
|
|
||||||
except EnvironmentError:
|
except EnvironmentError:
|
||||||
e = sys.exc_info()[1]
|
e = sys.exc_info()[1]
|
||||||
print('Could not read configuration file: ' + str(e))
|
print('Could not read configuration file: ' + str(e))
|
||||||
|
@ -116,9 +130,8 @@ def process_files(dir_to_process, org_nzb_name=None, status=None):
|
||||||
if None is not status:
|
if None is not status:
|
||||||
params['failed'] = status
|
params['failed'] = status
|
||||||
|
|
||||||
url = 'http%s://%s:%s%s' % (ssl, host, port, web_root)
|
login_url = '%s/login' % url
|
||||||
login_url = url + 'login'
|
url = '%s/home/process-media/files' % url
|
||||||
url = url + 'home/process-media/files'
|
|
||||||
|
|
||||||
print('Opening URL: ' + url)
|
print('Opening URL: ' + url)
|
||||||
|
|
||||||
|
@ -146,5 +159,5 @@ def process_files(dir_to_process, org_nzb_name=None, status=None):
|
||||||
|
|
||||||
if '__main__' == __name__:
|
if '__main__' == __name__:
|
||||||
print('This module is supposed to be used as import in other scripts and not run standalone.')
|
print('This module is supposed to be used as import in other scripts and not run standalone.')
|
||||||
print('Use sabToSickBeard instead.')
|
print('Use sabToSickGear instead.')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
|
@ -19,14 +19,24 @@
|
||||||
|
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
import sys
|
import sys
|
||||||
import autoProcessTV
|
|
||||||
|
|
||||||
if len(sys.argv) < 2:
|
try:
|
||||||
|
import autoProcessTV
|
||||||
|
except ImportError:
|
||||||
|
# 0 sys.argv[0] is the name of this script
|
||||||
|
print('Can\'t import autoProcessTV.py, make sure it\'s in the same folder as %s' % sys.argv[0])
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if 2 > len(sys.argv):
|
||||||
print('No folder supplied - is this being called from SABnzbd?')
|
print('No folder supplied - is this being called from SABnzbd?')
|
||||||
sys.exit()
|
sys.exit(1)
|
||||||
elif len(sys.argv) >= 8:
|
|
||||||
autoProcessTV.process_files(sys.argv[1], sys.argv[2], sys.argv[7])
|
# SABnzbd user script parameters - see: https://sabnzbd.org/wiki/scripts/post-processing-scripts
|
||||||
elif len(sys.argv) >= 3:
|
autoProcessTV.process_files(
|
||||||
autoProcessTV.process_files(sys.argv[1], sys.argv[2])
|
# 1 The final directory of the job (full path)
|
||||||
else:
|
sys.argv[1],
|
||||||
autoProcessTV.process_files(sys.argv[1])
|
# 2 The original name of the NZB file
|
||||||
|
None if 3 >= len(sys.argv) else sys.argv[2],
|
||||||
|
# 7 Status of processing. 0 = OK, 1 = Failed verification, 2 = Failed unpack, 3 = 1+2, -1 = Failed post processing
|
||||||
|
None if 8 >= len(sys.argv) else sys.argv[7]
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue