diff --git a/interfaces/Config/templates/config_sorting.tmpl b/interfaces/Config/templates/config_sorting.tmpl index bb741d5..81ceced 100644 --- a/interfaces/Config/templates/config_sorting.tmpl +++ b/interfaces/Config/templates/config_sorting.tmpl @@ -11,7 +11,7 @@

$T('seriesSorting')

$T('affectedCat')
- @@ -171,7 +171,7 @@

$T('movieSort')

$T('affectedCat')
- @@ -315,7 +315,7 @@

$T('dateSorting')

$T('affectedCat')
- diff --git a/interfaces/Glitter/templates/static/javascripts/glitter.history.js b/interfaces/Glitter/templates/static/javascripts/glitter.history.js index 5f736cd..0f767ba 100644 --- a/interfaces/Glitter/templates/static/javascripts/glitter.history.js +++ b/interfaces/Glitter/templates/static/javascripts/glitter.history.js @@ -123,7 +123,7 @@ function HistoryListModel(parent) { // Add $.ajax({ - url: "./retry_pp", + url: "./history/retry_pp", type: "POST", cache: false, processData: false, diff --git a/interfaces/Plush/templates/history.tmpl b/interfaces/Plush/templates/history.tmpl index 670792f..367c9c6 100644 --- a/interfaces/Plush/templates/history.tmpl +++ b/interfaces/Plush/templates/history.tmpl @@ -14,7 +14,7 @@ - + diff --git a/sabnzbd/api.py b/sabnzbd/api.py index 9a46fbd..fe88698 100644 --- a/sabnzbd/api.py +++ b/sabnzbd/api.py @@ -506,7 +506,7 @@ def _api_history(name, output, kwargs): to_units(week), to_units(day), ) - history["slots"], fetched_items, history["noofslots"] = build_history( + history["slots"], history["noofslots"] = build_history( start=start, limit=limit, search=search, failed_only=failed_only, categories=categories, nzo_ids=nzo_ids ) history["last_history_update"] = sabnzbd.LAST_HISTORY_UPDATE @@ -1690,12 +1690,12 @@ def build_history( # Fetch history items if not database_history_limit: - items, fetched_items, total_items = history_db.fetch_history( + items, total_items = history_db.fetch_history( database_history_start, 1, search, failed_only, categories, nzo_ids ) items = [] else: - items, fetched_items, total_items = history_db.fetch_history( + items, total_items = history_db.fetch_history( database_history_start, database_history_limit, search, failed_only, categories, nzo_ids ) @@ -1736,12 +1736,11 @@ def build_history( item["rating_user_vote"] = rating.user_vote total_items += postproc_queue_size - fetched_items = len(items) if close_db: history_db.close() - return items, fetched_items, total_items + return items, total_items def get_active_history(queue, items): diff --git a/sabnzbd/database.py b/sabnzbd/database.py index ac04e29..07c5cd3 100644 --- a/sabnzbd/database.py +++ b/sabnzbd/database.py @@ -337,13 +337,11 @@ class HistoryDB: else: items = [] - fetched_items = len(items) - # Unpack the single line stage log # Stage Name is separated by ::: stage lines by ; and stages by \r\n items = [unpack_history_info(item) for item in items] - return items, fetched_items, total_items + return items, total_items def have_episode(self, series, season, episode): """Check whether History contains this series episode""" diff --git a/sabnzbd/interface.py b/sabnzbd/interface.py index 02f0742..42d8983 100644 --- a/sabnzbd/interface.py +++ b/sabnzbd/interface.py @@ -465,18 +465,6 @@ class MainPage: sabnzbd.shutdown_program() return T("SABnzbd shutdown finished") - @secured_expose(check_api_key=True) - def pause(self, **kwargs): - sabnzbd.Scheduler.plan_resume(0) - sabnzbd.Downloader.pause() - raise Raiser(self.__root) - - @secured_expose(check_api_key=True) - def resume(self, **kwargs): - sabnzbd.Scheduler.plan_resume(0) - sabnzbd.unpause_all() - raise Raiser(self.__root) - @secured_expose(check_api_key=True, access_type=1) def api(self, **kwargs): """Redirect to API-handler, we check the access_type in the API-handler""" @@ -493,25 +481,6 @@ class MainPage: else: raise Raiser(self.__root) - @secured_expose(check_api_key=True) - def retry(self, **kwargs): - """Duplicate of retry of History, needed for some skins""" - job = kwargs.get("job", "") - url = kwargs.get("url", "").strip() - pp = kwargs.get("pp") - cat = kwargs.get("cat") - script = kwargs.get("script") - if url: - sabnzbd.add_url(url, pp, script, cat, nzbname=kwargs.get("nzbname")) - del_hist_job(job, del_files=True) - raise Raiser(self.__root) - - @secured_expose(check_api_key=True) - def retry_pp(self, **kwargs): - # Duplicate of History/retry_pp to please the SMPL skin :( - retry_job(kwargs.get("job"), kwargs.get("nzbfile"), kwargs.get("password")) - raise Raiser(self.__root) - @secured_expose def robots_txt(self, **kwargs): """Keep web crawlers out""" @@ -909,121 +878,13 @@ class QueuePage: start = int_conv(kwargs.get("start")) limit = int_conv(kwargs.get("limit")) search = kwargs.get("search") - info, _pnfo_list, _bytespersec = build_queue(start=start, limit=limit, trans=True, search=search) + info, _, _ = build_queue(start=start, limit=limit, trans=True, search=search) template = Template( file=os.path.join(sabnzbd.WEB_DIR, "queue.tmpl"), searchList=[info], compilerSettings=CHEETAH_DIRECTIVES ) return template.respond() - @secured_expose(check_api_key=True) - def delete(self, **kwargs): - uid = kwargs.get("uid") - del_files = int_conv(kwargs.get("del_files")) - if uid: - sabnzbd.NzbQueue.remove(uid, delete_all_data=del_files) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def purge(self, **kwargs): - sabnzbd.NzbQueue.remove_all(kwargs.get("search")) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def change_queue_complete_action(self, **kwargs): - """Action or script to be performed once the queue has been completed - Scripts are prefixed with 'script_' - """ - action = kwargs.get("action") - sabnzbd.change_queue_complete_action(action) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def switch(self, **kwargs): - uid1 = kwargs.get("uid1") - uid2 = kwargs.get("uid2") - if uid1 and uid2: - sabnzbd.NzbQueue.switch(uid1, uid2) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def change_opts(self, **kwargs): - nzo_id = kwargs.get("nzo_id") - pp = kwargs.get("pp", "") - if nzo_id and pp and pp.isdigit(): - sabnzbd.NzbQueue.change_opts(nzo_id, int(pp)) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def change_script(self, **kwargs): - nzo_id = kwargs.get("nzo_id") - script = kwargs.get("script", "") - if nzo_id and script: - if script == "None": - script = None - sabnzbd.NzbQueue.change_script(nzo_id, script) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def change_cat(self, **kwargs): - nzo_id = kwargs.get("nzo_id") - cat = kwargs.get("cat", "") - if nzo_id and cat: - if cat == "None": - cat = None - sabnzbd.NzbQueue.change_cat(nzo_id, cat) - - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def shutdown(self, **kwargs): - sabnzbd.shutdown_program() - return T("SABnzbd shutdown finished") - - @secured_expose(check_api_key=True) - def pause(self, **kwargs): - sabnzbd.Scheduler.plan_resume(0) - sabnzbd.Downloader.pause() - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def resume(self, **kwargs): - sabnzbd.Scheduler.plan_resume(0) - sabnzbd.unpause_all() - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def pause_nzo(self, **kwargs): - uid = kwargs.get("uid", "") - sabnzbd.NzbQueue.pause_multiple_nzo(uid.split(",")) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def resume_nzo(self, **kwargs): - uid = kwargs.get("uid", "") - sabnzbd.NzbQueue.resume_multiple_nzo(uid.split(",")) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def set_priority(self, **kwargs): - sabnzbd.NzbQueue.set_priority(kwargs.get("nzo_id"), kwargs.get("priority")) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def sort_by_avg_age(self, **kwargs): - sabnzbd.NzbQueue.sort_queue("avg_age", kwargs.get("dir")) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def sort_by_name(self, **kwargs): - sabnzbd.NzbQueue.sort_queue("name", kwargs.get("dir")) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def sort_by_size(self, **kwargs): - sabnzbd.NzbQueue.sort_queue("size", kwargs.get("dir")) - raise queueRaiser(self.__root, kwargs) - ############################################################################## class HistoryPage: @@ -1038,7 +899,6 @@ class HistoryPage: failed_only = int_conv(kwargs.get("failed_only")) history = build_header() - history["failed_only"] = failed_only history["rating_enable"] = bool(cfg.rating_enable()) postfix = T("B") # : Abbreviation for bytes, as in GB @@ -1050,23 +910,10 @@ class HistoryPage: to_units(day, postfix=postfix), ) - history["lines"], history["fetched"], history["noofslots"] = build_history( + history["lines"], history["noofslots"] = build_history( start=start, limit=limit, search=search, failed_only=failed_only ) - - if search: - history["search"] = escape(search) - else: - history["search"] = "" - - history["start"] = int_conv(start) - history["limit"] = int_conv(limit) - history["finish"] = history["start"] + history["limit"] - if history["finish"] > history["noofslots"]: - history["finish"] = history["noofslots"] - if not history["finish"]: - history["finish"] = history["fetched"] - history["time_format"] = time_format + history["limit"] = limit template = Template( file=os.path.join(sabnzbd.WEB_DIR, "history.tmpl"), @@ -1076,22 +923,6 @@ class HistoryPage: return template.respond() @secured_expose(check_api_key=True) - def purge(self, **kwargs): - history_db = sabnzbd.get_db_connection() - history_db.remove_history() - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) - def delete(self, **kwargs): - job = kwargs.get("job") - del_files = int_conv(kwargs.get("del_files")) - if job: - jobs = job.split(",") - for job in jobs: - del_hist_job(job, del_files=del_files) - raise queueRaiser(self.__root, kwargs) - - @secured_expose(check_api_key=True) def retry_pp(self, **kwargs): retry_job(kwargs.get("job"), kwargs.get("nzbfile"), kwargs.get("password")) raise queueRaiser(self.__root, kwargs) @@ -1127,13 +958,6 @@ class ConfigPage: conf["certificate_validation"] = sabnzbd.CERTIFICATE_VALIDATION conf["ssl_version"] = ssl.OPENSSL_VERSION - new = {} - for svr in config.get_servers(): - new[svr] = {} - conf["servers"] = new - - conf["folders"] = sabnzbd.NzbQueue.scan_jobs(all_jobs=False, action=False) - template = Template( file=os.path.join(sabnzbd.WEB_DIR_CONFIG, "config.tmpl"), searchList=[conf], @@ -1514,10 +1338,7 @@ class ConfigGeneral: conf["password"] = cfg.password.get_stars() conf["language"] = cfg.language() - lang_list = list_languages() - if len(lang_list) < 2: - lang_list = [] - conf["lang_list"] = lang_list + conf["lang_list"] = list_languages() for kw in GENERAL_LIST: conf[kw] = config.get_config("misc", kw)() @@ -1525,7 +1346,6 @@ class ConfigGeneral: conf["bandwidth_max"] = cfg.bandwidth_max() conf["bandwidth_perc"] = cfg.bandwidth_perc() conf["nzb_key"] = cfg.nzb_key() - conf["my_lcldata"] = cfg.admin_dir.get_clipped_path() conf["caller_url"] = cherrypy.request.base + cfg.url_base() template = Template( @@ -2408,19 +2228,6 @@ class ConfigSorting: @secured_expose(check_api_key=True, check_configlock=True) def saveSorting(self, **kwargs): - try: - kwargs["movie_categories"] = kwargs["movie_cat"] - except: - pass - try: - kwargs["date_categories"] = kwargs["date_cat"] - except: - pass - try: - kwargs["tv_categories"] = kwargs["tv_cat"] - except: - pass - for kw in SORT_LIST: item = config.get_config("misc", kw) value = kwargs.get(kw) @@ -2457,21 +2264,11 @@ class Status: return template.respond() @secured_expose(check_api_key=True) - def reset_quota(self, **kwargs): - sabnzbd.BPSMeter.reset_quota(force=True) - raise Raiser(self.__root) - - @secured_expose(check_api_key=True) def disconnect(self, **kwargs): sabnzbd.Downloader.disconnect() raise Raiser(self.__root) @secured_expose(check_api_key=True) - def refresh_conn(self, **kwargs): - # No real action, just reload the page - raise Raiser(self.__root) - - @secured_expose(check_api_key=True) def showlog(self, **kwargs): try: sabnzbd.LOGHANDLER.flush() diff --git a/sabnzbd/osxmenu.py b/sabnzbd/osxmenu.py index f2b59d5..31f44be 100644 --- a/sabnzbd/osxmenu.py +++ b/sabnzbd/osxmenu.py @@ -289,7 +289,7 @@ class SABnzbdDelegate(NSObject): # Fetch history items if not self.history_db: self.history_db = sabnzbd.database.HistoryDB() - items, fetched_items, _total_items = self.history_db.fetch_history(limit=10) + items = self.history_db.fetch_history(limit=10)[0] self.menu_history = NSMenu.alloc().init() self.failedAttributes = { @@ -302,7 +302,7 @@ class SABnzbdDelegate(NSObject): self.menu_history.addItem_(menu_history_item) self.menu_history.addItem_(NSMenuItem.separatorItem()) - if fetched_items: + if items: for history in items: if os.path.isdir(history["storage"]): menu_history_item = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(