From 7f5651bb41c7dce3bc2e198845a119b1c307e542 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 24 Dec 2014 06:28:06 +0800 Subject: [PATCH 01/54] Fix slow database operations (port from midgetspy/sickbeard) --- CHANGES.md | 2 + sickbeard/databases/mainDB.py | 12 +++- sickbeard/db.py | 105 +++++++--------------------------- sickbeard/scene_exceptions.py | 7 ++- sickbeard/tvcache.py | 13 ++--- sickbeard/webserve.py | 4 +- 6 files changed, 47 insertions(+), 96 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e187d0a0..ae6d5c93 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,7 @@ ### 0.x.x (2015-xx-xx xx:xx:xx UTC) +* Fix slow database operations (port from midgetspy/sickbeard) + [develop changelog] diff --git a/sickbeard/databases/mainDB.py b/sickbeard/databases/mainDB.py index 12a1c8ae..5b9de6f7 100644 --- a/sickbeard/databases/mainDB.py +++ b/sickbeard/databases/mainDB.py @@ -27,7 +27,7 @@ from sickbeard import encodingKludge as ek from sickbeard.name_parser.parser import NameParser, InvalidNameException, InvalidShowException MIN_DB_VERSION = 9 # oldest db version we support migrating from -MAX_DB_VERSION = 20000 +MAX_DB_VERSION = 20001 class MainSanityCheck(db.DBSanityCheck): @@ -949,6 +949,16 @@ class SickGearDatabaseVersion(db.SchemaUpgrade): self.setDBVersion(20000) return self.checkDBVersion() +# 20000 -> 20001 +class DBIncreaseTo20001(db.SchemaUpgrade): + def execute(self): + backup_database(self.checkDBVersion()) + + logger.log('Bumping database version to force a backup before new database code') + + self.setDBVersion(20001) + return self.checkDBVersion() + # 10001 -> 10000 class RemoveDefaultEpStatusFromTvShows(db.SchemaUpgrade): diff --git a/sickbeard/db.py b/sickbeard/db.py index 5f9ee77f..5e76ab89 100644 --- a/sickbeard/db.py +++ b/sickbeard/db.py @@ -48,61 +48,14 @@ def dbFilename(filename="sickbeard.db", suffix=None): class DBConnection(object): def __init__(self, filename="sickbeard.db", suffix=None, row_type=None): - self.filename = filename - self.suffix = suffix - self.row_type = row_type - self.connection = None + self.connection = sqlite3.connect(dbFilename(filename), 20) - try: - self.reconnect() - except Exception as e: - logger.log(u"DB error: " + ex(e), logger.ERROR) - raise - - def reconnect(self): - """Closes the existing database connection and re-opens it.""" - self.close() - self.connection = sqlite3.connect(dbFilename(self.filename, self.suffix), 20, check_same_thread=False) - self.connection.isolation_level = None - - if self.row_type == "dict": + if row_type == "dict": self.connection.row_factory = self._dict_factory else: self.connection.row_factory = sqlite3.Row - def __del__(self): - self.close() - - def _cursor(self): - """Returns the cursor; reconnects if disconnected.""" - if self.connection is None: self.reconnect() - return self.connection.cursor() - - def execute(self, query, args=None, fetchall=False, fetchone=False): - """Executes the given query, returning the lastrowid from the query.""" - cursor = self._cursor() - - try: - if fetchall: - return self._execute(cursor, query, args).fetchall() - elif fetchone: - return self._execute(cursor, query, args).fetchone() - else: - return self._execute(cursor, query, args) - finally: - cursor.close() - - def _execute(self, cursor, query, args): - try: - if args == None: - return cursor.execute(query) - return cursor.execute(query, args) - except sqlite3.OperationalError as e: - logger.log(u"DB error: " + ex(e), logger.ERROR) - self.close() - raise - def checkDBVersion(self): result = None @@ -118,13 +71,11 @@ class DBConnection(object): else: return 0 - def mass_action(self, querylist, logTransaction=False, fetchall=False): + def mass_action(self, querylist, logTransaction=False): with db_lock: - # remove None types - querylist = [i for i in querylist if i != None] - if querylist == None: + if querylist is None: return sqlResult = [] @@ -135,17 +86,15 @@ class DBConnection(object): for qu in querylist: if len(qu) == 1: if logTransaction: - logger.log(qu[0], logger.DEBUG) - sqlResult.append(self.execute(qu[0], fetchall=fetchall)) + logger.log(qu[0], logger.DB) + sqlResult.append(self.connection.execute(qu[0]).fetchall()) elif len(qu) > 1: if logTransaction: - logger.log(qu[0] + " with args " + str(qu[1]), logger.DEBUG) - sqlResult.append(self.execute(qu[0], qu[1], fetchall=fetchall)) - - logger.log(u"Transaction with " + str(len(querylist)) + u" queries executed", logger.DEBUG) - - # finished - break + logger.log(qu[0] + " with args " + str(qu[1]), logger.DB) + sqlResult.append(self.connection.execute(qu[0], qu[1]).fetchall()) + self.connection.commit() + logger.log(u"Transaction with " + str(len(querylist)) + u" query's executed", logger.DEBUG) + return sqlResult except sqlite3.OperationalError, e: sqlResult = [] if self.connection: @@ -164,15 +113,13 @@ class DBConnection(object): logger.log(u"Fatal error executing query: " + ex(e), logger.ERROR) raise - #time.sleep(0.02) - return sqlResult - def action(self, query, args=None, fetchall=False, fetchone=False): + def action(self, query, args=None): with db_lock: - if query == None: + if query is None: return sqlResult = None @@ -180,13 +127,13 @@ class DBConnection(object): while attempt < 5: try: - if args == None: + if args is None: logger.log(self.filename + ": " + query, logger.DB) + sqlResult = self.connection.execute(query) else: logger.log(self.filename + ": " + query + " with args " + str(args), logger.DB) - - sqlResult = self.execute(query, args, fetchall=fetchall, fetchone=fetchone) - + sqlResult = self.connection.execute(query, args) + self.connection.commit() # get out of the connection attempt loop since we were successful break except sqlite3.OperationalError, e: @@ -201,27 +148,17 @@ class DBConnection(object): logger.log(u"Fatal error executing query: " + ex(e), logger.ERROR) raise - #time.sleep(0.02) - return sqlResult def select(self, query, args=None): - sqlResults = self.action(query, args, fetchall=True) + sqlResults = self.action(query, args).fetchall() - if sqlResults == None: + if sqlResults is None: return [] return sqlResults - def selectOne(self, query, args=None): - - sqlResults = self.action(query, args, fetchone=True) - - if sqlResults == None: - return [] - - return sqlResults def upsert(self, tableName, valueDict, keyDict): @@ -480,9 +417,9 @@ def MigrationCode(myDB): 41: sickbeard.mainDB.Migrate41, 10000: sickbeard.mainDB.SickGearDatabaseVersion, - 10001: sickbeard.mainDB.RemoveDefaultEpStatusFromTvShows + 10001: sickbeard.mainDB.RemoveDefaultEpStatusFromTvShows, - #20000: sickbeard.mainDB.AddCoolSickGearFeature1, + 20000: sickbeard.mainDB.DBIncreaseTo20001, #20001: sickbeard.mainDB.AddCoolSickGearFeature2, #20002: sickbeard.mainDB.AddCoolSickGearFeature3, } diff --git a/sickbeard/scene_exceptions.py b/sickbeard/scene_exceptions.py index 4295b7b6..29c31e8d 100644 --- a/sickbeard/scene_exceptions.py +++ b/sickbeard/scene_exceptions.py @@ -218,6 +218,7 @@ def retrieve_exceptions(): # write all the exceptions we got off the net into the database myDB = db.DBConnection('cache.db') + cl = [] for cur_indexer_id in exception_dict: # get a list of the existing exceptions for this ID @@ -236,10 +237,12 @@ def retrieve_exceptions(): if not isinstance(cur_exception, unicode): cur_exception = unicode(cur_exception, 'utf-8', 'replace') - myDB.action("INSERT INTO scene_exceptions (indexer_id, show_name, season) VALUES (?,?,?)", - [cur_indexer_id, cur_exception, curSeason]) + cl.append(["INSERT INTO scene_exceptions (indexer_id, show_name, season) VALUES (?,?,?)", + [cur_indexer_id, cur_exception, curSeason]]) changed_exceptions = True + myDB.mass_action(cl) + # since this could invalidate the results of the cache we clear it out after updating if changed_exceptions: logger.log(u"Updated scene exceptions") diff --git a/sickbeard/tvcache.py b/sickbeard/tvcache.py index a15c3c6b..4fb70105 100644 --- a/sickbeard/tvcache.py +++ b/sickbeard/tvcache.py @@ -85,11 +85,7 @@ class TVCache(): self.minTime = 10 def _getDB(self): - # init provider database if not done already - if not self.providerDB: - self.providerDB = CacheDBConnection(self.providerID) - - return self.providerDB + return CacheDBConnection(self.providerID) def _clearCache(self): if self.shouldClearCache(): @@ -313,9 +309,12 @@ class TVCache(): 'SELECT * FROM [' + self.providerID + '] WHERE indexerid = ? AND season = ? AND episodes LIKE ? ' 'AND quality IN (' + ','.join([str(x) for x in epObj.wantedQuality]) + ')', [epObj.show.indexerid, epObj.season, '%|' + str(epObj.episode) + '|%']]) + sqlResults = myDB.mass_action(cl) + if sqlResults: + sqlResults = list(itertools.chain(*sqlResults)) - sqlResults = myDB.mass_action(cl, fetchall=True) - sqlResults = list(itertools.chain(*sqlResults)) + if not sqlResults: + return neededEps # for each cache entry for curResult in sqlResults: diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index 0751421b..71e7471b 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -3772,10 +3772,10 @@ class Home(MainHandler): def plotDetails(self, show, season, episode): myDB = db.DBConnection() - result = myDB.selectOne( + result = myDB.select( "SELECT description FROM tv_episodes WHERE showid = ? AND season = ? AND episode = ?", (int(show), int(season), int(episode))) - return result['description'] if result else 'Episode not found.' + return result[0]['description'] if result else 'Episode not found.' def sceneExceptions(self, show): From 9b3fd0b7a91e3dffe6ccf49025e4378279e3e3fe Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 16 Nov 2014 23:00:05 +0800 Subject: [PATCH 02/54] Add TVRage network name standardization --- CHANGES.md | 1 + lib/tvrage_api/tvrage_api.py | 5 ++- sickbeard/databases/cache_db.py | 13 ++++++- sickbeard/helpers.py | 2 ++ sickbeard/network_timezones.py | 60 +++++++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ae6d5c93..b79578fb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,7 @@ ### 0.x.x (2015-xx-xx xx:xx:xx UTC) * Fix slow database operations (port from midgetspy/sickbeard) +* Add TVRage network name standardization [develop changelog] diff --git a/lib/tvrage_api/tvrage_api.py b/lib/tvrage_api/tvrage_api.py index 95a49811..b5347bdf 100644 --- a/lib/tvrage_api/tvrage_api.py +++ b/lib/tvrage_api/tvrage_api.py @@ -22,6 +22,7 @@ import datetime as dt import requests import requests.exceptions import xmltodict +from sickbeard.network_timezones import standardize_network try: import xml.etree.cElementTree as ElementTree @@ -443,7 +444,9 @@ class TVRage: if value: if isinstance(value, dict): if key == 'network': - value = value['#text'] + network = value['#text'] + country = value['@country'] + value = standardize_network(network, country) if key == 'genre': value = value['genre'] if not value: diff --git a/sickbeard/databases/cache_db.py b/sickbeard/databases/cache_db.py index 815f2660..37f60cf7 100644 --- a/sickbeard/databases/cache_db.py +++ b/sickbeard/databases/cache_db.py @@ -88,4 +88,15 @@ class AddSceneExceptionsRefresh(AddSceneExceptionsCustom): def execute(self): self.connection.action( - "CREATE TABLE scene_exceptions_refresh (list TEXT PRIMARY KEY, last_refreshed INTEGER)") \ No newline at end of file + "CREATE TABLE scene_exceptions_refresh (list TEXT PRIMARY KEY, last_refreshed INTEGER)") + + +class AddNetworkConversions(AddSceneExceptionsRefresh): + def test(self): + return self.hasTable('network_conversions') + + def execute(self): + self.connection.action('CREATE TABLE network_conversions (tvdb_network TEXT PRIMARY KEY, tvrage_network TEXT,' + ' tvrage_country TEXT)') + + self.connection.action('CREATE INDEX tvrage_idx on network_conversions (tvrage_network, tvrage_country)') diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py index 7f29e943..22831021 100644 --- a/sickbeard/helpers.py +++ b/sickbeard/helpers.py @@ -1432,6 +1432,8 @@ def get_size(start_path='.'): def remove_article(text=''): return re.sub(r'(?i)^(?:(?:A(?!\s+to)n?)|The)\s(\w)', r'\1', text) +def build_dict(seq, key): + return dict((d[key], dict(d, index=index)) for (index, d) in enumerate(seq)) def client_host(server_host): '''Extracted from cherrypy libs diff --git a/sickbeard/network_timezones.py b/sickbeard/network_timezones.py index a047fc5a..acc31a8f 100644 --- a/sickbeard/network_timezones.py +++ b/sickbeard/network_timezones.py @@ -140,6 +140,7 @@ def _update_zoneinfo(): def update_network_dict(): _remove_old_zoneinfo() _update_zoneinfo() + load_network_conversions() d = {} @@ -278,3 +279,62 @@ def test_timeformat(t): return False else: return True + + +def standardize_network(network, country): + myDB = db.DBConnection('cache.db') + sqlResults = myDB.select('SELECT * FROM network_conversions WHERE tvrage_network = ? and tvrage_country = ?', + [network, country]) + if len(sqlResults) == 1: + return sqlResults[0]['tvdb_network'] + else: + return network + + +def load_network_conversions(): + + conversions = [] + + # network conversions are stored on github pages + url = 'https://raw.githubusercontent.com/prinz23/sg_network_conversions/master/conversions.txt' + + url_data = helpers.getURL(url) + if url_data is None: + # When urlData is None, trouble connecting to github + logger.log(u'Updating network conversions failed, this can happen from time to time. URL: %s' % url, logger.WARNING) + return + + try: + for line in url_data.splitlines(): + (tvdb_network, tvrage_network, tvrage_country) = line.decode('utf-8').strip().rsplit(u'::', 2) + if not (tvdb_network and tvrage_network and tvrage_country): + continue + conversions.append({'tvdb_network': tvdb_network, 'tvrage_network': tvrage_network, 'tvrage_country': tvrage_country}) + except (IOError, OSError): + pass + + my_db = db.DBConnection('cache.db') + + old_d = my_db.select('SELECT * FROM network_conversions') + old_d = helpers.build_dict(old_d, 'tvdb_network') + + # list of sql commands to update the network_conversions table + cl = [] + + for n_w in conversions: + cl.append(['INSERT OR REPLACE INTO network_conversions (tvdb_network, tvrage_network, tvrage_country)' + 'VALUES (?,?,?)', [n_w['tvdb_network'], n_w['tvrage_network'], n_w['tvrage_country']]]) + try: + del old_d[n_w['tvdb_network']] + except: + pass + + # remove deleted records + if len(old_d) > 0: + old_items = list(va for va in old_d) + cl.append(['DELETE FROM network_conversions WHERE tvdb_network' + ' IN (%s)' % ','.join(['?'] * len(old_items)), old_items]) + + # change all network conversion info at once (much faster) + if len(cl) > 0: + my_db.mass_action(cl) \ No newline at end of file From 36b3bb9a2493407b994c54790b9ab2da5073301e Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 4 Jan 2015 10:26:55 +0800 Subject: [PATCH 03/54] Change recent and backlog search timing Remove recent and backlog search at start up options from GUI Change recent and backlog search at start up default value to false Change recent search to occur 5 minutes after start up Change backlog search to occur 10 minutes after start up Change UI footer to display time left until a backlog search --- CHANGES.md | 5 +++++ .../interfaces/default/config_search.tmpl | 20 ------------------- gui/slick/interfaces/default/inc_bottom.tmpl | 2 +- sickbeard/__init__.py | 12 +++++------ sickbeard/config.py | 5 +++++ sickbeard/searchBacklog.py | 2 ++ sickbeard/webserve.py | 4 ---- 7 files changed, 19 insertions(+), 31 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b79578fb..eb8570c0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,11 @@ * Fix slow database operations (port from midgetspy/sickbeard) * Add TVRage network name standardization +* Remove recent and backlog search at start up options from GUI +* Change recent and backlog search at start up default value to false +* Change recent search to occur 5 minutes after start up +* Change backlog search to occur 10 minutes after start up +* Change UI footer to display time left until a backlog search [develop changelog] diff --git a/gui/slick/interfaces/default/config_search.tmpl b/gui/slick/interfaces/default/config_search.tmpl index 92cc1e79..812ea942 100755 --- a/gui/slick/interfaces/default/config_search.tmpl +++ b/gui/slick/interfaces/default/config_search.tmpl @@ -138,26 +138,6 @@ -
- -
- -
- -
- diff --git a/gui/slick/interfaces/default/inc_bottom.tmpl b/gui/slick/interfaces/default/inc_bottom.tmpl index 9d8d38a8..7d1624ff 100644 --- a/gui/slick/interfaces/default/inc_bottom.tmpl +++ b/gui/slick/interfaces/default/inc_bottom.tmpl @@ -63,7 +63,7 @@ %>  / $ep_total episodes downloaded | recent search: <%= str(sickbeard.recentSearchScheduler.timeLeft()).split('.')[0] %> - | backlog search: $sbdatetime.sbdatetime.sbfdate($sickbeard.backlogSearchScheduler.nextRun()) + | backlog search: <%= str(sickbeard.backlogSearchScheduler.timeLeft()).split('.')[0] %> diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index 1ac49e1e..f4df508e 100755 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -58,7 +58,7 @@ CFG = None CONFIG_FILE = None # This is the version of the config we EXPECT to find -CONFIG_VERSION = 7 +CONFIG_VERSION = 8 # Default encryption version (0 for None) ENCRYPTION_VERSION = 0 @@ -674,8 +674,8 @@ def initialize(consoleLogging=True): ALLOW_HIGH_PRIORITY = bool(check_setting_int(CFG, 'General', 'allow_high_priority', 1)) - RECENTSEARCH_STARTUP = bool(check_setting_int(CFG, 'General', 'recentsearch_startup', 1)) - BACKLOG_STARTUP = bool(check_setting_int(CFG, 'General', 'backlog_startup', 1)) + RECENTSEARCH_STARTUP = bool(check_setting_int(CFG, 'General', 'recentsearch_startup', 0)) + BACKLOG_STARTUP = bool(check_setting_int(CFG, 'General', 'backlog_startup', 0)) SKIP_REMOVED_FILES = bool(check_setting_int(CFG, 'General', 'skip_removed_files', 0)) USENET_RETENTION = check_setting_int(CFG, 'General', 'usenet_retention', 500) @@ -1052,7 +1052,7 @@ def initialize(consoleLogging=True): if hasattr(curNzbProvider, 'enable_recentsearch'): curNzbProvider.enable_recentsearch = bool(check_setting_int(CFG, curNzbProvider.getID().upper(), curNzbProvider.getID() + '_enable_recentsearch', - 1)) + 1)) if hasattr(curNzbProvider, 'enable_backlog'): curNzbProvider.enable_backlog = bool(check_setting_int(CFG, curNzbProvider.getID().upper(), curNzbProvider.getID() + '_enable_backlog', @@ -1127,14 +1127,14 @@ def initialize(consoleLogging=True): cycleTime=update_interval, threadName="RECENTSEARCHER", run_delay=update_now if RECENTSEARCH_STARTUP - else update_interval) + else datetime.timedelta(minutes=5)) update_interval = datetime.timedelta(minutes=BACKLOG_FREQUENCY) backlogSearchScheduler = searchBacklog.BacklogSearchScheduler(searchBacklog.BacklogSearcher(), cycleTime=update_interval, threadName="BACKLOG", run_delay=update_now if BACKLOG_STARTUP - else update_interval) + else datetime.timedelta(minutes=10)) search_intervals = {'15m': 15, '45m': 45, '90m': 90, '4h': 4 * 60, 'daily': 24 * 60} if CHECK_PROPERS_INTERVAL in search_intervals: diff --git a/sickbeard/config.py b/sickbeard/config.py index 322861d4..9e30f573 100644 --- a/sickbeard/config.py +++ b/sickbeard/config.py @@ -740,3 +740,8 @@ class ConfigMigrator(): sickbeard.EPISODE_VIEW_SORT = 'time' sickbeard.EPISODE_VIEW_DISPLAY_PAUSED = bool(check_setting_int(self.config_obj, 'GUI', 'coming_eps_display_paused', 0)) sickbeard.EPISODE_VIEW_MISSED_RANGE = check_setting_int(self.config_obj, 'GUI', 'coming_eps_missed_range', 7) + + def _migrate_v8(self): + # removing settings from gui and making it a hidden debug option + sickbeard.RECENTSEARCH_STARTUP = False + sickbeard.BACKLOG_STARTUP = False \ No newline at end of file diff --git a/sickbeard/searchBacklog.py b/sickbeard/searchBacklog.py index 66eb489b..335ae34b 100644 --- a/sickbeard/searchBacklog.py +++ b/sickbeard/searchBacklog.py @@ -38,6 +38,8 @@ class BacklogSearchScheduler(scheduler.Scheduler): def nextRun(self): if self.action._lastBacklog <= 1: return datetime.date.today() + elif (self.action._lastBacklog + self.action.cycleTime) < datetime.date.today().toordinal(): + return datetime.date.today() else: return datetime.date.fromordinal(self.action._lastBacklog + self.action.cycleTime) diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index 71e7471b..287c9824 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -1630,7 +1630,6 @@ class ConfigSearch(MainHandler): backlog_days=None, backlog_frequency=None, recentsearch_frequency=None, nzb_method=None, torrent_method=None, usenet_retention=None, download_propers=None, check_propers_interval=None, allow_high_priority=None, - backlog_startup=None, recentsearch_startup=None, torrent_dir=None, torrent_username=None, torrent_password=None, torrent_host=None, torrent_label=None, torrent_path=None, torrent_verify_cert=None, torrent_seed_time=None, torrent_paused=None, torrent_high_bandwidth=None, ignore_words=None, require_words=None): @@ -1663,9 +1662,6 @@ class ConfigSearch(MainHandler): sickbeard.ALLOW_HIGH_PRIORITY = config.checkbox_to_value(allow_high_priority) - sickbeard.RECENTSEARCH_STARTUP = config.checkbox_to_value(recentsearch_startup) - sickbeard.BACKLOG_STARTUP = config.checkbox_to_value(backlog_startup) - sickbeard.SAB_USERNAME = sab_username sickbeard.SAB_PASSWORD = sab_password sickbeard.SAB_APIKEY = sab_apikey.strip() From b344aaf1ec1886fbd27093392a3db5f1155abeba Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 18 Jan 2015 21:55:23 +0800 Subject: [PATCH 04/54] Remove obsolete tvtorrents search provider --- CHANGES.md | 1 + gui/slick/images/providers/tvtorrents.png | Bin 703 -> 0 bytes .../interfaces/default/config_providers.tmpl | 33 ------ sickbeard/__init__.py | 2 +- sickbeard/providers/__init__.py | 1 - sickbeard/providers/tvtorrents.py | 105 ------------------ 6 files changed, 2 insertions(+), 140 deletions(-) delete mode 100644 gui/slick/images/providers/tvtorrents.png delete mode 100644 sickbeard/providers/tvtorrents.py diff --git a/CHANGES.md b/CHANGES.md index ca338e52..69d70e0f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ * Change recent search to occur 5 minutes after start up * Change backlog search to occur 10 minutes after start up * Change UI footer to display time left until a backlog search +* Remove obsolete tvtorrents search provider [develop changelog] diff --git a/gui/slick/images/providers/tvtorrents.png b/gui/slick/images/providers/tvtorrents.png deleted file mode 100644 index bca30aa998eb723f2e7cba3707b27892f1b7923c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmV;w0zmzVP)x3ujSlD{E^JQz6%H;gPHs*{6HO#0Cd9>26B2?TXqBQ=0w#R7w4w+tz5SrQ zxA(TMFEj$i#LdJryvdt$&U2pUoCp4OtgL3l-}2V|pTsv+#1d)LY>r~FgoP@DBh%#a zdEs`slwWm^pN$B=uaVxX=M`&oCMo6@S1}BOx%p*+t%vA55y0tiV6)j6k0x13ZtM=3 znOhTiIY2GcW-EhZv!e5OGtLGV8|fl}qaOPD$M`%I!|QG0_RSvdJs6@|u0v5QSnL`% zu7~Jf@xI9s3o~flkj*7hohdhU_E|+3AekE;WrCpbNb#DblsE<8cw$& z0R(1Mkja#!W-HODA{(h3mqKlnb(Q#6mF2}89#7MLfC_3x!|StBHftc8^1ls$D)=y& zr2FC-S*P>x$uNaN1C|5jJqdc*M9pbv z3N~{4B^XlkR-q&*S}`jigrJZw$|KulR`4#oMQSroBpN4~kV{f@4p?di-F4T}@|t)% zk>IemmD%|(^mL!bZny8`N}A5c=`8C%VqCl2g~KT&$js+7So{zF l_dSn@v2axI-^EV>1_1j4GnJgD;}rk^002ovPDHLkV1oD5K)L_` diff --git a/gui/slick/interfaces/default/config_providers.tmpl b/gui/slick/interfaces/default/config_providers.tmpl index 8c4c31ee..17be2cfa 100644 --- a/gui/slick/interfaces/default/config_providers.tmpl +++ b/gui/slick/interfaces/default/config_providers.tmpl @@ -571,39 +571,6 @@ #end if - #if $hasattr($curTorrentProvider, 'options'): -
- -
- Advanced options -
- -
-
- -
-
- -
-
-
- #end if - #end for diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index f4df508e..a7d48ad6 100755 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -32,7 +32,7 @@ import os.path sys.path.append(os.path.abspath('../lib')) from sickbeard import providers, metadata, config, webserveInit from sickbeard.providers.generic import GenericProvider -from providers import ezrss, tvtorrents, btn, newznab, womble, thepiratebay, torrentleech, kat, iptorrents, \ +from providers import ezrss, btn, newznab, womble, thepiratebay, torrentleech, kat, iptorrents, \ omgwtfnzbs, scc, hdtorrents, torrentday, hdbits, nextgen, speedcd, nyaatorrents, fanzub, torrentbytes, \ freshontv, bitsoup, tokyotoshokan from sickbeard.config import CheckSection, check_setting_int, check_setting_str, check_setting_float, ConfigMigrator, \ diff --git a/sickbeard/providers/__init__.py b/sickbeard/providers/__init__.py index d20a101a..a1c3e6e5 100755 --- a/sickbeard/providers/__init__.py +++ b/sickbeard/providers/__init__.py @@ -17,7 +17,6 @@ # along with SickGear. If not, see . __all__ = ['ezrss', - 'tvtorrents', 'womble', 'btn', 'thepiratebay', diff --git a/sickbeard/providers/tvtorrents.py b/sickbeard/providers/tvtorrents.py deleted file mode 100644 index d3e00399..00000000 --- a/sickbeard/providers/tvtorrents.py +++ /dev/null @@ -1,105 +0,0 @@ -# Author: Nic Wolfe -# URL: http://code.google.com/p/sickbeard/ -# -# This file is part of SickGear. -# -# SickGear is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# SickGear is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with SickGear. If not, see . - -try: - import xml.etree.cElementTree as etree -except ImportError: - import elementtree.ElementTree as etree - -import sickbeard -import generic - -from sickbeard.exceptions import ex, AuthException -from sickbeard import helpers -from sickbeard import logger -from sickbeard import tvcache - - -class TvTorrentsProvider(generic.TorrentProvider): - def __init__(self): - - generic.TorrentProvider.__init__(self, "TvTorrents") - - self.supportsBacklog = False - - self.enabled = False - self.hash = None - self.digest = None - self.ratio = None - self.options = None - - self.cache = TvTorrentsCache(self) - - self.url = 'https://www.tvtorrents.com/' - - def isEnabled(self): - return self.enabled - - def imageName(self): - return 'tvtorrents.png' - - def _checkAuth(self): - - if not self.digest or not self.hash: - raise AuthException("Your authentication credentials for " + self.name + " are missing, check your config.") - - return True - - def _checkAuthFromData(self, data): - if data.feed.title: - description_text = data.feed.title - - if "User can't be found" in description_text or "Invalid Hash" in description_text: - logger.log(u"Incorrect authentication credentials for " + self.name + " : " + str(description_text), - logger.DEBUG) - raise AuthException( - u"Your authentication credentials for " + self.name + " are incorrect, check your config") - - return True - - def seedRatio(self): - return self.ratio - - -class TvTorrentsCache(tvcache.TVCache): - def __init__(self, provider): - tvcache.TVCache.__init__(self, provider) - - # only poll TvTorrents every 15 minutes max - self.minTime = 15 - - def _getRSSData(self): - # These will be ignored on the serverside. - ignore_regex = "all.month|month.of|season[\s\d]*complete" - - rss_url = self.provider.url + 'RssServlet?digest=' + provider.digest + '&hash=' + provider.hash + '&fname=true&exclude=(' + ignore_regex + ')' - logger.log(self.provider.name + u" cache update URL: " + rss_url, logger.DEBUG) - - data = self.getRSSFeed(rss_url) - - if not self.provider._checkAuthFromData(data): - return [] - - if data and 'entries' in data: - return data['entries'] - else: - return [] - - - -provider = TvTorrentsProvider() From 688b130a11e3694854715f1fa1f13d071d4101d7 Mon Sep 17 00:00:00 2001 From: Supremicus Date: Tue, 20 Jan 2015 19:48:04 +1000 Subject: [PATCH 05/54] Tidy up style sheets * Change light and dark theme css to only hold color information * Fix incorrect class names in a couple of templates --- CHANGES.md | 2 + gui/slick/css/dark.css | 1335 +---------------- gui/slick/css/light.css | 1332 +--------------- gui/slick/css/style.css | 300 ++-- .../default/config_postProcessing.tmpl | 18 +- gui/slick/interfaces/default/editShow.tmpl | 2 +- gui/slick/interfaces/default/episodeView.tmpl | 4 +- .../default/manage_backlogOverview.tmpl | 2 +- 8 files changed, 270 insertions(+), 2725 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 69d70e0f..5d571dd1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,8 @@ * Change backlog search to occur 10 minutes after start up * Change UI footer to display time left until a backlog search * Remove obsolete tvtorrents search provider +* Change light and dark theme css to only hold color information +* Fix incorrect class names in a couple of templates [develop changelog] diff --git a/gui/slick/css/dark.css b/gui/slick/css/dark.css index 7a0083ad..e793db5a 100644 --- a/gui/slick/css/dark.css +++ b/gui/slick/css/dark.css @@ -1,154 +1,7 @@ -/* ======================================================================= -fonts -========================================================================== */ -/* Open Sans */ -/* Regular */ -@font-face { - font-family: 'Open Sans'; - - src: url('fonts/OpenSans-Regular-webfont.eot'); - src: url('fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Regular-webfont.woff') format('woff'), - url('fonts/OpenSans-Regular-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-weight: 400; - font-style: normal; -} - -/* Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Italic-webfont.eot'); - src: url('fonts/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Italic-webfont.woff') format('woff'), - url('fonts/OpenSans-Italic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-weight: 400; - font-style: italic; -} - -/* Light */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Light-webfont.eot'); - src: url('fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Light-webfont.woff') format('woff'), - url('fonts/OpenSans-Light-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg'); - font-weight: 200; - font-style: normal; -} - -/* Light Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-LightItalic-webfont.eot'); - src: url('fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-LightItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg'); - font-weight: 200; - font-style: italic; -} - -/* Semibold */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Semibold-webfont.eot'); - src: url('fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Semibold-webfont.woff') format('woff'), - url('fonts/OpenSans-Semibold-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); - font-weight: 600; - font-style: normal; -} - -/* Semibold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot'); - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: 600; - font-style: italic; -} - -/* Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Semibold-webfont.eot'); - src: url('fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Semibold-webfont.woff') format('woff'), - url('fonts/OpenSans-Semibold-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); - font-weight: bold; - font-weight: 700; - font-style: normal; -} - -/* Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot'); - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: bold; - font-weight: 700; - font-style: italic; -} - -/* Extra Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Bold-webfont.eot'); - src: url('fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Bold-webfont.woff') format('woff'), - url('fonts/OpenSans-Bold-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg'); - font-weight: 900; - font-style: normal; -} - -/* Extra Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-BoldItalic-webfont.eot'); - src: url('fonts/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-BoldItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-BoldItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg'); - font-weight: 900; - font-style: italic; -} - -/* Droid Sans */ -@font-face { - font-family: 'droid_sans_mono'; - src: url('fonts/droidsansmono-webfont.eot'); - src: url('fonts/droidsansmono-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/droidsansmono-webfont.woff') format('woff'), - url('fonts/droidsansmono-webfont.ttf') format('truetype'), - url('fonts/droidsansmono-webfont.svg#droid_sans_monoregular') format('svg'); - font-weight: normal; - font-style: normal; -} - - /* ======================================================================= inc_top.tmpl ========================================================================== */ -.navbaricon { - margin-top: -15px; - margin-bottom: -15px; -} - [class^="icon-"], [class*=" icon-"] { background-image: url("../images/glyphicons-halflings.png"); @@ -480,148 +333,33 @@ inc_bottom.tmpl ========================================================================== */ .footer { - width: 100%; - padding: 20px 0; color: #fff; - text-align: center; - font-size: 12px; } .footerhighlight { color: #09A2FF; - display: inline; } - /* ======================================================================= home.tmpl ========================================================================== */ .imgbanner .banner { border: 1px solid #111; - overflow: hidden; - height: 66px; - overflow: hidden; - border-radius: 8px; - vertical-align: top; - width: 360px; - display: block; - margin-left: auto; - margin-right: auto; } .imgsmallposter .small { - height: 66px; - overflow: hidden; - border-radius: 3px; - vertical-align: middle; - width: 45px; border: 1px solid #111; - margin-right: 5px; -} - -.ui-progressbar { - height: 20px; - line-height: 18px; -} - -.ui-progressbar .ui-progressbar-value { - box-sizing: content-box !important; } .progressbarText { - position: absolute; - top: 0; - width: 100%; - height: 100%; - overflow: visible; - text-align: center; text-shadow: 0 0 0.1em #000; - vertical-align: middle; - font-size: 12px; color: #fff; } -.progress-80 { - background-image: -moz-linear-gradient(#a6cf41, #5b990d) !important; - background-image: linear-gradient(#a6cf41, #5b990d) !important; - background-image: -webkit-linear-gradient(#a6cf41, #5b990d) !important; - background-image: -o-linear-gradient(#a6cf41, #5b990d) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.progress-60 { - background-image: -moz-linear-gradient(#fad440, #f2a70d) !important; - background-image: linear-gradient(#fad440, #f2a70d) !important; - background-image: -webkit-linear-gradient(#fad440, #f2a70d) !important; - background-image: -o-linear-gradient(#fad440, #f2a70d) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.progress-40 { - background-image: -moz-linear-gradient(#fab543, #f2700d) !important; - background-image: linear-gradient(#fab543, #f2700d) !important; - background-image: -webkit-linear-gradient(#fab543, #f2700d) !important; - background-image: -o-linear-gradient(#fab543, #f2700d) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.progress-20 { - background-image: -moz-linear-gradient(#da5945, #b11a10) !important; - background-image: linear-gradient(#da5945, #b11a10) !important; - background-image: -webkit-linear-gradient(#da5945, #b11a10) !important; - background-image: -o-linear-gradient(#da5945, #b11a10) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -#container, #container-anime { - margin: 0 auto; -} - .show { - margin: 12px; - width: 188px; - height: 352px; background-color: #333; border: 1px solid #111; - border-radius: 6px; -} - -.show-image { - overflow: hidden; - height: 273px; - width: 186px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.show .ui-progressbar { - height: 7px !important; - top: -2px; -} - -.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { - border-bottom-right-radius: 0; -} - -.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { - border-bottom-left-radius: 0; -} - -.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { - border-top-right-radius: 0; -} - -.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { - border-top-left-radius: 0; } .show .ui-widget-content { @@ -631,30 +369,6 @@ home.tmpl border-right: 0; } -.show .progress-80 { - border-radius: 0; -} - -.show .progress-60 { - border-radius: 0; -} - -.show .progress-40 { - border-radius: 0; -} - -.show .progress-20 { - border-radius: 0; -} - -.show-title { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 4px 4px 0 4px; -} - .show-title:after { content: ""; pointer-events: none; @@ -670,14 +384,6 @@ home.tmpl background-image: linear-gradient(to left, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); } -.show-date { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 0 4px 4px 4px; -} - .show-date:after { content: ""; pointer-events: none; @@ -693,60 +399,6 @@ home.tmpl background-image: linear-gradient(to left, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); } -.show-table { - text-align:center; - vertical-align:middle; - width: 33% -} - -.show-add { - font-size: 11px; - text-align: left; - display: block; -} - -.show-status { - font-size: 11px; - text-align: left; - display: block; -} - -.show-network-image { - width: 50px; - height: auto; -} - -.show-dlstats { - font-size: 11px; - text-align: left; - display: block; - margin-left: 4px; -} - -.show-quality { - font-size: 11px; - text-align: right; - display: block; - margin-right: 4px; -} - -#sort-by { - display: inline; - list-style-type: none; - padding: 0; - margin-left: 5px; -} - -#sort-by ul, #sort-by li { - display: inline; - margin: 0; - padding: 0; -} - -.posterview { - margin: 0 auto; -} - td.tvShow a { color: #fff; text-decoration: none; @@ -760,6 +412,7 @@ td.tvShow a:hover { /* ======================================================================= home_addShows.tmpl ========================================================================== */ + .icon-addnewshow { background-image: url("../images/addshows/add-new32-white.png"); } @@ -779,11 +432,32 @@ home_addShows.tmpl /* ======================================================================= home_newShow.tmpl ========================================================================== */ + #displayText { background-color: rgb(17, 120, 179); border: 0; } +.step-one #searchResults .alt { + background-color: rgb(40, 40, 40); +} + +#addRootDirTable td label .filepath, +.grey-text { + color:#999 +} + +#newShowPortal #displayText .show-name, +#newShowPortal #displayText .show-dest, +#newShowPortal #displayText p { + color: rgb(200, 200, 200) +} + +#newShowPortal #displayText .show-name, +#newShowPortal #displayText .show-dest { + color: rgb(255, 255, 255) +} + /* ======================================================================= home_addExistingShow.tmpl ========================================================================== */ @@ -796,74 +470,24 @@ ul#rootDirStaticList li { home_trendingShows.tmpl ========================================================================== */ -.traktShowTitleIcons { - float: right; - padding-right: 4px; - padding-bottom: 4px; -} - -.traktContainer p { - padding-top: 2px; -} - -.traktContainer p img { - position: relative; - top: -2px; -} - -.traktContainer p, .traktContainer i { - white-space: nowrap; - font-size: 12px; - overflow: hidden; -/* text-shadow: 1px 1px 0 #000;*/ - padding-left: 4px; - margin: 0; -} - .traktContainer { - margin: 12px; - width: 188px; background-color: #333; border: 1px solid #111; - border-radius: 6px; } .trakt-image { - overflow: hidden; - height: 273px; - width: 186px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; border-bottom: 1px solid #111; } - /* ======================================================================= home_postprocess.tmpl ========================================================================== */ -#postProcess { - width: 800px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - /* ======================================================================= displayShow.tmpl ========================================================================== */ -#showCol { - overflow: hidden; - margin-bottom: 20px; -} - -.navShow { - display: inline; - cursor: pointer; -} - #prevShow, #nextShow, #topcontrol { @@ -872,51 +496,14 @@ displayShow.tmpl } h1.title { - padding-bottom: 12px; - margin-bottom: 15px; - line-height: 30px; - text-align: left; - text-rendering: optimizelegibility; border-bottom: 1px solid #555; } -.displayspecials { - position: relative; - top: -24px; -} - -#showinfo { - cursor: default; -} - -#showinfo { - display: inline-block; - position: relative; - top: -3px; -} - -span.imdbstars, span.imdbstars > * { - background: url(../images/rating.png) 0 -12px repeat-x; -} - -ul.tags { - list-style-type: none; - position: relative; - top: -5px; - margin-left: -40px; -} - ul.tags li { - margin-right: 4px; - margin-bottom: 5px; - padding: 3px 4px 3px 25px; background: url(../images/tag.png) no-repeat scroll 5px 4px #15528F; - border-radius: 3px; border: 1px solid #111; color: #FFF; - font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; text-shadow: 0 1px rgba(0, 0, 0, 0.8); - float: left; } ul.tags li a{ @@ -925,311 +512,48 @@ ul.tags li a{ .tvshowImg { border: 1px solid #111; - border-radius: 5px; - height: 311px; - width: auto; - float: left; } #summary { - padding: 10px; background-color: #3d3d3d; border: 1px solid #111; - width: 100%; - height: 250px; - overflow: auto; - cursor: default; -} - -.summaryTable { - max-width: 70%; - overflow: hidden; -} - -#checkboxControls { - padding-top: 5px; -} - -#checkboxControls span { - padding: 5px; - font-size: 13px; - font-weight: bold; - border-radius: 5px; -} - -#checkboxControls label { - white-space: nowrap; - display: inline-block; -} - -#checkboxControls input[type="checkbox"] { - vertical-align: -2px; -} - -.unaired { - background-color: #f5f1e4; -} -.skipped { - background-color: #bedeed; -} -.good { - background-color: #c3e3c8; -} -.qual { - background-color: #ffda8a; -} -.wanted { - background-color: #ffb0b0; -} -.snatched { - background-color: #ebc1ea; -} - -span.unaired { - color: #584b20; - border: 1px solid #584b20; -} -span.skipped { - color: #1d5068; - border: 1px solid #1d5068; -} -span.good { - color: #295730; - border: 1px solid #295730; -} -span.qual { - color: #765100; - border: 1px solid #765100; -} -span.wanted { - color: #890000; - border: 1px solid #890000; -} -span.snatched { - color: #652164; - border: 1px solid #652164; -} - -span.unaired b, -span.skipped b, -span.good b, -span.qual b, -span.wanted b, -span.snatched b { - color: #000000; - font-weight: 800; -} - -.plotInfo { - cursor: help; - float: right; - position: relative; - top: 2px; -} - -.plotInfoNone { - cursor: help; - float: right; - position: relative; - top: 2px; - opacity: 0.4; -} - -.sickbeardTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; - color: #000; } .sickbeardTable th{ color: #fff; - text-align: center; background-color: #15528F; - white-space: nowrap; } .sickbeardTable th, .sickbeardTable td { border-top: 1px solid #222; border-left: 1px solid #222; - padding: 4px; } th.row-seasonheader { border: none; - background-color: #222; + background-color: transparent; color: #fff; - padding-top: 15px; - text-align: left; } tr.seasonheader { - padding-bottom: 5px; - padding-top: 10px; text-align: left; border: none; } -th.col-checkbox, -td.col-checkbox { - width: 30px; - border-left: none; - text-align: center; -} - -th.col-checkbox input[type="checkbox"], -td.col-checkbox input[type="checkbox"] { - vertical-align: -2px; -} - -th.col-metadata, -td.col-metadata { - width: 28px; -} - -th.col-ep, -td.col-ep { - width: 50px; - white-space: nowrap; -} - -th.col-airdate, -td.col-airdate { - width: 86px; - white-space: nowrap; -} - -th.col-name, -td.col-name { - min-width: 100px; -} - -td.col-name { - text-align: left; -} - -th.col-subtitles, -td.col-subtitles { - width: 150px; - text-align: center; -} - -th.col-status, -td.col-status { - width: 200px; - text-align: center; -} - -th.col-legend, -td.col-legend { - width: 80px; -} - -th.col-search, -td.col-search { - width: 46px; -} - -.showLegend { - padding-right: 6px; - padding-bottom: 1px; - width: 150px; -} - -.input-scene { - height: 20px; - line-height: 1.5; - border-radius: 3px; -} - -#editShow { - width: 700px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - /* ======================================================================= episodeView.tmpl ========================================================================== */ -.sort_data { - display: none; -} - - -.listing-key { - padding: 5px; - font-size: 13px; - font-weight: bold; - border-radius: 5px; -} - -.listing-default { - background-color: #f5f1e4; -} - -.listing-current { - background-color: #dfd; -} - -.listing-overdue { - background-color: #fdd; -} - -.listing-toofar { - background-color: #bedeed; -} - -span.listing-default { - color: #826f30; - border: 1px solid #826f30; -} - -span.listing-current { - color: #295730; - border: 1px solid #295730; -} - -span.listing-overdue { - color: #890000; - border: 1px solid #890000; -} - -span.listing-toofar { - color: #1d5068; - border: 1px solid #1d5068; -} - h2.day, h2.network { - margin: 10px 0; - font-size: 24px; - line-height: 36px; - font-weight: bold; - letter-spacing: 1px; color: #FFF; - text-align: center; text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); background-color: #15528F; } .tvshowDiv { - display: block; - clear: both; border: 1px solid #ccc; - margin: auto; - padding: 0; - text-align: left; - width: 750px; - border-radius: 5px; background: #fff; - cursor: default; - overflow: hidden; color: #000; } @@ -1237,70 +561,25 @@ h2.day, h2.network { color: #09A2FF; } -.tvshowDiv a, .tvshowDiv a:link, .tvshowDiv a:visited, .tvshowDiv a:hover { - text-decoration: none; - background: none; -} - .tvshowTitle a { color: #000000; - float: left; - line-height: 1.4em; - font-size: 1.4em; - text-shadow: -1px -1px 0 #FFF); -} - -.tvshowTitleIcons { - float: right; - padding: 3px 5px; -} - -.tvshowDiv td { - padding: 5px 10px; } .tvshowDiv td.next_episode { - width: 100%; - height: 90%; border-bottom: 1px solid #ccc; - vertical-align: top; color: #000; } .bannerThumb { - vertical-align: top; - height: auto; - width: 748px; border-bottom: 1px solid #ccc; } .posterThumb { - vertical-align: top; - height: auto; - width: 180px; border-right: 1px solid #ccc; } .ep_listing { - width: auto; border: 1px solid #ccc; - margin-bottom: 10px; - padding: 10px; -} - -.ep_summary { - margin-left: 5px; - font-style: italic; -} - -.ep_summaryTrigger { - cursor: pointer; - vertical-align: middle; -} - -.ep_summaryTriggerNone { - opacity: 0.4; - vertical-align: middle; } #showListTable td.tvShow a { @@ -1328,10 +607,6 @@ h2.day, h2.network { .even .daybyday-show { background-color: #3d3d3d; } -.daybyday-show .episode-blank { - background-color: rgba(0,0,0,.1); - border-radius: 3px; -} .day-of-week .poster img { border-color: #111; @@ -1342,117 +617,43 @@ h2.day, h2.network { .day-of-week .text .episode .name { color: #fff; } + .day-of-week .text .episode .season, .day-of-week .text .episode .number { color: rgb(9, 162, 255); } + .day-of-week .text .episode { color: rgb(141, 190, 238); } +.episodeview-daybyday .time .time-hr-min, +.episodeview-daybyday .time .time-am-pm { + color: #999; +} + /* ======================================================================= config*.tmpl ========================================================================== */ -#config-content { - display: block; - width: 960px; - padding: 0 0 40px; - margin: 0 auto; - clear: both; - text-align: left; -} - .component-group { - padding: 15px 15px 25px; border-bottom: 1px dotted #555; - min-height: 200px; } .component-item { border-bottom: 1px dotted #666; - min-height: 200px; -} - -.component-group-desc h3{ - margin-top: 5px; } .component-group-desc p { - margin: 10px 0; color: #ddd; } -#config div.field-pair { - padding: 12px 0; -} - -#config .nocheck, #config div #customQuality, .metadataDiv { - padding-left: 20px; -} - -#config .metadataDiv { - display: none; -} - -.component-group-save { - float: right; - padding-top: 10px; -} - -select .selected { - font-weight: 700; -} - -.jumbo { - font-size: 15px !important; - line-height: 24px; -} - .testNotification { - padding: 5px; - margin-bottom: 10px; - line-height: 20px; border: 1px dotted #CCC; } -#providerOrderList { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list, -#service_order_list { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list li, -#service_order_list li { - background: #333 !important; - color: #fff; -} - -#config .tip_scale label span.component-title { - width: 85px !important; - font-size: 12px !important; - margin-top: 2px !important; -} - -#config .tip_scale label span.component-desc { - margin-left: 120px !important; - width: 220px !important; -} - -.infoTableHeader, -.infoTableCell { - padding: 5px; -} - .infoTableSeperator { - border-top: 1px dotted #666666; + border-top: 1px dotted #666; } /* ======================================================================= @@ -1470,27 +671,15 @@ config_postProcessing.tmpl } .Key { - width: 100%; - padding: 6px; - font-size: 13px; background-color: #3d3d3d; border: 1px solid #111; - border-collapse: collapse; - border-spacing: 0; } .Key th, .tableHeader { - padding: 3px 9px; - margin: 0; color: #fff; - text-align: center; background: #15528F; } -.Key td { - padding: 1px 5px !important; -} - .Key tr { border-bottom: 1px solid #111; } @@ -1499,11 +688,6 @@ config_postProcessing.tmpl background-color: #333; } -.legend { - position: relative; - top: 2px; -} - /* ======================================================================= config_notifications.tmpl ========================================================================== */ @@ -1544,52 +728,7 @@ div.metadataDiv .disabled { manage*.tmpl ========================================================================== */ -.manageTable th { - white-space: normal; - line-height: 24px; -} - -.manageTable td.tableright { - text-align: left; -} - -td.tableright { - text-align: center; -} - -.optionWrapper { - width: 450px; - margin-left: auto; - margin-right: auto; - padding: 6px 12px; -} - -.optionWrapper span.selectTitle { - float: left; - text-align: left; - vertical-align: middle; - width: 225px; - padding: 6px 0; -} - -.optionWrapper div.selectChoices { - float: left; - width: 175px; - margin-left: 25px; -} - -.optionWrapper br { - clear: both; -} - -.manageCustom { - text-align: center; - padding: 6px; - margin-left: 25px; -} - .separator { - font-size: 90%; color: #fff; } @@ -1597,7 +736,6 @@ a.whitelink { } - /* ======================================================================= Global ========================================================================== */ @@ -1607,174 +745,24 @@ span.path { background-color: #333; } -.align-left { - text-align: left; +.red-text { + color: #d33; } - -span.quality { - font: 12px/13px "Open Sans", verdana, sans-serif; - background-image:-webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - background-image:-moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - background-image:-o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - -webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15); - box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15); - text-shadow: 0 1px rgba(0, 0, 0, 0.8); - color: #FFFFFF; - display: inline-block; - padding: 2px 4px; - text-align: center; - vertical-align: baseline; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -span.Custom { - background-color: #621993; -} - -span.HD { - background-color: #2672B6; -} - -span.HD720p { - background-color: #5b990d; -} - -span.HD1080p { - background-color: #2672B6; -} - -span.RawHD { - background-color: #cd7300; -} - -span.SD { - background-color: #BE2625; -} - -span.Any { - background-color: #666; -} - -span.Unknown { - background-color: #999; -} - -span.Proper { - background-color: #3F7F00; -} - -span.false { - color: #993333; - /* red */ -} - -span.true { - color: #669966; - /* green */ -} - -option.flag { - padding-left: 35px; - background-repeat: no-repeat; - background-position: 10px 50%; -} - -/* Anime section for editShow */ -.bwlWrapper { - height:auto; - margin: 0 auto; -} - -#Anime { - clear: both; - overflow-x: hidden; - overflow-y: hidden; - font-size: 14px; -} - -#Anime div.component-group-desc { - float: left; - width: 165px; -} - -#Anime div.component-group-desc p { - margin-bottom: 0.4em; - margin-left: 0; - margin-right: 0; - margin-top: 0.4em; - width: 95%; -} - -div.blackwhitelist{ - float:left; - text-align: center; -} - -div.blackwhitelist input { - margin: 5px 5px; -} - -div.blackwhitelist.pool select{ - width: 300px; -} - -div.blackwhitelist.pool { - margin:5px; -} - -div.blackwhitelist.white select, div.blackwhitelist.black select { - width: 180px; -} - -div.blackwhitelist.white, div.blackwhitelist.black { - margin:5px; -} - -div.blackwhitelist span { - display: block; - text-align: center; -} - -div.blackwhitelist.anidb, div.blackwhitelist.manual { - margin: 7px 0; -} - - /* ======================================================================= bootstrap Overrides ========================================================================== */ body { - padding-top: 60px; - overflow-y: scroll; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; color: #fff; background-color: #222; } -input[type="radio"] { - margin: 2px 0 0; - line-height: normal; -} - input, textarea, select, .uneditable-input { width: auto; color: #000; } -.container-fluid { - margin-left: 10px; - margin-right: 10px; -} - -.navbar-brand { - padding: 0; -} - /* navbar styling */ .navbar-default { background-color: #15528F; @@ -1905,7 +893,6 @@ fieldset[disabled] .navbar-default .btn-link:focus { } .dropdown-menu > li > a { - padding: 4px 36px 4px 20px; color: #fff; } @@ -1916,7 +903,7 @@ fieldset[disabled] .navbar-default .btn-link:focus { } .form-control { - color: #000000; + color: #000; } .btn { @@ -1957,10 +944,6 @@ fieldset[disabled] .navbar-default .btn-link:focus { color: #fff; } -.btn:first-child { - *margin-left: 0; -} - .btn:hover { color: #fff; background-color: #2672B6; @@ -2242,10 +1225,18 @@ fieldset[disabled] .navbar-default .btn-link:focus { border-left: 6px solid transparent; content: ""; } -} - -label { - font-weight: normal; + + .navbar-default .navbar-nav > .active > a { + background-color: transparent; + -webkit-box-shadow: inset 0px -5px 0px 0px #8DBEEE; + -moz-box-shadow: inset 0px -5px 0px 0px #8DBEEE; + box-shadow: inset 0px -5px 0px 0px #8DBEEE; + } + + .navbar-fixed-top { + border-width: 0; + } + } pre { @@ -2254,14 +1245,10 @@ pre { border-color: #111; } -.alert { - padding: 10px; - text-align: center; -} - /* ======================================================================= input sizing (for config pages) ========================================================================== */ + #pickShow optgroup, #editAProvider optgroup { color: #eee; @@ -2278,53 +1265,15 @@ input sizing (for config pages) browser.css ========================================================================== */ -#fileBrowserDialog { - overflow-y: auto; -} - -#fileBrowserDialog ul { - padding: 0; - margin: 0; -} - #fileBrowserDialog ul li { - margin: 2px 0; - list-style-type: none; - cursor: pointer; background: #333; } -#fileBrowserDialog ul li a { - display: block; - padding: 4px 0; -} - #fileBrowserDialog ul li a:hover { color: #09a2ff; background: none; } -#fileBrowserDialog ul li a span.ui-icon { - float: left; - margin: 0 4px; -} - -#fileBrowserDialog h2 { - font-size: 20px; -} - -.ui-autocomplete { - max-height: 180px; - overflow-x: hidden; - overflow-y: auto; -} - -/* IE6 hack since it doesn't support max-height */ -* html .ui-autocomplete { - height: 180px; - padding-right: 20px; -} - .ui-menu .ui-menu-item { background-color: #eee; } @@ -2339,16 +1288,6 @@ browser.css background-color: #0a246a; } -/* restore 1.8.x resize handle on dialog button pane */ -.ui-dialog .ui-resizable-se { - width: 14px; - height: 14px; - right: 3px; - bottom: 3px; - background-position: -80px -224px; -} - - /* ======================================================================= formWizard ========================================================================== */ @@ -2390,18 +1329,14 @@ pnotify.css background-image: -o-linear-gradient(#333, #3d3d3d) !important; filter: progid:dximagetransform.microsoft.gradient(startColorstr=#333, endColorstr=#3d3d3d) !important; -ms-filter: progid:dximagetransform.microsoft.gradient(startColorstr=#333, endColorstr=#3d3d3d) !important; - -moz-box-shadow: 0 0 2px #000; - -webkit-box-shadow: 0 0 2px #000; - -o-box-shadow: 0 0 2px #000; - box-shadow: 0 0 2px #000; } .ui-pnotify-title { - color: #ffffff; + color: #fff; } .ui-pnotify-text { - color: #ffffff; + color: #fff; } /* ======================================================================= @@ -2409,13 +1344,8 @@ tablesorter.css ========================================================================== */ .tablesorter { - width: 100%; - margin-right: auto; - margin-left: auto; color: #fff; - text-align: left; background-color: #333; - border-spacing: 0; } .tablesorter th, @@ -2450,12 +1380,6 @@ tablesorter.css /* background-image: url(../images/tablesorter/desc.gif); */ } -.tablesorter thead .sorter-false { - background-image: none; - padding: 4px; - cursor: default; -} - thead.tablesorter-stickyHeader { border-top: 2px solid #222; border-bottom: 2px solid #222; @@ -2470,18 +1394,6 @@ thead.tablesorter-stickyHeader { background-color: #2e2e2e; } -/* filter widget */ -.tablesorter .filtered { - display: none; -} -.tablesorter input.tablesorter-filter { - width: 98%; - height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - .tablesorter tr.tablesorter-filter-row, .tablesorter tr.tablesorter-filter-row td { text-align: center; @@ -2489,16 +1401,6 @@ thead.tablesorter-stickyHeader { border-bottom: 1px solid #111; } -/* optional disabled input styling */ -.tablesorter input.tablesorter-filter-row .disabled { - display: none; -} - -.tablesorter-header-inner { - padding: 0 2px; - text-align: center; -} - .tablesorter tfoot tr { color: #fff; text-align: center; @@ -2521,73 +1423,22 @@ token-input.css ========================================================================== */ ul.token-input-list { - overflow: hidden; - height: auto !important; - height: 1%; - width: 273px; border: 1px solid #ccc; - cursor: text; - font-size: 10px; - font-family: Verdana; - z-index: 999; - margin: 0; - padding: 0 0 1px 0; background-color: #fff; - list-style-type: none; -/* clear: left; */ - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -ul.token-input-list li { - list-style-type: none; } ul.token-input-list li input { border: 0; - padding: 3px 4px; background-color: white; -/* -webkit-appearance: caret; */ } li.token-input-token { - overflow: hidden; - height: auto !important; - height: 1%; - margin: 3px; - padding: 3px 5px 0 5px; background-color: #d0efa0; color: #000; - font-weight: bold; - cursor: default; - display: block; -} - -li.token-input-token img { - padding-top: 7px; - padding-right: 4px; - float: left; -} - -li.token-input-token input { - padding-top: 2px !important; - padding-right: 4px !important; - float: left; -} - -li.token-input-token p { - float: left; - padding: 0; - margin: 0; - line-height: 2.0 !important; } li.token-input-token span { - float: right; color: #777; - cursor: pointer; } li.token-input-selected-token { @@ -2599,10 +1450,6 @@ li.token-input-selected-token span { color: #bbb; } -li.token-input-input-token input { - margin: 3px 3px 3px 3px !important; -} - div.token-input-dropdown { background-color: #fff; color: #000; @@ -2612,21 +1459,11 @@ div.token-input-dropdown { } div.token-input-dropdown p { - margin: 0; - padding: 3px; - font-weight: bold; color: #777; } -div.token-input-dropdown ul { - margin: 0; - padding: 0; -} - div.token-input-dropdown ul li { background-color: #fff; - padding: 3px; - list-style-type: none; } div.token-input-dropdown ul li.token-input-dropdown-item { @@ -2637,57 +1474,15 @@ div.token-input-dropdown ul li.token-input-dropdown-item2 { background-color: #fff; } -div.token-input-dropdown ul li em { - font-weight: bold; - font-style: normal; -} - div.token-input-dropdown ul li.token-input-selected-dropdown-item { background-color: #6196c2; } -span.token-input-delete-token { - margin: 0 1px; -} - -.step-one #searchResults .alt { - background-color: rgb(40, 40, 40); -} - -/*.episodeview-daybyday .time .time-min,*/ -.episodeview-daybyday .time .time-hr-min, -.episodeview-daybyday .time .time-am-pm, -#addRootDirTable td label .filepath, -.grey-text { - color:#999 -} -/*.episodeview-daybyday .time .time-hr-min{ - display:none -} -.episodeview-daybyday .time .time-min{ - font-size: 11px; -}*/ - -#newShowPortal #displayText .show-name, -#newShowPortal #displayText .show-dest, -#newShowPortal #displayText p { - color: rgb(200, 200, 200) -} - -#newShowPortal #displayText .show-name, -#newShowPortal #displayText .show-dest { - color: rgb(255, 255, 255) -} /* ======================================================================= jquery.confirm.css ========================================================================== */ #confirmOverlay{ - width: 100%; - height: 100%; - position: fixed; - top: 0; - left: 0; background: url('../images/bg.gif'); background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5); background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5); @@ -2696,55 +1491,27 @@ jquery.confirm.css #confirmBox{ background: #222; - width: 460px; - position: fixed; - left: 50%; - top: 50%; - margin: -130px 0 0 -230px; border: 1px solid #111; box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175); } -#confirmBox h1, -#confirmBox p{ - padding: 6px 10px; -} - #confirmBox h1 { background-color: #15528F; border-bottom: 1px solid #111; color: #fff; - margin: 0; - font-size: 22px; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); } #confirmBox p { - padding-top: 20px; color: #fff; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); } -#confirmButtons { - padding: 15px 0; - text-align: center; -} - #confirmBox .button { - margin-right: 15px; - padding: 2px 20px; - text-decoration: none; - display: inline-block; color: #fff; - text-align:center; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - background-clip: padding-box; border: 1px solid #111; border-radius: 3px; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25)); background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25)); background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25)); @@ -2753,10 +1520,6 @@ jquery.confirm.css box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15); } -#confirmBox .button:last-child { - margin-right:0; -} - #confirmBox .green { background-color: #3F7636; } diff --git a/gui/slick/css/light.css b/gui/slick/css/light.css index 8ebbbfe5..5673e36c 100644 --- a/gui/slick/css/light.css +++ b/gui/slick/css/light.css @@ -1,154 +1,7 @@ -/* ======================================================================= -fonts -========================================================================== */ -/* Open Sans */ -/* Regular */ -@font-face { - font-family: 'Open Sans'; - - src: url('fonts/OpenSans-Regular-webfont.eot'); - src: url('fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Regular-webfont.woff') format('woff'), - url('fonts/OpenSans-Regular-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-weight: 400; - font-style: normal; -} - -/* Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Italic-webfont.eot'); - src: url('fonts/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Italic-webfont.woff') format('woff'), - url('fonts/OpenSans-Italic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-weight: 400; - font-style: italic; -} - -/* Light */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Light-webfont.eot'); - src: url('fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Light-webfont.woff') format('woff'), - url('fonts/OpenSans-Light-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg'); - font-weight: 200; - font-style: normal; -} - -/* Light Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-LightItalic-webfont.eot'); - src: url('fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-LightItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg'); - font-weight: 200; - font-style: italic; -} - -/* Semibold */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Semibold-webfont.eot'); - src: url('fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Semibold-webfont.woff') format('woff'), - url('fonts/OpenSans-Semibold-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); - font-weight: 600; - font-style: normal; -} - -/* Semibold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot'); - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: 600; - font-style: italic; -} - -/* Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Semibold-webfont.eot'); - src: url('fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Semibold-webfont.woff') format('woff'), - url('fonts/OpenSans-Semibold-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); - font-weight: bold; - font-weight: 700; - font-style: normal; -} - -/* Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot'); - src: url('fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: bold; - font-weight: 700; - font-style: italic; -} - -/* Extra Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Bold-webfont.eot'); - src: url('fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-Bold-webfont.woff') format('woff'), - url('fonts/OpenSans-Bold-webfont.ttf') format('truetype'), - url('fonts/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg'); - font-weight: 900; - font-style: normal; -} - -/* Extra Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-BoldItalic-webfont.eot'); - src: url('fonts/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/OpenSans-BoldItalic-webfont.woff') format('woff'), - url('fonts/OpenSans-BoldItalic-webfont.ttf') format('truetype'), - url('fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg'); - font-weight: 900; - font-style: italic; -} - -/* Droid Sans */ -@font-face { - font-family: 'droid_sans_mono'; - src: url('fonts/droidsansmono-webfont.eot'); - src: url('fonts/droidsansmono-webfont.eot?#iefix') format('embedded-opentype'), - url('fonts/droidsansmono-webfont.woff') format('woff'), - url('fonts/droidsansmono-webfont.ttf') format('truetype'), - url('fonts/droidsansmono-webfont.svg#droid_sans_monoregular') format('svg'); - font-weight: normal; - font-style: normal; -} - - /* ======================================================================= inc_top.tmpl ========================================================================== */ -.navbaricon { - margin-top: -15px; - margin-bottom: -15px; -} - [class^="icon-"], [class*=" icon-"] { background-image: url("../images/glyphicons-halflings.png"); @@ -467,148 +320,33 @@ inc_bottom.tmpl ========================================================================== */ .footer { - width: 100%; - padding: 20px 0; color: #4e4e4e; - text-align: center; - font-size: 12px; } .footerhighlight { color: #111; - display: inline; } - /* ======================================================================= home.tmpl ========================================================================== */ .imgbanner .banner { border: 1px solid #ccc; - overflow: hidden; - height: 66px; - overflow: hidden; - border-radius: 8px; - vertical-align: top; - width: 360px; - display: block; - margin-left: auto; - margin-right: auto; } .imgsmallposter .small { - height: 66px; - overflow: hidden; - border-radius: 3px; - vertical-align: middle; - width: 45px; border: 1px solid #ccc; - margin-right: 5px; -} - -.ui-progressbar { - height: 20px; - line-height: 18px; -} - -.ui-progressbar .ui-progressbar-value { - box-sizing: content-box !important; } .progressbarText { - position: absolute; - top: 0; - width: 100%; - height: 100%; - overflow: visible; - text-align: center; text-shadow: 0 0 0.1em #fff; - vertical-align: middle; - font-size: 12px; color: #000000; } -.progress-80 { - background-image: -moz-linear-gradient(#a6cf41, #5b990d) !important; - background-image: linear-gradient(#a6cf41, #5b990d) !important; - background-image: -webkit-linear-gradient(#a6cf41, #5b990d) !important; - background-image: -o-linear-gradient(#a6cf41, #5b990d) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.progress-60 { - background-image: -moz-linear-gradient(#fad440, #f2a70d) !important; - background-image: linear-gradient(#fad440, #f2a70d) !important; - background-image: -webkit-linear-gradient(#fad440, #f2a70d) !important; - background-image: -o-linear-gradient(#fad440, #f2a70d) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.progress-40 { - background-image: -moz-linear-gradient(#fab543, #f2700d) !important; - background-image: linear-gradient(#fab543, #f2700d) !important; - background-image: -webkit-linear-gradient(#fab543, #f2700d) !important; - background-image: -o-linear-gradient(#fab543, #f2700d) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.progress-20 { - background-image: -moz-linear-gradient(#da5945, #b11a10) !important; - background-image: linear-gradient(#da5945, #b11a10) !important; - background-image: -webkit-linear-gradient(#da5945, #b11a10) !important; - background-image: -o-linear-gradient(#da5945, #b11a10) !important; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -#container, #container-anime { - margin: 0 auto; -} - .show { - margin: 12px; - width: 188px; - height: 352px; background-color: #DFDACF; border: 1px solid #111; - border-radius: 6px; -} - -.show-image { - overflow: hidden; - height: 273px; - width: 186px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.show .ui-progressbar { - height: 7px !important; - top: -2px; -} - -.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { - border-bottom-right-radius: 0; -} - -.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { - border-bottom-left-radius: 0; -} - -.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { - border-top-right-radius: 0; -} - -.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { - border-top-left-radius: 0; } .show .ui-widget-content { @@ -618,30 +356,6 @@ home.tmpl border-right: 0; } -.show .progress-80 { - border-radius: 0; -} - -.show .progress-60 { - border-radius: 0; -} - -.show .progress-40 { - border-radius: 0; -} - -.show .progress-20 { - border-radius: 0; -} - -.show-title { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 4px 4px 0 4px; -} - .show-title:after { content: ""; pointer-events: none; @@ -657,14 +371,6 @@ home.tmpl background-image: linear-gradient(to left, rgba(223, 218, 207, 1), rgba(223, 218, 207, 0)); } -.show-date { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 0 4px 4px 4px; -} - .show-date:after { content: ""; pointer-events: none; @@ -680,60 +386,6 @@ home.tmpl background-image: linear-gradient(to left, rgba(223, 218, 207, 1), rgba(223, 218, 207, 0)); } -.show-table { - text-align:center; - vertical-align:middle; - width: 33% -} - -.show-add { - font-size: 11px; - text-align: left; - display: block; -} - -.show-status { - font-size: 11px; - text-align: left; - display: block; -} - -.show-network-image { - width: 50px; - height: auto; -} - -.show-dlstats { - font-size: 11px; - text-align: left; - display: block; - margin-left: 4px; -} - -.show-quality { - font-size: 11px; - text-align: right; - display: block; - margin-right: 4px; -} - -#sort-by { - display: inline; - list-style-type: none; - padding: 0; - margin-left: 5px; -} - -#sort-by ul, #sort-by li { - display: inline; - margin: 0; - padding: 0; -} - -.posterview { - margin: 0 auto; -} - td.tvShow a { color: #000; text-decoration: none; @@ -747,6 +399,7 @@ td.tvShow a:hover { /* ======================================================================= home_addShows.tmpl ========================================================================== */ + .icon-addnewshow { background-image: url("../images/addshows/add-new32-black.png"); } @@ -766,11 +419,32 @@ home_addShows.tmpl /* ======================================================================= home_newShow.tmpl ========================================================================== */ + #displayText { background-color: #efefef; border-color: #dfdede; } +.step-one #searchResults .alt { + background-color: rgb(245, 245, 245); +} + +#addRootDirTable td label .filepath, +.grey-text { + color:#666 +} + +#newShowPortal #displayText .show-name, +#newShowPortal #displayText .show-dest, +#newShowPortal #displayText p { + color: rgb(153, 153, 153); +} + +#newShowPortal #displayText .show-name, +#newShowPortal #displayText .show-dest { + color: rgb(87, 68, 43); +} + /* ======================================================================= home_addExistingShow.tmpl ========================================================================== */ @@ -783,74 +457,24 @@ ul#rootDirStaticList li { home_trendingShows.tmpl ========================================================================== */ -.traktShowTitleIcons { - float: right; - padding-right: 4px; - padding-bottom: 4px; -} - -.traktContainer p { - padding-top: 2px; -} - -.traktContainer p img { - position: relative; - top: -2px; -} - -.traktContainer p, .traktContainer i { - white-space: nowrap; - font-size: 12px; - overflow: hidden; -/* text-shadow: 1px 1px 0 #000;*/ - padding-left: 4px; - margin: 0; -} - .traktContainer { - margin: 12px; - width: 188px; background-color: #DFDACF; border: 1px solid #111; - border-radius: 6px; } .trakt-image { - overflow: hidden; - height: 273px; - width: 186px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; border-bottom: 1px solid #111; } - /* ======================================================================= home_postprocess.tmpl ========================================================================== */ -#postProcess { - width: 800px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - /* ======================================================================= displayShow.tmpl ========================================================================== */ -#showCol { - overflow: hidden; - margin-bottom: 20px; -} - -.navShow { - display: inline; - cursor: pointer; -} - #prevShow, #nextShow, #topcontrol { @@ -861,51 +485,14 @@ displayShow.tmpl } h1.title { - padding-bottom: 12px; - margin-bottom: 15px; - line-height: 30px; - text-align: left; - text-rendering: optimizelegibility; border-bottom: 1px solid #888; } -.displayspecials { - position: relative; - top: -24px; -} - -#showinfo { - cursor: default; -} - -#showinfo { - display: inline-block; - position: relative; - top: -3px; -} - -span.imdbstars, span.imdbstars > * { - background: url(../images/rating.png) 0 -12px repeat-x; -} - -ul.tags { - list-style-type: none; - position: relative; - top: -5px; - margin-left: -40px; -} - ul.tags li { - margin-right: 4px; - margin-bottom: 5px; - padding: 3px 4px 3px 25px; background: url(../images/tag.png) no-repeat scroll 5px 4px #555; - border-radius: 3px; border: 1px solid #111; color: #FFF; - font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; text-shadow: 0 1px rgba(0, 0, 0, 0.8); - float: left; } ul.tags li a{ @@ -914,384 +501,73 @@ ul.tags li a{ .tvshowImg { border: 1px solid #ccc; - border-radius: 5px; - height: 311px; - width: auto; - float: left; } #summary { - padding: 10px; background-color: #efefef; border: 1px solid #dfdede; - width: 100%; - height: 250px; - overflow: auto; - cursor: default; -} - -.summaryTable { - max-width: 70%; - overflow: hidden; -} - -#checkboxControls { - padding-top: 5px; -} - -#checkboxControls span { - padding: 5px; - font-size: 13px; - font-weight: bold; - border-radius: 5px; -} - -#checkboxControls label { - white-space: nowrap; - display: inline-block; -} - -#checkboxControls input[type="checkbox"] { - vertical-align: -2px; -} - -.unaired { - background-color: #f5f1e4; -} -.skipped { - background-color: #bedeed; -} -.good { - background-color: #c3e3c8; -} -.qual { - background-color: #ffda8a; -} -.wanted { - background-color: #ffb0b0; -} -.snatched { - background-color: #ebc1ea; -} - -span.unaired { - color: #584b20; - border: 1px solid #584b20; -} -span.skipped { - color: #1d5068; - border: 1px solid #1d5068; -} -span.good { - color: #295730; - border: 1px solid #295730; -} -span.qual { - color: #765100; - border: 1px solid #765100; -} -span.wanted { - color: #890000; - border: 1px solid #890000; -} -span.snatched { - color: #652164; - border: 1px solid #652164; -} - -span.unaired b, -span.skipped b, -span.good b, -span.qual b, -span.wanted b, -span.snatched b { - color: #000000; - font-weight: 800; -} - -.plotInfo { - cursor: help; - float: right; - position: relative; - top: 2px; -} - -.plotInfoNone { - cursor: help; - float: right; - position: relative; - top: 2px; - opacity: 0.4; -} - -.sickbeardTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; } .sickbeardTable th{ color: #fff; - text-align: center; background-color: #333; - white-space: nowrap; } .sickbeardTable th, .sickbeardTable td { border-top: 1px solid #fff; border-left: 1px solid #fff; - padding: 4px; } th.row-seasonheader { border: none; - background-color: #fff; + background-color: transparent; color: #000; - padding-top: 15px; - text-align: left; } tr.seasonheader { - padding-bottom: 5px; - padding-top: 10px; - text-align: left; border: none; color: #000; } -th.col-checkbox, -td.col-checkbox { - width: 30px; - border-left: none; - text-align: center; -} - -th.col-checkbox input[type="checkbox"], -td.col-checkbox input[type="checkbox"] { - vertical-align: -2px; -} - -th.col-metadata, -td.col-metadata { - width: 28px; -} - -th.col-ep, -td.col-ep { - width: 50px; - white-space: nowrap; -} - -th.col-airdate, -td.col-airdate { - width: 86px; - white-space: nowrap; -} - -th.col-name, -td.col-name { - min-width: 100px; -} - -td.col-name { - text-align: left; -} - -th.col-subtitles, -td.col-subtitles { - width: 150px; - text-align: center; -} - -th.col-status, -td.col-status { - width: 200px; - text-align: center; -} - -th.col-legend, -td.col-legend { - width: 80px; -} - -th.col-search, -td.col-search { - width: 46px; -} - -.showLegend { - padding-right: 6px; - padding-bottom: 1px; - width: 150px; -} - -.input-scene { - height: 20px; - line-height: 1.5; - border-radius: 3px; -} - -#editShow { - width: 700px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - /* ======================================================================= episodeView.tmpl ========================================================================== */ -.sort_data { - display: none; -} - -.key { - margin-bottom: 20px; -} - -.listing-key { - padding: 5px; - font-size: 13px; - font-weight: bold; - border-radius: 5px; -} - -.listing-default { - background-color: #f5f1e4; -} - -.listing-current { - background-color: #dfd; -} - -.listing-overdue { - background-color: #fdd; -} - -.listing-toofar { - background-color: #bedeed; -} - -span.listing-default { - color: #826f30; - border: 1px solid #826f30; -} - -span.listing-current { - color: #295730; - border: 1px solid #295730; -} - -span.listing-overdue { - color: #890000; - border: 1px solid #890000; -} - -span.listing-toofar { - color: #1d5068; - border: 1px solid #1d5068; -} - h2.day, h2.network { - margin: 10px 0; - font-size: 24px; - line-height: 36px; - font-weight: bold; - letter-spacing: 1px; color: #FFF; - text-align: center; text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); background-color: #333; } .tvshowDiv { - display: block; - clear: both; border: 1px solid #ccc; - margin: auto; - padding: 0; - text-align: left; - width: 750px; - border-radius: 5px; background: #fff; - cursor: default; - overflow: hidden; } .tvshowDiv a:hover { color: #428BCA; } -.tvshowDiv a, .tvshowDiv a:link, .tvshowDiv a:visited, .tvshowDiv a:hover { - text-decoration: none; - background: none; -} - .tvshowTitle a { color: #000000; - float: left; - line-height: 1.4em; - font-size: 1.4em; - text-shadow: -1px -1px 0 #FFF); -} - -.tvshowTitleIcons { - float: right; - padding: 3px 5px; -} - -.tvshowDiv td { - padding: 5px 10px; } .tvshowDiv td.next_episode { - width: 100%; - height: 90%; border-bottom: 1px solid #ccc; - vertical-align: top; color: #000; } .bannerThumb { - vertical-align: top; - height: auto; - width: 748px; border-bottom: 1px solid #ccc; } .posterThumb { - vertical-align: top; - height: auto; - width: 180px; border-right: 1px solid #ccc; } .ep_listing { - width: auto; border: 1px solid #ccc; - margin-bottom: 10px; - padding: 10px; -} - -.ep_summary { - margin-left: 5px; - font-style: italic; -} - -.ep_summaryTrigger { - cursor: pointer; - vertical-align: middle; -} - -.ep_summaryTriggerNone { - opacity: 0.4; - vertical-align: middle; } .day-of-week .day-number { @@ -1320,113 +596,43 @@ h2.day, h2.network { .day-of-week .text .episode .name { color: #000; } + .day-of-week .text .episode .season, .day-of-week .text .episode .number { color: rgb(9, 133, 225); - /*color: #3d3d3d;*/ } + .day-of-week .text .episode { color: #888; } +.episodeview-daybyday .time .time-hr-min, +.episodeview-daybyday .time .time-am-pm { + color: #666; +} + /* ======================================================================= config*.tmpl ========================================================================== */ -#config-content { - display: block; - width: 960px; - padding: 0 0 40px; - margin: 0 auto; - clear: both; - text-align: left; -} - .component-group { - padding: 15px 15px 25px; border-bottom: 1px dotted #ccc; - min-height: 200px; } .component-item { border-bottom: 1px dotted #666; - min-height: 200px; -} - - -.component-group-desc h3{ - margin-top: 5px; } .component-group-desc p { - margin: 10px 0; color: #666; } -#config div.field-pair { - padding: 12px 0; -} - -#config .nocheck, #config div #customQuality, .metadataDiv { - padding-left: 20px; -} - -#config .metadataDiv { - display: none; -} - -.component-group-save { - float: right; - padding-top: 10px; -} - -select .selected { - font-weight: 700; -} - -.jumbo { - font-size: 15px !important; - line-height: 24px; -} - .testNotification { - padding: 5px; - margin-bottom: 10px; - line-height: 20px; border: 1px dotted #CCC; } -#providerOrderList { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list, -#service_order_list { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#config .tip_scale label span.component-title { - width: 85px !important; - font-size: 12px !important; - margin-top: 2px !important; -} - -#config .tip_scale label span.component-desc { - margin-left: 120px !important; - width: 220px !important; -} - -.infoTableHeader, -.infoTableCell { - padding: 5px; -} - .infoTableSeperator { - border-top: 1px dotted #666666; + border-top: 1px dotted #666; } /* ======================================================================= @@ -1444,27 +650,15 @@ config_postProcessing.tmpl } .Key { - width: 100%; - padding: 6px; - font-size: 13px; background-color: #f4f4f4; border: 1px solid #ccc; - border-collapse: collapse; - border-spacing: 0; } .Key th, .tableHeader { - padding: 3px 9px; - margin: 0; color: #fff; - text-align: center; background: none repeat scroll 0 0 #666; } -.Key td { - padding: 1px 5px !important; -} - .Key tr { border-bottom: 1px solid #ccc; } @@ -1473,11 +667,6 @@ config_postProcessing.tmpl background-color: #dfdede; } -.legend { - position: relative; - top: 2px; -} - /* ======================================================================= config_notifications.tmpl ========================================================================== */ @@ -1517,52 +706,7 @@ div.metadataDiv .disabled { manage*.tmpl ========================================================================== */ -.manageTable th { - white-space: normal; - line-height: 24px; -} - -.manageTable td.tableright { - text-align: left; -} - -td.tableright { - text-align: center; -} - -.optionWrapper { - width: 450px; - margin-left: auto; - margin-right: auto; - padding: 6px 12px; -} - -.optionWrapper span.selectTitle { - float: left; - text-align: left; - vertical-align: middle; - width: 225px; - padding: 6px 0; -} - -.optionWrapper div.selectChoices { - float: left; - width: 175px; - margin-left: 25px; -} - -.optionWrapper br { - clear: both; -} - -.manageCustom { - text-align: center; - padding: 6px; - margin-left: 25px; -} - .separator { - font-size: 90%; color: #333333; } @@ -1570,7 +714,6 @@ a.whitelink { color: #fff; } - /* ======================================================================= Global ========================================================================== */ @@ -1580,177 +723,23 @@ span.path { background-color: #f5f1e4; } -.align-left { - text-align: left; +.red-text { + color: #d33; } -.h2footer { - margin: -45px 0 8px; - line-height: 18px; -} - -span.quality { - font: 12px/13px "Open Sans", verdana, sans-serif; - background-image:-webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - background-image:-moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - background-image:-o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25)); - -webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15); - box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15); - text-shadow: 0 1px rgba(0, 0, 0, 0.8); - color: #FFFFFF; - display: inline-block; - padding: 2px 4px; - text-align: center; - vertical-align: baseline; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -span.Custom { - background-color: #621993; -} - -span.HD { - background-color: #2672B6; -} - -span.HD720p { - background-color: #5b990d; -} - -span.HD1080p { - background-color: #2672B6; -} - -span.RawHD { - background-color: #cd7300; -} - -span.SD { - background-color: #BE2625; -} - -span.Any { - background-color: #666; -} - -span.Unknown { - background-color: #999; -} - -span.Proper { - background-color: #3F7F00; -} - -span.false { - color: #993333; - /* red */ -} - -span.true { - color: #669966; - /* green */ -} - -option.flag { - padding-left: 35px; - background-repeat: no-repeat; - background-position: 10px 50%; -} - -/* Anime section for editShow */ -.bwlWrapper { - height:auto; - margin: 0 auto; -} - -#Anime { - clear: both; - overflow-x: hidden; - overflow-y: hidden; - font-size: 14px; -} - -#Anime div.component-group-desc { - float: left; - width: 165px; -} - -#Anime div.component-group-desc p { - margin-bottom: 0.4em; - margin-left: 0; - margin-right: 0; - margin-top: 0.4em; - width: 95%; -} - -div.blackwhitelist{ - float:left; - text-align: center; -} - -div.blackwhitelist input { - margin: 5px 5px; -} - -div.blackwhitelist.pool select{ - width: 300px; -} - -div.blackwhitelist.pool { - margin:5px; -} - -div.blackwhitelist.white select, div.blackwhitelist.black select { - width: 180px; -} - -div.blackwhitelist.white, div.blackwhitelist.black { - margin:5px; -} - -div.blackwhitelist span { - display: block; - text-align: center; -} - -div.blackwhitelist.anidb, div.blackwhitelist.manual { - margin: 7px 0; -} - - /* ======================================================================= bootstrap Overrides ========================================================================== */ body { - padding-top: 60px; - overflow-y: scroll; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; color: #000; } -input[type="radio"] { - margin: 2px 0 0; - line-height: normal; -} - input, textarea, select, .uneditable-input { width: auto; color: #000; } -.container-fluid { - margin-left: 10px; - margin-right: 10px; -} - -.navbar-brand { - padding: 0; -} - /* navbar styling */ .navbar-default { background-color: #333333; @@ -1880,10 +869,6 @@ fieldset[disabled] .navbar-default .btn-link:focus { background-color: #333; } -.dropdown-menu > li > a { - padding: 4px 36px 4px 20px; -} - .dropdown-menu { background-color: #F5F1E4; border: 1px solid rgba(0, 0, 0, 0.15); @@ -1891,13 +876,7 @@ fieldset[disabled] .navbar-default .btn-link:focus { } .form-control { - color: #000000; -} - -.form-control-inline { - min-width: 0; - width: auto; - display: inline; + color: #000; } .btn { @@ -1936,10 +915,6 @@ fieldset[disabled] .navbar-default .btn-link:focus { background-color: #cccccc \9; } -.btn:first-child { - *margin-left: 0; -} - .btn:hover { color: #333333; background-color: #e6e6e6; @@ -2219,10 +1194,18 @@ fieldset[disabled] .navbar-default .btn-link:focus { border-left: 6px solid transparent; content: ""; } -} - -label { - font-weight: normal; + + .navbar-default .navbar-nav > .active > a { + background-color: transparent; + -webkit-box-shadow: inset 0px -5px 0px 0px #C7DB40; + -moz-box-shadow: inset 0px -5px 0px 0px #C7DB40; + box-shadow: inset 0px -5px 0px 0px #C7DB40; + } + + .navbar-fixed-top { + border-width: 0; + } + } pre { @@ -2231,14 +1214,10 @@ pre { border-color: #ccc; } -.alert { - padding: 10px; - text-align: center; -} - /* ======================================================================= input sizing (for config pages) ========================================================================== */ + #pickShow optgroup, #editAProvider optgroup { color: #eee; @@ -2255,52 +1234,11 @@ input sizing (for config pages) browser.css ========================================================================== */ -#fileBrowserDialog { - overflow-y: auto; -} - -#fileBrowserDialog ul { - padding: 0; - margin: 0; -} - -#fileBrowserDialog ul li { - margin: 2px 0; - list-style-type: none; - cursor: pointer; -} - -#fileBrowserDialog ul li a { - display: block; - padding: 4px 0; -} - #fileBrowserDialog ul li a:hover { color: #00f; background: none; } -#fileBrowserDialog ul li a span.ui-icon { - float: left; - margin: 0 4px; -} - -#fileBrowserDialog h2 { - font-size: 20px; -} - -.ui-autocomplete { - max-height: 180px; - overflow-x: hidden; - overflow-y: auto; -} - -/* IE6 hack since it doesn't support max-height */ -* html .ui-autocomplete { - height: 180px; - padding-right: 20px; -} - .ui-menu .ui-menu-item { background-color: #eee; } @@ -2315,16 +1253,6 @@ browser.css background-color: #0a246a; } -/* restore 1.8.x resize handle on dialog button pane */ -.ui-dialog .ui-resizable-se { - width: 14px; - height: 14px; - right: 3px; - bottom: 3px; - background-position: -80px -224px; -} - - /* ======================================================================= formWizard ========================================================================== */ @@ -2359,13 +1287,8 @@ tablesorter.css ========================================================================== */ .tablesorter { - width: 100%; - margin-right: auto; - margin-left: auto; color: #000; - text-align: left; background-color: #ddd; - border-spacing: 0; } .tablesorter th, @@ -2400,12 +1323,6 @@ tablesorter.css /* background-image: url(../images/tablesorter/desc.gif); */ } -.tablesorter thead .sorter-false { - background-image: none; - padding: 4px; - cursor: default; -} - thead.tablesorter-stickyHeader { border-top: 2px solid #fff; border-bottom: 2px solid #fff; @@ -2420,18 +1337,6 @@ thead.tablesorter-stickyHeader { background-color: #dfdacf; } -/* filter widget */ -.tablesorter .filtered { - display: none; -} -.tablesorter input.tablesorter-filter { - width: 98%; - height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - .tablesorter tr.tablesorter-filter-row, .tablesorter tr.tablesorter-filter-row td { text-align: center; @@ -2439,16 +1344,6 @@ thead.tablesorter-stickyHeader { border-bottom: 1px solid #ddd; } -/* optional disabled input styling */ -.tablesorter input.tablesorter-filter-row .disabled { - display: none; -} - -.tablesorter-header-inner { - padding: 0 2px; - text-align: center; -} - .tablesorter tfoot tr { color: #fff; text-align: center; @@ -2466,73 +1361,22 @@ token-input.css ========================================================================== */ ul.token-input-list { - overflow: hidden; - height: auto !important; - height: 1%; - width: 273px; border: 1px solid #ccc; - cursor: text; - font-size: 10px; - font-family: Verdana; - z-index: 999; - margin: 0; - padding: 0 0 1px 0; background-color: #fff; - list-style-type: none; -/* clear: left; */ - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -ul.token-input-list li { - list-style-type: none; } ul.token-input-list li input { border: 0; - padding: 3px 4px; background-color: white; -/* -webkit-appearance: caret; */ } li.token-input-token { - overflow: hidden; - height: auto !important; - height: 1%; - margin: 3px; - padding: 3px 5px 0 5px; background-color: #d0efa0; color: #000; - font-weight: bold; - cursor: default; - display: block; -} - -li.token-input-token img { - padding-top: 7px; - padding-right: 4px; - float: left; -} - -li.token-input-token input { - padding-top: 2px !important; - padding-right: 4px !important; - float: left; -} - -li.token-input-token p { - float: left; - padding: 0; - margin: 0; - line-height: 2.0 !important; } li.token-input-token span { - float: right; color: #777; - cursor: pointer; } li.token-input-selected-token { @@ -2544,10 +1388,6 @@ li.token-input-selected-token span { color: #bbb; } -li.token-input-input-token input { - margin: 3px 3px 3px 3px !important; -} - div.token-input-dropdown { background-color: #fff; color: #000; @@ -2557,21 +1397,11 @@ div.token-input-dropdown { } div.token-input-dropdown p { - margin: 0; - padding: 3px; - font-weight: bold; color: #777; } -div.token-input-dropdown ul { - margin: 0; - padding: 0; -} - div.token-input-dropdown ul li { background-color: #fff; - padding: 3px; - list-style-type: none; } div.token-input-dropdown ul li.token-input-dropdown-item { @@ -2582,50 +1412,15 @@ div.token-input-dropdown ul li.token-input-dropdown-item2 { background-color: #fff; } -div.token-input-dropdown ul li em { - font-weight: bold; - font-style: normal; -} - div.token-input-dropdown ul li.token-input-selected-dropdown-item { background-color: #6196c2; } -span.token-input-delete-token { - margin: 0 1px; -} - -.step-one #searchResults .alt { - background-color: rgb(245, 245, 245); -} - -.episodeview-daybyday .time .time-min, -.episodeview-daybyday .time .time-am-pm, -#addRootDirTable td label .filepath, -.grey-text { - color:#666 -} - -#newShowPortal #displayText .show-name, -#newShowPortal #displayText .show-dest, -#newShowPortal #displayText p { - color: rgb(153, 153, 153); -} - -#newShowPortal #displayText .show-name, -#newShowPortal #displayText .show-dest { - color: rgb(87, 68, 43); -} /* ======================================================================= jquery.confirm.css ========================================================================== */ #confirmOverlay{ - width: 100%; - height: 100%; - position: fixed; - top: 0; - left: 0; background: url('../images/bg.gif'); background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5); background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5); @@ -2634,55 +1429,26 @@ jquery.confirm.css #confirmBox{ background: #F5F1E4; - width: 460px; - position: fixed; - left: 50%; - top: 50%; - margin: -130px 0 0 -230px; border: 1px solid #111; box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175); } -#confirmBox h1, -#confirmBox p{ - padding: 6px 10px; -} - #confirmBox h1 { background-color: #333; border-bottom: 1px solid #111; color: #fff; - margin: 0; - font-size: 22px; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); } #confirmBox p { - padding-top: 20px; color: #000; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); } -#confirmButtons { - padding: 15px 0; - text-align: center; -} - #confirmBox .button { - margin-right: 15px; - padding: 2px 20px; - text-decoration: none; - display: inline-block; color: #fff; - text-align:center; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - background-clip: padding-box; border: 1px solid #111; - border-radius: 3px; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25)); background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25)); background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25)); @@ -2691,10 +1457,6 @@ jquery.confirm.css box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15); } -#confirmBox .button:last-child { - margin-right:0; -} - #confirmBox .green { background-color: #3F7636; } diff --git a/gui/slick/css/style.css b/gui/slick/css/style.css index d9d2351a..a66909e9 100644 --- a/gui/slick/css/style.css +++ b/gui/slick/css/style.css @@ -158,124 +158,124 @@ inc_top.tmpl [class^="icon-"], [class*=" icon-"] { - background-image: url("../images/glyphicons-halflings.png"); + background-image: url("../images/glyphicons-halflings.png"); } .icon-white { - background-image: url("../images/glyphicons-halflings-white.png"); + background-image: url("../images/glyphicons-halflings-white.png"); } -.dropdown-menu li > a:hover > [class^="menu-icon-"], -.dropdown-menu li > a:hover > [class*=" menu-icon-"] { - background-image: url("../images/menu/menu-icons-white.png"); +.dropdown-menu li > a:hover > [class^="menu-icon-"], +.dropdown-menu li > a:hover > [class*=" menu-icon-"] { + background-image: url("../images/menu/menu-icons-white.png"); } .ui-autocomplete-loading { - background: white url("../images/loading16.gif") right center no-repeat; + background: white url("../images/loading16.gif") right center no-repeat; } -.browserDialog.busy .ui-dialog-buttonpane { - background: url("../images/loading.gif") 10px 50% no-repeat !important; +.browserDialog.busy .ui-dialog-buttonpane { + background: url("../images/loading.gif") 10px 50% no-repeat !important; } -.ui-progressbar .ui-progressbar-overlay { - background: url("../css/lib/images/animated-overlay.gif"); +.ui-progressbar .ui-progressbar-overlay { + background: url("../css/lib/images/animated-overlay.gif"); } .ui-dialog, -.ui-dialog-buttonpane { - background: #eceadf url("../css/lib/images/ui-bg_fine-grain_10_eceadf_60x60.png") 50% 50% repeat !important; +.ui-dialog-buttonpane { + background: #eceadf url("../css/lib/images/ui-bg_fine-grain_10_eceadf_60x60.png") 50% 50% repeat !important; } -.ui-accordion-content, +.ui-accordion-content, .ui-tabs-panel { - background: #ededed !important; - background-image: none !important; + background: #ededed !important; + background-image: none !important; } .ui-widget-content { - background: #dcdcdc url("../css/lib/images/ui-bg_highlight-soft_75_dcdcdc_1x100.png") 50% top repeat-x; + background: #dcdcdc url("../css/lib/images/ui-bg_highlight-soft_75_dcdcdc_1x100.png") 50% top repeat-x; } .ui-widget-content a { text-decoration: none; } -.ui-widget-header { - background: #ffffff url("../css/lib/images/ui-bg_flat_0_ffffff_40x100.png") 50% 50% repeat-x; +.ui-widget-header { + background: #ffffff url("../css/lib/images/ui-bg_flat_0_ffffff_40x100.png") 50% 50% repeat-x; } .ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - background: #ffffff; +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + background: #ffffff; border: 1px solid #CCCCCC; } .ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - background: #ffffff; +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + background: #ffffff; } .ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { background: #F7F7F7; } .ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - background: #fbf9ee url("../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + background: #fbf9ee url("../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; } .ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - background: #fef1ec url("../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + background: #fef1ec url("../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; } -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); } -.ui-widget-header .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); +.ui-widget-header .ui-icon { + background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); } -.ui-state-default .ui-icon { - background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); +.ui-state-default .ui-icon { + background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); } -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); } -.ui-state-active .ui-icon { - background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); +.ui-state-active .ui-icon { + background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); } -.ui-state-highlight .ui-icon { - background-image: url("../css/lib/images/ui-icons_2e83ff_256x240.png"); +.ui-state-highlight .ui-icon { + background-image: url("../css/lib/images/ui-icons_2e83ff_256x240.png"); } -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("../css/lib/images/ui-icons_cd0a0a_256x240.png"); +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("../css/lib/images/ui-icons_cd0a0a_256x240.png"); } -.ui-widget-overlay { - background: #aaaaaa url("../css/lib/images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; +.ui-widget-overlay { + background: #aaaaaa url("../css/lib/images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; } -.ui-widget-shadow { - background: #000000 url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x; +.ui-widget-shadow { + background: #000000 url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x; } .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { @@ -302,7 +302,7 @@ inc_top.tmpl border-radius: 0; } -.ui-tabs .ui-tabs-panel { +.ui-tabs .ui-tabs-panel { background-color: #F7F7F7 !important; border: 1px solid #CCCCCC !important; } @@ -312,7 +312,7 @@ inc_top.tmpl border-top-right-radius: 5px; } -.ui-tabs-nav > :not(.ui-tabs-active){ +.ui-tabs-nav > :not(.ui-tabs-active){ border-top-left-radius: 5px; border-top-right-radius: 5px; } @@ -726,7 +726,7 @@ home.tmpl } .show-table { - text-align:center; + text-align:center; vertical-align:middle; width: 33% } @@ -764,7 +764,7 @@ home.tmpl #sort-by { display: inline; - list-style-type: none; + list-style-type: none; padding: 0; margin-left: 5px; } @@ -910,6 +910,45 @@ div.formpaginate { margin-left: 10px } +.stepDiv #searchResults div { + line-height: 1.7; +} + +.stepDiv #searchResults #searchingAnim { + margin-right: 6px; +} + +.stepone-result-title { + font-weight: 600; + margin-left: 10px +} + +.stepone-result-date, +.stepone-result-db, +.stepone-result-overview { + margin-left: 5px +} + +.stepone-result-db img { + margin-top: 3px; + vertical-align: top; +} + +#newShowPortal #displayText .show-name, +#newShowPortal #displayText .show-dest, +#newShowPortal #displayText p { + margin: 0; +} + +#newShowPortal #displayText .show-name, +#newShowPortal #displayText .show-dest { + font-weight: 600; +} + +#addRootDirTable td label .filepath { + font-weight: 900 +} + /* ======================================================================= home_addExistingShow.tmpl ========================================================================== */ @@ -985,9 +1024,9 @@ home_trendingShows.tmpl border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom: 1px solid #111; + background-image: url(../images/poster-dark.jpg); } - /* ======================================================================= home_postprocess.tmpl ========================================================================== */ @@ -1038,7 +1077,7 @@ h1.title { } .displayspecials { - position: relative; + position: relative; top: -24px; } @@ -1066,7 +1105,8 @@ span.imdbstars, span.imdbstars > * { height: 12px; width: 120px; display: inline-block; - font-size:10px + font-size:10px; + background: url(../images/rating.png) 0 -12px repeat-x; } #showinfo .flag { @@ -1227,6 +1267,7 @@ span.snatched b { text-align: center; border: none; empty-cells: show; + color: #000; } .sickbeardTable.display_show { clear:both @@ -1495,7 +1536,7 @@ h2.day, h2.network { .daybydayWrapper { max-width: 1400px; margin: 0 auto; - padding: 0 /*3px*/ + padding: 0; /*3px*/ } .day-of-week { @@ -1575,6 +1616,21 @@ h2.day, h2.network { font-size: 12px; } +.day-of-week .text .episode { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.time-am-pm { + margin-left: 2px; +} + +#content.episodeview-banner .time-am-pm, +#content.episodeview-poster .time-am-pm { + margin-left: 0; +} + /* ======================================================================= config*.tmpl ========================================================================== */ @@ -1867,6 +1923,34 @@ config_postProcessing.tmpl top: 2px; } +#failed-guide, +#failed-guide .title, +#failed-guide li { + margin: 0; + padding: 0; +} + +#failed-guide .title { + list-style-type: none; +} + +#failed-guide li { + margin-left: 15px; +} + +.icon-info-sign { + display: block; + width: 16px; + height: 16px; + margin: 2px 5px; + float: left; +} + +.pp .component-group-list.right, +.pp .field-pair.right { + margin: 0 0 0 250px; +} + /* ======================================================================= config_notifications.tmpl ========================================================================== */ @@ -2132,6 +2216,17 @@ div.blackwhitelist.anidb, div.blackwhitelist.manual { margin: 7px 0; } +.boldest { + font-weight: 900; +} + +.clear-left { + clear: left; +} + +.nextline-block { + display:block; +} /* ======================================================================= bootstrap Overrides @@ -3123,83 +3218,6 @@ span.token-input-delete-token { margin: 0 1px; } -.stepDiv #searchResults div { - line-height: 1.7; -} - -.stepDiv #searchResults #searchingAnim { - margin-right: 6px; -} - -.stepone-result-title { - font-weight: 600; - margin-left: 10px -} - -.stepone-result-date, -.stepone-result-db, -.stepone-result-overview { - margin-left: 5px -} -.stepone-result-db img { - margin-top: 3px; - vertical-align: top; -} -#newShowPortal #displayText .show-name, -#newShowPortal #displayText .show-dest, -#newShowPortal #displayText p { - margin: 0; -} -#newShowPortal #displayText .show-name, -#newShowPortal #displayText .show-dest { - font-weight: 600; -} - -#addRootDirTable td label .filepath { - font-weight: 900 -} - -.boldest {font-weight: 900} -.red-text {color:#d33} -.clear-left {clear:left} -.float-left {float:left} -.nextline-block {display:block} - -#failed-guide, -#failed-guide .title, -#failed-guide li {margin:0; padding:0} -#failed-guide .title {list-style-type: none} -#failed-guide li {margin-left:15px} - -.icon-info-sign { - display: block; - width: 16px; - height: 16px; - margin: 2px 5px; - float: left; -} - -.pp .component-group-list.right, -.pp .field-pair.right { - margin: 0 0 0 250px; -} - -.trakt-image { - display: block; - width: 100%; - height: 100%; - z-index: 0; - background-image: url(../images/poster-dark.jpg) -} - -.time-am-pm { - margin-left: 2px; -} -#content.episodeview-banner .time-am-pm, -#content.episodeview-poster .time-am-pm { - margin-left: 0; -} - /* ======================================================================= jquery.confirm.css ========================================================================== */ diff --git a/gui/slick/interfaces/default/config_postProcessing.tmpl b/gui/slick/interfaces/default/config_postProcessing.tmpl index a20ed3c1..11d7af24 100644 --- a/gui/slick/interfaces/default/config_postProcessing.tmpl +++ b/gui/slick/interfaces/default/config_postProcessing.tmpl @@ -54,7 +54,7 @@ -
+

folder where download clients save completed downloads.  note: only use if not using SABnzbd post processing or if SABnzbd is on a different PC to SickGear

@@ -1177,14 +1177,14 @@
diff --git a/gui/slick/interfaces/default/episodeView.tmpl b/gui/slick/interfaces/default/episodeView.tmpl index f3d8fe7f..9b28d309 100644 --- a/gui/slick/interfaces/default/episodeView.tmpl +++ b/gui/slick/interfaces/default/episodeView.tmpl @@ -116,7 +116,7 @@
- Layout: + Layout   - View Paused: + View Paused