class CronParameter(AbstractParameter): """ This parameter simply provides a text entry This is the simplest exemple for to see how you can extend Parameter """ def __init__(self, log=None, trigger=None): AbstractParameter.__init__(self, log, trigger) self.set_type("string") self.add_expected_entry("cron", "string", "Cron timed trigger") self.expr = None def fill(self, params): AbstractParameter.fill(self, params) params = self.get_parameters() if "cron" in params: self.expr = CronExpression(params["cron"]) else: self.expr = None def evaluate(self): """ Return string, or none if no string entered yet """ if self.expr: return self.expr.check_trigger_now() else: return None
def scenario_croncheckdate(): data = {} try : for k, v in request.args.iteritems(): data[k] = v data['date'] = tuple ([int(i) for i in data['date'].split(',')]) try : job = CronExpression(data['cronrule']) if not job.isValidate() : return jsonify(result='error', reply="", content = {'error': gettext(u"Cron rule is not valid.")}) now = job.check_trigger_now() istriggered = job.check_trigger(data['date']) except : print(traceback.format_exc()) return jsonify(result='error', reply="", content = {'error': gettext(u"Error in cron rule, can't trigger it.")}) return jsonify(result='success', reply="", content = {'error': "", 'result': {'now': now, 'date': istriggered}}) except : print(traceback.format_exc()) jsonify(result='error', reply="", content = {'error': gettext(u"Cron checking, bad request parameters.")})