def dump(self): self.name = self.user self.data['user'] = self.user self.data['lastname'] = self.lastname self.data['firstname'] = self.firstname self.data['mail'] = self.mail self.data['groups'] = list(self.groups) self.data['external'] = self.external ''' if self.group: self.data['groups'].insert(0, self.group) ''' self.data['shadowpasswd'] = self.shadowpasswd self.data['authkey'] = self.authkey return Record.dump(self)
def process_insert_operations_collection(self, operations, collection): self.stats['insert ' + collection] += len(operations) if operations: # is there any event to process ? backend = self.storage.get_backend(collection) bulk = backend.initialize_unordered_bulk_op() for operation in operations: record = Record(operation['event']) record.type = "event" event = record.dump() bulk.insert(event) try: bulk.execute({'w': 0}) except BulkWriteError as bwe: self.logger.warning(bwe.details) self.logger.info('inserted log events {}'.format(len(operations)))
def process_insert_operations_collection(self, operations, collection): self.stats['insert ' + collection] += len(operations) if operations: # is there any event to process ? backend = self.storage.get_backend(collection) bulk = backend.initialize_unordered_bulk_op() for operation in operations: record = Record(operation['event']) record.type = "event" event = record.dump() bulk.insert(event) try: bulk.execute({'w': 0}) except BulkWriteError as bwe: self.logger.warning(pp.pformat(bwe.details)) self.logger.info(u'inserted log events {}'.format(len(operations)))
def save_records(ws, namespace, ctype, _id, items): records = [] for data in items: m_id = data.pop('_id', None) mid = data.pop('id', None) _id = m_id or mid or _id record = None # Try to fetch existing record for update if _id: try: record = ws.db.get(_id, namespace=namespace) except KeyError: pass # record is None here if record: for key in data.keys(): record.data[key] = data[key] record.name = data.get('crecord_name', record.name) else: cname = data.pop('crecord_name', 'noname') record = Record(_id=_id, data=data, name=cname, _type=ctype) try: _id = ws.db.put(record, namespace=namespace) drecord = record.dump() drecord['_id'] = str(_id) drecord['id'] = drecord['_id'] records.append(drecord) except Exception as err: ws.logger.error(u'Impossible to save record: {0}'.format( err )) return records
def test_19_tree(self): record1 = Record({'data': 1}, name="record1") record2 = Record({'data': 2}, name="record2") record3 = Record({'data': 3}, name="record3") record4 = Record({'data': 4}, name="record4") STORAGE.put([record1, record2, record3, record4]) record2.add_children(record4) record1.add_children(record2) record1.add_children(record3) STORAGE.put([record1, record2]) STORAGE.get_record_childs(record1) STORAGE.recursive_get(record1) STORAGE.print_record_tree(record1) dumps(record1.dump(json=True))
def save_records(ws, namespace, ctype, _id, items): records = [] for data in items: m_id = data.pop('_id', None) mid = data.pop('id', None) _id = m_id or mid or _id record = None # Try to fetch existing record for update if _id: try: record = ws.db.get(_id, namespace=namespace) except KeyError: pass # record is None here if record: for key in data.keys(): record.data[key] = data[key] record.name = data.get('crecord_name', record.name) else: cname = data.pop('crecord_name', 'noname') record = Record(_id=_id, data=data, name=cname, _type=ctype) try: _id = ws.db.put(record, namespace=namespace) drecord = record.dump() drecord['_id'] = str(_id) drecord['id'] = drecord['_id'] records.append(drecord) except Exception as err: ws.logger.error(u'Impossible to save record: {0}'.format(err)) return records
def test_02_InitFromRaw(self): raw = { '_id': None, 'crecord_name': 'titi', 'crecord_type': 'raw', 'crecord_write_time': None, 'enable': True, 'mydata1': 'data1', 'mydata3': 'data3', 'mydata2': 'data2', 'crecord_type': 'raw' } record = Record(raw_record=raw) dump = record.dump() if not isinstance(dump['_id'], type(None)): raise Exception('Invalid _id type') if record.data != self.data: raise Exception('Data corruption ...')
def dump(self): self.data['statemap'] = self.statemap return Record.dump(self)