def testTzwinLocalTimeOnlyDST(self): # For zones with DST, .dst() should return None with TZWinContext('Eastern Standard Time'): twl = tz.tzwinlocal() self.assertIs(dt_time(14, 10, tzinfo=twl).dst(), None) # This zone has no DST, so .dst() can return 0 with TZWinContext('South Africa Standard Time'): twl = tz.tzwinlocal() self.assertEqual(dt_time(14, 10, tzinfo=twl).dst(), timedelta(0))
def testTzwinLocalRepr(self): # https://github.com/dateutil/dateutil/issues/143 with TZWinContext("Eastern Standard Time"): tw = tz.tzwinlocal() self.assertEqual(str(tw), "tzwinlocal(" + repr("Eastern Standard Time") + ")") with TZWinContext("Pacific Standard Time"): tw = tz.tzwinlocal() self.assertEqual(str(tw), "tzwinlocal(" + repr("Pacific Standard Time") + ")")
def testTzwinLocalTimeOnlyUTCOffset(self): # For zones with DST, .utcoffset() should return None with TZWinContext('Eastern Standard Time'): twl = tz.tzwinlocal() self.assertIs(dt_time(14, 10, tzinfo=twl).utcoffset(), None) # This zone has no DST, so .utcoffset() returns standard offset with TZWinContext('South Africa Standard Time'): twl = tz.tzwinlocal() self.assertEqual( dt_time(14, 10, tzinfo=twl).utcoffset(), timedelta(hours=2))
def testTzwinLocalTimeOnlyUTCOffset(self): # For zones with DST, .utcoffset() should return None with TZWinContext('Eastern Standard Time'): twl = tz.tzwinlocal() self.assertIs(dt_time(14, 10, tzinfo=twl).utcoffset(), None) # This zone has no DST, so .utcoffset() returns standard offset with TZWinContext('South Africa Standard Time'): twl = tz.tzwinlocal() self.assertEqual(dt_time(14, 10, tzinfo=twl).utcoffset(), timedelta(hours=2))
def testTzwinLocalTimeOnlyTZName(self): # For zones with DST, the name defaults to standard time with TZWinContext('Eastern Standard Time'): twl = tz.tzwinlocal() self.assertEqual(dt_time(14, 10, tzinfo=twl).tzname(), 'Eastern Standard Time') # For zones with no DST, this should work normally. with TZWinContext('South Africa Standard Time'): twl = tz.tzwinlocal() self.assertEqual(dt_time(14, 10, tzinfo=twl).tzname(), 'South Africa Standard Time')
def testTzwinLocalRepr(self): # https://github.com/dateutil/dateutil/issues/143 with TZWinContext('Eastern Standard Time'): tw = tz.tzwinlocal() self.assertEqual( str(tw), 'tzwinlocal(' + repr('Eastern Standard Time') + ')') with TZWinContext('Pacific Standard Time'): tw = tz.tzwinlocal() self.assertEqual( str(tw), 'tzwinlocal(' + repr('Pacific Standard Time') + ')')
def testTzwinLocalRepr(self): # https://github.com/dateutil/dateutil/issues/143 with TZWinContext('Eastern Standard Time'): tw = tz.tzwinlocal() self.assertEqual(str(tw), 'tzwinlocal(' + repr('Eastern Standard Time') + ')') with TZWinContext('Pacific Standard Time'): tw = tz.tzwinlocal() self.assertEqual(str(tw), 'tzwinlocal(' + repr('Pacific Standard Time') + ')')
def testTzwinLocalTimeOnlyTZName(self): # For zones with DST, the name defaults to standard time with TZWinContext('Eastern Standard Time'): twl = tz.tzwinlocal() self.assertEqual( dt_time(14, 10, tzinfo=twl).tzname(), 'Eastern Standard Time') # For zones with no DST, this should work normally. with TZWinContext('South Africa Standard Time'): twl = tz.tzwinlocal() self.assertEqual( dt_time(14, 10, tzinfo=twl).tzname(), 'South Africa Standard Time')
def get_replies(youtube, parentId): results = youtube.comments().list(part="snippet", maxResults=20, parentId=parentId).execute() lst1 = [] for i in results['items']: lst0 = [] time = datetime.strptime(i['snippet']['publishedAt'], '%Y-%m-%dT%H:%M:%S.%fZ').strftime('%H:%M:%S') datetime_obj = datetime.strptime(time, "%H:%M:%S") # datetime_obj_utc = datetime_obj.replace(tzinfo=pytz.timezone('UTC')) # datetime_obj_mos = datetime_obj_utc.astimezone(pytz.timezone('Etc/GMT-3')) datetime_obj_utc = datetime_obj.replace(tzinfo=tz.tzutc()) datetime_obj_mos = datetime_obj_utc.astimezone(tz.tzwinlocal()) local_time = datetime_obj_mos.strftime("%H:%M:%S") author = i['snippet']['authorDisplayName'] comment = i['snippet']['textOriginal'] comment_id = i['id'] lst0.append(comment_id) lst0.append(local_time) lst0.append(author) lst0.append(comment) lst1.append(lst0) lst1.sort() return lst1
def compat_tzlocal(): # https://github.com/dateutil/dateutil/issues/197 # on windows to avoid this error- # return time.localtime(timestamp + time.timezone).tm_isdst # ValueError: (22, 'Invalid argument') use # tzwinlocal in place of tzlocal is_windows = sys.platform.startswith('win') if is_windows: return tzwinlocal() else: return tzlocal()
def testTzwinLocalEquality(self): tw_est = tz.tzwin("Eastern Standard Time") tw_pst = tz.tzwin("Pacific Standard Time") with TZWinContext("Eastern Standard Time"): twl1 = tz.tzwinlocal() twl2 = tz.tzwinlocal() self.assertEqual(twl1, twl2) self.assertEqual(twl1, tw_est) self.assertNotEqual(twl1, tw_pst) with TZWinContext("Pacific Standard Time"): twl1 = tz.tzwinlocal() twl2 = tz.tzwinlocal() tw = tz.tzwin("Pacific Standard Time") self.assertEqual(twl1, twl2) self.assertEqual(twl1, tw) self.assertEqual(twl1, tw_pst) self.assertNotEqual(twl1, tw_est)
def testTzwinLocalEquality(self): tw_est = tz.tzwin('Eastern Standard Time') tw_pst = tz.tzwin('Pacific Standard Time') with TZWinContext('Eastern Standard Time'): twl1 = tz.tzwinlocal() twl2 = tz.tzwinlocal() self.assertEqual(twl1, twl2) self.assertEqual(twl1, tw_est) self.assertNotEqual(twl1, tw_pst) with TZWinContext('Pacific Standard Time'): twl1 = tz.tzwinlocal() twl2 = tz.tzwinlocal() tw = tz.tzwin('Pacific Standard Time') self.assertEqual(twl1, twl2) self.assertEqual(twl1, tw) self.assertEqual(twl1, tw_pst) self.assertNotEqual(twl1, tw_est)
def to_file_timestamp(self, dt=None): # type: (Optional[SGDatetime, datetime.datetime]) -> Union[float, integer_types] """ convert datetime to filetime special handling for windows filetime issues for pre Windows 7 this can result in an exception for pre 1970 dates """ obj = (dt, self)[self is not None] # type: datetime.datetime if is_win: from .network_timezones import EPOCH_START_WIN return (obj.replace(tzinfo=tz.tzwinlocal()) - EPOCH_START_WIN).total_seconds() return self.totimestamp(obj)
def testTzwinLocalName(self): # https://github.com/dateutil/dateutil/issues/143 ESTs = 'Eastern Standard Time' EDTs = 'Eastern Daylight Time' transition_dates = [(datetime(2015, 3, 8, 0, 59), ESTs), (datetime(2015, 3, 8, 3, 1), EDTs), (datetime(2015, 11, 1, 0, 59), EDTs), (datetime(2015, 11, 1, 3, 1), ESTs), (datetime(2016, 3, 13, 0, 59), ESTs), (datetime(2016, 3, 13, 3, 1), EDTs), (datetime(2016, 11, 6, 0, 59), EDTs), (datetime(2016, 11, 6, 3, 1), ESTs)] with TZWinContext('Eastern Standard Time'): tw = tz.tzwinlocal() for t_date, expected in transition_dates: self.assertEqual(t_date.replace(tzinfo=tw).tzname(), expected)
def testTzwinLocalName(self): # https://github.com/dateutil/dateutil/issues/143 ESTs = 'Eastern Standard Time' EDTs = 'Eastern Daylight Time' transition_dates = [(datetime(2015, 3, 8, 0, 59), ESTs), (datetime(2015, 3, 8, 2, 1), EDTs), (datetime(2015, 11, 1, 1, 59), EDTs), (datetime(2015, 11, 1, 3, 1), ESTs), (datetime(2016, 3, 13, 0, 59), ESTs), (datetime(2016, 3, 13, 2, 1), EDTs), (datetime(2016, 11, 6, 1, 59), EDTs), (datetime(2016, 11, 6, 3, 1), ESTs)] with TZWinContext('Eastern Standard Time'): tw = tz.tzwinlocal() for t_date, expected in transition_dates: self.assertEqual(t_date.replace(tzinfo=tw).tzname(), expected)
def get_parent_id(youtube, video_id): results = youtube.commentThreads().list(part="snippet,replies", maxResults=1, videoId=video_id, order="relevance", textFormat="plainText").execute() for item in results["items"]: parent_id = item['id'] author = item['snippet']['topLevelComment']['snippet'][ 'authorDisplayName'] comment = item['snippet']['topLevelComment']['snippet']['textDisplay'] time = datetime.strptime( item['snippet']['topLevelComment']['snippet']['publishedAt'], '%Y-%m-%dT%H:%M:%S.%fZ').strftime('%H:%M:%S') datetime_obj = datetime.strptime(time, "%H:%M:%S") datetime_obj_utc = datetime_obj.replace(tzinfo=tz.tzutc()) datetime_obj_mos = datetime_obj_utc.astimezone(tz.tzwinlocal()) local_time = datetime_obj_mos.strftime("%H:%M:%S") return [parent_id, local_time, author, comment]
import re import datetime import requests from dateutil import tz from sickbeard import db from sickbeard import helpers from sickbeard import logger # 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) am_regex = re.compile(r'(A[. ]? ?M)', flags=re.IGNORECASE) pm_regex = re.compile(r'(P[. ]? ?M)', flags=re.IGNORECASE) network_dict = None sb_timezone = tz.tzwinlocal() if tz.tzwinlocal else tz.tzlocal() # update the network timezone table def update_network_dict(): """Update timezone information from SR repositories""" url = 'http://sickragetv.github.io/sb_network_timezones/network_timezones.txt' url_data = helpers.getURL(url, session=requests.Session()) if not url_data: logger.log(u'Updating network timezones failed, this can happen from time to time. URL: %s' % url, logger.WARNING) load_network_dict() return d = {} try: for line in url_data.splitlines():
def __init__(self): self.started = False self.loading_shows = False self.daemon = None self.pid = os.getpid() self.gui_static_dir = os.path.join(sickrage.PROG_DIR, 'core', 'webserver', 'static') self.gui_views_dir = os.path.join(sickrage.PROG_DIR, 'core', 'webserver', 'views') self.gui_app_dir = os.path.join(sickrage.PROG_DIR, 'core', 'webserver', 'app') self.https_cert_file = None self.https_key_file = None self.trakt_api_key = '5c65f55e11d48c35385d9e8670615763a605fad28374c8ae553a7b7a50651ddd' self.trakt_api_secret = 'b53e32045ac122a445ef163e6d859403301ffe9b17fb8321d428531b69022a82' self.trakt_app_id = '4562' self.fanart_api_key = '9b3afaf26f6241bdb57d6cc6bd798da7' self.git_remote = "origin" self.git_remote_url = "https://git.sickrage.ca/SiCKRAGE/sickrage" self.unrar_tool = rarfile.UNRAR_TOOL self.naming_force_folders = False self.min_auto_postprocessor_freq = 1 self.min_daily_searcher_freq = 10 self.min_backlog_searcher_freq = 10 self.min_version_updater_freq = 1 self.min_subtitle_searcher_freq = 1 self.min_failed_snatch_age = 1 try: self.tz = tz.tzwinlocal() if tz.tzwinlocal else tz.tzlocal() except Exception: self.tz = tz.tzlocal() self.shows = {} self.shows_recent = deque(maxlen=5) self.main_db = None self.cache_db = None self.config_file = None self.data_dir = None self.cache_dir = None self.quiet = None self.no_launch = None self.disable_updates = None self.web_port = None self.web_host = None self.web_root = None self.developer = None self.db_type = None self.db_prefix = None self.db_host = None self.db_port = None self.db_username = None self.db_password = None self.debug = None self.latest_version_string = None self.naming_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02d E%(episodenumber)02d") self.sports_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02 dE%(episodenumber)02d") self.naming_ep_type_text = ("1x02", "s01e02", "S01E02", "01x02", "S01 E02") self.naming_multi_ep_type = { 0: ["-%(episodenumber)02d"] * len(self.naming_ep_type), 1: [" - " + x for x in self.naming_ep_type], 2: [x + "%(episodenumber)02d" for x in ("x", "e", "E", "x")] } self.naming_multi_ep_type_text = ("extend", "duplicate", "repeat") self.naming_sep_type = (" - ", " ") self.naming_sep_type_text = (" - ", "space") self.user_agent = 'SiCKRAGE.CE.1/({};{};{})'.format( platform.system(), platform.release(), str(uuid.uuid1())) self.languages = [ language for language in os.listdir(sickrage.LOCALE_DIR) if '_' in language ] self.client_web_urls = {'torrent': '', 'newznab': ''} self.notification_providers = {} self.metadata_providers = {} self.search_providers = {} self.series_providers = {} self.adba_connection = None self.log = None self.config = None self.alerts = None self.scheduler = None self.wserver = None self.google_auth = None self.show_queue = None self.search_queue = None self.postprocessor_queue = None self.version_updater = None self.show_updater = None self.tz_updater = None self.rsscache_updater = None self.daily_searcher = None self.failed_snatch_searcher = None self.backlog_searcher = None self.proper_searcher = None self.trakt_searcher = None self.subtitle_searcher = None self.auto_postprocessor = None self.upnp_client = None self.auth_server = None self.announcements = None self.api = None self.amqp_client = None
from dateutil import tz from os import name as osname from sickbeard import db from sickbeard import helpers from sickbeard import logger # 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) am_regex = re.compile(r'(A[. ]? ?M)', flags=re.IGNORECASE) pm_regex = re.compile(r'(P[. ]? ?M)', flags=re.IGNORECASE) network_dict = None if osname == 'nt' and tz.tzwinlocal is not None: sb_timezone = tz.tzwinlocal() else: sb_timezone = tz.tzlocal() # update the network timezone table def update_network_dict(): """Update timezone information from SR repositories""" url = 'http://sickragetv.github.io/sb_network_timezones/network_timezones.txt' url_data = helpers.getURL(url, session=requests.Session()) if not url_data: logger.log(u'Updating network timezones failed, this can happen from time to time. URL: %s' % url, logger.WARNING) load_network_dict() return d = {}
import requests from dateutil import tz import sickrage from sickrage.core.databases import cache_db from sickrage.core.helpers import getURL, tryInt time_regex = re.compile( r'(\d{1,2})(([:.](\d{2,2}))? ?([PA][. ]? ?M)|[:.](\d{2,2}))\b', flags=re.IGNORECASE) am_regex = re.compile(r'(A[. ]? ?M)', flags=re.IGNORECASE) pm_regex = re.compile(r'(P[. ]? ?M)', flags=re.IGNORECASE) network_dict = None sr_timezone = tz.tzwinlocal().display() if tz.tzwinlocal else tz.tzlocal() # update the network timezone table def update_network_dict(): """Update timezone information from SR repositories""" url = 'http://sickragetv.github.io/sb_network_timezones/network_timezones.txt' url_data = getURL(url, session=requests.Session()) if not url_data: sickrage.LOGGER.warning( 'Updating network timezones failed, this can happen from time to time. URL: %s' % url) load_network_dict() return
def testTzWinLocalRepr(self): tw = tz.tzwinlocal() self.assertEqual(repr(tw), 'tzwinlocal()')
def __init__(self): self.started = False self.daemon = None self.io_loop = None self.pid = os.getpid() self.showlist = [] try: self.tz = tz.tzwinlocal() if tz.tzwinlocal else tz.tzlocal() except Exception: self.tz = tz.tzlocal() self.config_file = None self.data_dir = None self.cache_dir = None self.quiet = None self.no_launch = None self.web_port = None self.developer = None self.debug = None self.newest_version_string = None self.naming_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02d E%(episodenumber)02d") self.sports_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02 dE%(episodenumber)02d") self.naming_ep_type_text = ("1x02", "s01e02", "S01E02", "01x02", "S01 E02",) self.naming_multi_ep_type = {0: ["-%(episodenumber)02d"] * len(self.naming_ep_type), 1: [" - " + x for x in self.naming_ep_type], 2: [x + "%(episodenumber)02d" for x in ("x", "e", "E", "x")]} self.naming_multi_ep_type_text = ("extend", "duplicate", "repeat") self.naming_sep_type = (" - ", " ") self.naming_sep_type_text = (" - ", "space") self.user_agent = 'SiCKRAGE.CE.1/({};{};{})'.format(platform.system(), platform.release(), str(uuid.uuid1())) self.languages = [language for language in os.listdir(sickrage.LOCALE_DIR) if '_' in language] self.sys_encoding = get_sys_encoding() self.client_web_urls = {'torrent': '', 'newznab': ''} self.adba_connection = None self.notifier_providers = None self.metadata_providers = {} self.search_providers = None self.log = None self.config = None self.alerts = None self.main_db = None self.cache_db = None self.scheduler = None self.wserver = None self.google_auth = None self.name_cache = None self.show_queue = None self.search_queue = None self.postprocessor_queue = None self.event_queue = None self.version_updater = None self.show_updater = None self.tz_updater = None self.rsscache_updater = None self.daily_searcher = None self.backlog_searcher = None self.proper_searcher = None self.trakt_searcher = None self.subtitle_searcher = None self.auto_postprocessor = None self.upnp_client = None self.oidc_client = None self.quicksearch_cache = None
def __init__(self): self.started = False self.daemon = None self.io_loop = IOLoop() self.pid = os.getpid() self.showlist = [] self.tz = tz.tzwinlocal() if tz.tzwinlocal else tz.tzlocal() self.config_file = None self.data_dir = None self.cache_dir = None self.quite = None self.no_launch = None self.web_port = None self.developer = None self.debug = None self.newest_version = None self.newest_version_string = None self.naming_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02d E%(episodenumber)02d") self.sports_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02 dE%(episodenumber)02d") self.naming_ep_type_text = ( "1x02", "s01e02", "S01E02", "01x02", "S01 E02", ) self.naming_multi_ep_type = { 0: ["-%(episodenumber)02d"] * len(self.naming_ep_type), 1: [" - " + x for x in self.naming_ep_type], 2: [x + "%(episodenumber)02d" for x in ("x", "e", "E", "x")] } self.naming_multi_ep_type_text = ("extend", "duplicate", "repeat") self.naming_sep_type = (" - ", " ") self.naming_sep_type_text = (" - ", "space") self.user_agent = 'SiCKRAGE.CE.1/({};{};{})'.format( platform.system(), platform.release(), str(uuid.uuid1())) self.languages = [ language for language in os.listdir(sickrage.LOCALE_DIR) if '_' in language ] self.sys_encoding = get_sys_encoding() self.client_web_urls = {'torrent': '', 'newznab': ''} self.adba_connection = None self.notifier_providers = None self.metadata_providers = {} self.search_providers = None self.log = None self.config = None self.alerts = None self.main_db = None self.cache_db = None self.scheduler = None self.wserver = None self.google_auth = None self.name_cache = None self.show_queue = None self.search_queue = None self.postprocessor_queue = None self.version_updater = None self.show_updater = None self.daily_searcher = None self.backlog_searcher = None self.proper_searcher = None self.trakt_searcher = None self.subtitle_searcher = None self.auto_postprocessor = None self.upnp_client = None self.oidc_client = None self.quicksearch_cache = None
def testTzWinLocalRepr(self): tw = tz.tzwinlocal() self.assertEqual(repr(tw), "tzwinlocal()")
def __init__(self): self.started = False self.loading_shows = False self.daemon = None self.pid = os.getpid() try: self.tz = tz.tzwinlocal() if tz.tzwinlocal else tz.tzlocal() except Exception: self.tz = tz.tzlocal() self.shows = {} self.shows_recent = deque(maxlen=5) self.private_key = None self.public_key = None self.main_db = None self.cache_db = None self.config_file = None self.data_dir = None self.cache_dir = None self.quiet = None self.no_launch = None self.disable_updates = None self.web_port = None self.web_host = None self.web_root = None self.developer = None self.db_type = None self.db_prefix = None self.db_host = None self.db_port = None self.db_username = None self.db_password = None self.debug = None self.newest_version_string = None self.naming_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02d E%(episodenumber)02d") self.sports_ep_type = ("%(seasonnumber)dx%(episodenumber)02d", "s%(seasonnumber)02de%(episodenumber)02d", "S%(seasonnumber)02dE%(episodenumber)02d", "%(seasonnumber)02dx%(episodenumber)02d", "S%(seasonnumber)02 dE%(episodenumber)02d") self.naming_ep_type_text = ("1x02", "s01e02", "S01E02", "01x02", "S01 E02",) self.naming_multi_ep_type = {0: ["-%(episodenumber)02d"] * len(self.naming_ep_type), 1: [" - " + x for x in self.naming_ep_type], 2: [x + "%(episodenumber)02d" for x in ("x", "e", "E", "x")]} self.naming_multi_ep_type_text = ("extend", "duplicate", "repeat") self.naming_sep_type = (" - ", " ") self.naming_sep_type_text = (" - ", "space") self.user_agent = 'SiCKRAGE.CE.1/({};{};{})'.format(platform.system(), platform.release(), str(uuid.uuid1())) self.languages = [language for language in os.listdir(sickrage.LOCALE_DIR) if '_' in language] self.client_web_urls = {'torrent': '', 'newznab': ''} self.notifier_providers = {} self.metadata_providers = {} self.search_providers = {} self.adba_connection = None self.log = None self.config = None self.alerts = None self.scheduler = None self.wserver = None self.google_auth = None self.show_queue = None self.search_queue = None self.postprocessor_queue = None self.version_updater = None self.show_updater = None self.tz_updater = None self.rsscache_updater = None self.daily_searcher = None self.failed_snatch_searcher = None self.backlog_searcher = None self.proper_searcher = None self.trakt_searcher = None self.subtitle_searcher = None self.auto_postprocessor = None self.upnp_client = None self.auth_server = None self.announcements = None self.api = None
from sickbeard import db from sickbeard import helpers from sickbeard import logger # 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) am_regex = re.compile(r'(A[. ]? ?M)', flags=re.IGNORECASE) pm_regex = re.compile(r'(P[. ]? ?M)', flags=re.IGNORECASE) network_dict = None if osname == 'nt' and tz.tzwinlocal is not None: sb_timezone = tz.tzwinlocal() else: sb_timezone = tz.tzlocal() # update the network timezone table def update_network_dict(): """Update timezone information from SR repositories""" url = 'http://sickragetv.github.io/sb_network_timezones/network_timezones.txt' url_data = helpers.getURL(url, session=requests.Session()) if not url_data: logger.log( u'Updating network timezones failed, this can happen from time to time. URL: %s' % url, logger.WARNING) load_network_dict()
import six from dateutil import tz from sickbeard import db, helpers, logger from sickchill.helper.common import try_int # regex to parse time (12/24 hour format) time_regex = re.compile( r'(?P<hour>\d{1,2})(?:[:.](?P<minute>\d{2})?)? ?(?P<meridiem>[PA]\.? ?M?)?\b', re.I) network_dict = {} try: sb_timezone = tz.tzwinlocal() if tz.tzwinlocal else tz.tzlocal() except Exception: sb_timezone = tz.tzlocal() missing_network_timezones = set() def update_network_dict(): """Update timezone information from SR repositories""" url = 'http://sickchill.github.io/sb_network_timezones/network_timezones.txt' data = helpers.getURL(url, session=helpers.make_session(), returns='text') if not data: logger.log( 'Updating network timezones failed, this can happen from time to time. URL: {0}' .format(url), logger.WARNING)
# You should have received a copy of the GNU General Public License # along with SickRage. If not, see <http://www.gnu.org/licenses/>. from __future__ import unicode_literals import re from datetime import datetime from dateutil import tz import sickrage from core.databases import cache_db from core.helpers import getURL, tryInt time_regex = re.compile(r'(?P<hour>\d{1,2})(?:[:.]?(?P<minute>\d{2})?)? ?(?P<meridiem>[PA]\.? ?M?)?\b', re.I) sr_timezone = tz.tzwinlocal().display() if tz.tzwinlocal else tz.tzlocal() # update the network timezone table def update_network_dict(): """Update timezone information from SR repositories""" url = 'http://sickragetv.github.io/network_timezones/network_timezones.txt' url_data = getURL(url) if not url_data: sickrage.srLogger.warning( 'Updating network timezones failed, this can happen from time to time. URL: %s' % url) load_network_dict() return d = {}