コード例 #1
0
ファイル: account.py プロジェクト: merouaneagar/canopsis
 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)
コード例 #2
0
ファイル: account.py プロジェクト: capensis/canopsis
 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)
コード例 #3
0
ファイル: archiver.py プロジェクト: merouaneagar/canopsis
    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)))
コード例 #4
0
    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)))
コード例 #5
0
ファイル: rest.py プロジェクト: capensis/canopsis
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
コード例 #6
0
ファイル: storage.py プロジェクト: Anhmike/canopsis
    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))
コード例 #7
0
ファイル: rest.py プロジェクト: merouaneagar/canopsis
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
コード例 #8
0
ファイル: record.py プロジェクト: crudbug/canopsis
    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 ...')
コード例 #9
0
ファイル: test_record.py プロジェクト: merouaneagar/canopsis
    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 ...')
コード例 #10
0
ファイル: statemap.py プロジェクト: Anhmike/canopsis
    def dump(self):
        self.data['statemap'] = self.statemap

        return Record.dump(self)