Example #1
0
def get_active_crons():
    result = memcache.get("active_crons", None)
    if not result:
        result = Crons.all().filter("active =", True)
        memcache.set("active_crons", result)
    return result
Example #2
0
    def post(self, id=None):
        cron = None
        if id:
            cron = get_cron_by_id(id)
        if not cron:
            cron = Crons()

        min_list = to_int_list(self.request.get_all("minutes"), ALLMINUTES)
        hour_list = to_int_list(self.request.get_all("hours"))
        week_list = to_int_list(self.request.get_all("weekdays"))

        if 0 in [len(min_list), len(hour_list), len(week_list)]:
            cron.active = False

        cron.name = self.request.get("name")
        cron.minutes = min_list
        cron.hours = hour_list
        cron.weekdays = week_list
        cron.method = self.request.get("method")

        if cron.method not in ALLOWED_METHODS:
            cron.method = "GET"

        if cron.method == "GET":
            cron.payload = ""
        else:
            cron.payload = self.request.get("payload") or ""

        if cron.method == "EMAIL":
            cron.url = ""
            cron.response_post = ""
            cron.response_email = False
        else:
            cron.url = self.request.get("url")
            cron.response_post = self.request.get("response_post") or ""
            cron.response_email = self.request.get("response_email", "") != ""

        cron.save()
        made_changes()
        id = cron.key().id()
        if id:
            self.redirect("/saved/%d" % id)
            return
        self.redirect("/")