Esempio n. 1
0
    def from_json(data):
        
        if type(data) != type({}):
            data = json.loads(str(data).strip())
        
        job = Job()

        job.id = get_value(data, "id", int, optional = True)
        job.name = get_value(data, "name", str);
        
        # Optional attributes
        job.description = get_value(data, "description", str, optional = True);
        
        job.cron = None
        cron = get_value(data, "cron", dict, optional = True)        
        if cron != None:
            for name in ["day", "month", "year", "hour", "minute", "second"]:
                if name in cron:
                    if job.cron == None: job.cron = {}
                    job.cron[name] = get_value(cron, name, str)
        
        for s in data["signals"]:
            job.add_signal(Signal.from_json(s))

        return job
Esempio n. 2
0
 def save_signal(self, handler):
     
     try:
         
         signal = Signal.from_json(handler.get_post_data())
         signal = signal.sql_save(self.sql())
         self.sql_commit()
 
     except Exception, e:
         self.log_error(e)
         handler.send_json_response(str(e), 400)
         return