def reload(self, *args): # args caught for SIGHUP handler if self.dir: if self.scripts: app.log("Reloading scripts.") for file in os.listdir(self.dir): self.unload(file) self.load(file)
def __init__(self, dir): self.dir = None self.scripts = {} dir = os.path.abspath(dir) if not os.path.isdir(dir): app.log("%s isn't a valid system path." % dir, "error") return self.dir = dir
def load(self, file): file = os.path.abspath(os.path.join(self.dir, file)) for script in self.scripts.values(): if script.file == file: return if os.path.isfile(file): self.scripts[file] = Script(file) app.log("Loaded %s" % file)
def delete(self, groupname, name): """ Halt and delete a feed. Default to deleting its articles. """ key = auth() feed = Feed.query.filter(and_(Feed.key == key, Feed.name == name)).first() if not feed: restful.abort(404) app.inbox.put([0, "stop", [key, feed.name]]) app.log('%s: %s: Deleting feed "%s".' % (feed.key.name, feed.group.name, feed.name)) for a in feed.articles: db.session.delete(a) db.session.delete(feed) db.session.commit() return {}
def delete(self, groupname): key = auth(forbid_reader_keys=True) fg = FeedGroup.query.filter(and_(FeedGroup.key == key, FeedGroup.name == groupname)).first() if not fg: restful.abort(404) count=0 for feed in fg.feeds: for article in feed.articles: count += 1 db.session.delete(article) db.session.delete(feed) db.session.delete(fg) db.session.commit() count = "{:,}".format(count) app.log('%s: Deleted feed group "%s". (%s articles)' % (key.name, fg.name, count)) return {}
def delete(self, groupname, name): """ Halt and delete a feed. Default to deleting its articles. """ key = auth(forbid_reader_keys=True) feed = Feed.query.filter(and_(Feed.key == key, Feed.name == name)).first() if not feed: restful.abort(404) app.inbox.put([0, "stop", [key, feed.name]]) app.log('%s: %s: Deleting feed "%s".' % (feed.key.name, feed.group.name, feed.name)) for a in feed.articles: db.session.delete(a) db.session.delete(feed) db.session.commit() return {}
def delete(self, groupname): key = auth(forbid_reader_keys=True) fg = FeedGroup.query.filter( and_(FeedGroup.key == key, FeedGroup.name == groupname)).first() if not fg: restful.abort(404) count = 0 for feed in fg.feeds: for article in feed.articles: count += 1 db.session.delete(article) db.session.delete(feed) db.session.delete(fg) db.session.commit() count = "{:,}".format(count) app.log('%s: Deleted feed group "%s". (%s articles)' % (key.name, fg.name, count)) return {}
def process_bind_param(self, value, dialect): app.log(dir(self)) if value and snappy: value = snappy.compress(value.encode("utf-8", "ignore")) return value