def create(): status = 1 try: feed = "rss_{0}".format(request.values['new_short_name']) if config.has_section(feed): raise KeyError() else: config.add_section(feed) except KeyError: msg = "Duplicate feed name" else: try: config.set(feed, "url", request.values['new_url']) config.set(feed, "interval", request.values['new_interval']) config.set(feed, "enabled", request.values['new_enabled']) if config.save(): msg = "RSS Feed saved successfully: {0}".format(request.values['new_short_name']) status = 0 else: msg = "Error saving config to disk." except KeyError: msg = "Failed to save config. Malformed request: {0}".format(feed) if status == 1: logger.error(msg) else: logger.info(msg) return redirect(url_for(".index"))
def create(): """ Create a new RSS feed over XHR :return: Feed creation status response :rtype: Response """ status = api.STATUS_FAIL feed = "rss_{0}".format(re.sub('[^0-9a-zA-Z]+', '_', request.values['feed'].lower())) if config.has_section(feed): msg = "Duplicate feed name" else: config.add_section(feed) try: config.set(feed, "url", request.values['url']) config.set(feed, "interval", request.values['interval']) config.set(feed, "enabled", request.values['enabled']) if config.save(): msg = "Feed {0} saved successfully, reloading page.".format(request.values['feed']) status = api.STATUS_OK else: msg = "Error saving config to disk." except KeyError: msg = "Failed to save config. Malformed request: {0}".format(feed) log.error(msg) if status == api.STATUS_FAIL else log.info(msg) return dict(msg=msg, status=status)
def delete(): """ Delete a RSS feed from the config over XHR :return: Deletion status response :rtype: dict """ status = api.STATUS_FAIL feed = "rss_{0}".format(re.sub('[^0-9a-zA-Z]+', '_', request.values['feed'].lower())) if not config.has_section(feed): msg = "Invalid feed name" else: if config.remove_section(feed) and config.save(): msg = "RSS Feed deleted successfully: {0}".format(request.values['feed']) status = api.STATUS_OK else: msg = "Failed to remove configuration section: {0}".format(feed) return dict(msg=msg, status=status)
def save(): status = 1 try: feed = "rss_{0}".format(request.values['feed']) if not config.has_section(feed): raise KeyError() except KeyError: msg = "Invalid feed name" else: try: config.set(feed, "url", request.values['url']) config.set(feed, "interval", request.values['interval']) config.set(feed, "enabled", request.values['enabled']) msg = "RSS Feed saved successfully: {0}".format(request.values['feed']) status = 0 except KeyError: msg = "Failed to save config. Malformed request: {0}".format(feed) return dumps({'msg': msg, 'status': status})
def delete(): status = 1 try: feed = "rss_{0}".format(request.values['feed']) if not config.has_section(feed): raise KeyError() except KeyError: msg = "Invalid feed name" else: if config.remove_section(feed) and config.save(): msg = "RSS Feed deleted successfully: {0}".format(request.values['feed']) status = 0 else: msg = "Failed to remove configuration section: {0}".format(feed) response = { 'msg': msg, 'status': status } return dumps(response)
def __init__(self, service_manager): """ :param service_manager: :type service_manager: tranny.manager.ServiceManager continue :return: :rtype: """ self._service_manager = service_manager self._observer = Observer() for section in config.find_sections("watch"): try: section_name = config.get_default(section, "section", False) watch_path = config.get(section, "path") if not exists(watch_path): log.warn( "Watch path does not exist {0}".format(watch_path)) except (NoOptionError, NoSectionError): log.warn( "Failed to get dl_path key for watch section {0}. Does not exist" .format(section)) continue dl_path = expanduser( config.get("section_{0}".format(section_name), "dl_path")) if not dl_path or not exists(dl_path) or not isdir(dl_path): log.warning( "Invalid download directory {0}. Disabling watch service for this directory" .format(dl_path)) watch_path = None if not config.has_section("section_{0}".format(section_name)): log.warning( "Invalid section name specified for watch dir: {0}".format( section_name)) if watch_path: self._observer.schedule(self, watch_path, recursive=True) self._path_sections[watch_path] = section_name if not self._path_sections: log.warning("No valid watch dirs found, disabling service") self._observer.start()
def save(): """ Save the new config values of an existing feed over XHR :return: Save status response :rtype: dict """ status = api.STATUS_FAIL feed = "rss_{0}".format(request.values['feed']) if not config.has_section(feed): msg = "Invalid feed name" else: try: config.set(feed, "url", request.values['url']) config.set(feed, "interval", request.values['interval']) config.set(feed, "enabled", request.values['enabled']) config.save() msg = "RSS Feed saved successfully: {0}".format(request.values['feed']) status = api.STATUS_OK except KeyError: msg = "Failed to save config. Malformed request: {0}".format(feed) return dict(msg=msg, status=status)
def __init__(self, service_manager): """ :param service_manager: :type service_manager: tranny.manager.ServiceManager continue :return: :rtype: """ self._service_manager = service_manager self._observer = Observer() for section in config.find_sections("watch"): try: section_name = config.get_default(section, "section", False) watch_path = config.get(section, "path") if not exists(watch_path): logger.warn("Watch path does not exist {0}".format(watch_path)) except (NoOptionError, NoSectionError): logger.warn("Failed to get dl_path key for watch section {0}. Does not exist".format( section )) continue dl_path = expanduser(config.get("section_{0}".format(section_name), "dl_path")) if not dl_path or not exists(dl_path) or not isdir(dl_path): logger.warning( "Invalid download directory {0}. Disabling watch service for this directory".format(dl_path) ) watch_path = None if not config.has_section("section_{0}".format(section_name)): logger.warning("Invalid section name specified for watch dir: {0}".format(section_name)) if watch_path: self._observer.schedule(self, watch_path, recursive=True) self._path_sections[watch_path] = section_name if not self._path_sections: logger.warning("No valid watch dirs found, disabling service") self._observer.start()