Change py2 file and reload functions to py2/3 compatible open and reload_module functions

This commit is contained in:
Adam 2015-06-14 11:49:23 +08:00
parent 16fa92dd80
commit 680491684d
5 changed files with 11 additions and 8 deletions

View file

@ -37,6 +37,7 @@
* Change py2 octal literals into the new py2/3 syntax * Change py2 octal literals into the new py2/3 syntax
* Change py2 iteritems to py2/3 compatible statements using six library * Change py2 iteritems to py2/3 compatible statements using six library
* Change py2 queue, httplib, cookielib and xmlrpclib to py2/3 compatible calls using six * Change py2 queue, httplib, cookielib and xmlrpclib to py2/3 compatible calls using six
* Change py2 file and reload functions to py2/3 compatible open and reload_module functions
* Change Kodi notifier to use requests as opposed to urllib * Change Kodi notifier to use requests as opposed to urllib
* Change to consolidate scene exceptions and name cache code * Change to consolidate scene exceptions and name cache code
* Change check_url function to use requests instead of httplib library * Change check_url function to use requests instead of httplib library

View file

@ -49,6 +49,7 @@ except:
sys.exit(1) sys.exit(1)
sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib'))) sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib')))
from six.moves import reload_module
# We only need this for compiling an EXE and I will just always do that on 2.6+ # We only need this for compiling an EXE and I will just always do that on 2.6+
if sys.hexversion >= 0x020600F0: if sys.hexversion >= 0x020600F0:
@ -140,7 +141,7 @@ class SickGear(object):
sickbeard.SYS_ENCODING = 'UTF-8' sickbeard.SYS_ENCODING = 'UTF-8'
if not hasattr(sys, 'setdefaultencoding'): if not hasattr(sys, 'setdefaultencoding'):
reload(sys) reload_module(sys)
try: try:
# pylint: disable=E1101 # pylint: disable=E1101
@ -412,7 +413,7 @@ class SickGear(object):
pid = str(os.getpid()) pid = str(os.getpid())
logger.log(u'Writing PID: %s to %s' % (pid, self.PIDFILE)) logger.log(u'Writing PID: %s to %s' % (pid, self.PIDFILE))
try: try:
file(self.PIDFILE, 'w').write('%s\n' % pid) open(self.PIDFILE, 'w').write('%s\n' % pid)
except IOError as e: except IOError as e:
logger.log_error_and_exit( logger.log_error_and_exit(
u'Unable to write PID file: %s Error: %s [%s]' % (self.PIDFILE, e.strerror, e.errno)) u'Unable to write PID file: %s Error: %s [%s]' % (self.PIDFILE, e.strerror, e.errno))
@ -422,9 +423,9 @@ class SickGear(object):
sys.stderr.flush() sys.stderr.flush()
devnull = getattr(os, 'devnull', '/dev/null') devnull = getattr(os, 'devnull', '/dev/null')
stdin = file(devnull, 'r') stdin = open(devnull, 'r')
stdout = file(devnull, 'a+') stdout = open(devnull, 'a+')
stderr = file(devnull, 'a+') stderr = open(devnull, 'a+')
os.dup2(stdin.fileno(), sys.stdin.fileno()) os.dup2(stdin.fileno(), sys.stdin.fileno())
os.dup2(stdout.fileno(), sys.stdout.fileno()) os.dup2(stdout.fileno(), sys.stdout.fileno())
os.dup2(stderr.fileno(), sys.stderr.fileno()) os.dup2(stderr.fileno(), sys.stderr.fileno())

View file

@ -1015,7 +1015,7 @@ def mapIndexersToShow(showObj):
def touchFile(fname, atime=None): def touchFile(fname, atime=None):
if None != atime: if None != atime:
try: try:
with file(fname, 'a'): with open(fname, 'a'):
os.utime(fname, (atime, atime)) os.utime(fname, (atime, atime))
return True return True
except: except:

View file

@ -27,6 +27,7 @@ import os
import re import re
import datetime import datetime
from six import iteritems from six import iteritems
from six.moves import reload_module
# regex to parse time (12/24 hour format) # regex to parse time (12/24 hour format)
time_regex = re.compile(r'(\d{1,2})(([:.](\d{2,2}))? ?([PA][. ]? ?M)|[:.](\d{2,2}))\b', flags=re.IGNORECASE) time_regex = re.compile(r'(\d{1,2})(([:.](\d{2,2}))? ?([PA][. ]? ?M)|[:.](\d{2,2}))\b', flags=re.IGNORECASE)
@ -126,7 +127,7 @@ def _update_zoneinfo():
# rename downloaded file # rename downloaded file
ek.ek(os.rename, zonefile_tmp, zonefile) ek.ek(os.rename, zonefile_tmp, zonefile)
# load the new zoneinfo # load the new zoneinfo
reload(lib.dateutil.zoneinfo) reload_module(lib.dateutil.zoneinfo)
sb_timezone = tz.tzlocal() sb_timezone = tz.tzlocal()
except: except:
_remove_zoneinfo_failed(zonefile_tmp) _remove_zoneinfo_failed(zonefile_tmp)

View file

@ -154,7 +154,7 @@ class BaseHandler(RequestHandler):
if api: if api:
mime_type, encoding = MimeTypes().guess_type(static_image_path) mime_type, encoding = MimeTypes().guess_type(static_image_path)
self.set_header('Content-Type', mime_type) self.set_header('Content-Type', mime_type)
with file(static_image_path, 'rb') as img: with open(static_image_path, 'rb') as img:
return img.read() return img.read()
else: else:
static_image_path = os.path.normpath(static_image_path.replace(sickbeard.CACHE_DIR, '/cache')) static_image_path = os.path.normpath(static_image_path.replace(sickbeard.CACHE_DIR, '/cache'))