def post(self): cmd = self.request.arguments.get("cmd", '') logging.info("AccountSystem.post[{cmd:%s}]", cmd) if cmd == '': self.writeasjson({ "error": "cmd paramenter is required" }) elif cmd == 'add': imeis = self.request.arguments.get("imeis") # logging.info(' == imeis=%s', repr(imeis)) results = [] skeys = [System.imei_to_key(imei) for imei in imeis] # logging.info(' == keys=%s', repr(skeys)) systems = System(key=None, cached=True).find_all(skeys, domain=self.domain) # logging.info(' == systems=%s', repr(systems)) pushAll = [] for imei in imeis: skey = System.imei_to_key(imei) if skey in self.account.document["skeys"]: results.append({ "result": "already" }) else: #system = System.get(skey).filter(domain=self.domain) if systems[skey] is None: results.append({ "result": "notfound" }) else: pushAll.append(skey) results.append({ "result": "added", "system": systems[skey] }) self.account.add_systems(pushAll) self.writeasjson({ "systems": results }) elif cmd == 'sort': skeys = self.request.arguments.get("skeys", []) # logging.info("skeys = %s" % repr(skeys)) self.account.sort_systems(skeys) self.writeasjson({ "result": "sorted", "skeys": skeys }) else: self.writeasjson({ "error": "cmd must be set" })