示例#1
0
 def modifyData(self, option, name, value, upd_from):
     if option == "UPDATE":
         time_label = datetime.now().isoformat()
         self.mMongoAgent.update_one({
             "_tp": self.mSolKind,
             "name": name
         }, {
             "$set": {
                 self.mSolKind: value,
                 "_tp": self.mSolKind,
                 "time": time_label,
                 "from": upd_from
             }
         },
                                     upsert=True)
         self.mData[name] = [
             value, AnfisaConfig.normalizeTime(time_label), upd_from
         ]
         self.mIntVersion += 1
         return True
     if option == "DELETE" and name in self.mData:
         self.mMongoAgent.delete_many({"_tp": self.mSolKind, "name": name})
         del self.mData[name]
         self.mIntVersion += 1
         return True
     return False
示例#2
0
 def _getRecData(self, rec_no):
     rec_key = self.getWS().getRecKey(rec_no)
     rec_data = self.getWS().getMongoRecData(rec_key)
     if rec_data is None:
         return (dict(), None, None)
     return (dict(filter(self._goodPair,
                         rec_data.items())), rec_data.get('_h'),
             AnfisaConfig.normalizeTime(rec_data.get('_t')))
示例#3
0
 def getFilters(self):
     ret = []
     for it in self.mAgent.find({"_tp": "flt"}):
         it_id = it["_id"]
         if it_id.startswith("flt-"):
             ret.append((it_id[4:], it["seq"],
                 AnfisaConfig.normalizeTime(it.get("time"))))
     return ret
示例#4
0
 def __init__(self, sol_kind, mongo_agent):
     self.mSolKind = sol_kind
     self.mMongoAgent = mongo_agent
     self.mData = dict()
     self.mIntVersion = 0
     for it in self.mMongoAgent.find({"_tp": self.mSolKind}):
         name = it["name"]
         self.mData[name] = [
             it[self.mSolKind],
             AnfisaConfig.normalizeTime(it.get("time")), it["from"]
         ]
示例#5
0
 def getNote(self):
     it = self.mAgent.find_one({"_tp": "dsinfo"})
     if it is not None:
         return (it.get("note", "").strip(),
             AnfisaConfig.normalizeTime(it.get("note-time")))
     return ("", None)
示例#6
0
 def getCreationDate(self):
     it = self.mAgent.find_one({"_tp": "dsinfo"})
     if it is not None:
         return AnfisaConfig.normalizeTime(it.get("upd-time"))
     return None
示例#7
0
 def getNote(self):
     it = self.mAgent.find_one({"_id": "note"})
     if it is not None:
         return (it["note"].strip(),
             AnfisaConfig.normalizeTime(it.get("time")))
     return ("", None)
示例#8
0
 def getCreationDate(self):
     it = self.mAgent.find_one({"_id": "created"})
     if it is not None:
         return AnfisaConfig.normalizeTime(it.get("time"))
     return None