Пример #1
0
    def POST(self):
        """
        Create a new log, if authorized

        """
        try:
            logm = logutils.get_logging_manager()
            if 'bankId' not in self.data():
                utilities.verify_keys_present(self.data(),
                                              ['name', 'description'])
                form = logm.get_log_form_for_create([])
                finalize_method = logm.create_log
            else:
                log = logm.get_log(Id(self.data()['bankId']))
                form = logm.get_log_form_for_update(log.ident)
                finalize_method = logm.update_log

            if 'name' in self.data():
                form.display_name = self.data()['name']
            if 'description' in self.data():
                form.description = self.data()['description']
            if 'genusTypeId' in self.data():
                form.set_genus_type(Type(self.data()['genusTypeId']))

            new_log = utilities.convert_dl_object(finalize_method(form))

            return new_log
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #2
0
    def GET(self, log_id):
        try:
            logm = logutils.get_logging_manager()
            log = logm.get_log(utilities.clean_id(log_id))
            log = utilities.convert_dl_object(log)

            return log
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #3
0
    def DELETE(self, log_id, entry_id):
        try:
            logm = logutils.get_logging_manager()
            log = logm.get_log(utilities.clean_id(log_id))
            log.delete_log_entry(utilities.clean_id(entry_id))

            return utilities.success()
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #4
0
    def DELETE(self, log_id):
        try:
            logm = logutils.get_logging_manager()
            logm.delete_log(utilities.clean_id(log_id))

            return utilities.success()
        except IllegalState as ex:
            modified_ex = type(ex)('Log is not empty.')
            utilities.handle_exceptions(modified_ex)
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #5
0
    def GET(self, log_id, entry_id):
        try:
            logm = logutils.get_logging_manager()
            lels = logm.get_log_entry_lookup_session(proxy=logm._proxy)
            lels.use_federated_log_view()
            entry = lels.get_log_entry(utilities.clean_id(entry_id))
            entry_map = entry.object_map

            return entry_map
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #6
0
    def GET(self, log_id):
        try:
            logm = logutils.get_logging_manager()
            log = logm.get_log(utilities.clean_id(log_id))
            entries = log.get_log_entries()

            data = utilities.extract_items(entries)

            return data
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #7
0
 def GET(self):
     """
     List all available logs
     """
     try:
         logm = logutils.get_logging_manager()
         logs = logm.logs
         logs = utilities.extract_items(logs)
         return logs
     except Exception as ex:
         utilities.handle_exceptions(ex)
Пример #8
0
    def _get_log(self):
        logm = logutils.get_logging_manager()

        logs = logm.get_logs()
        default_log = None
        for log in logs:
            if str(log.genus_type) == DEFAULT_LOG_GENUS_TYPE:
                default_log = log
                break
        if default_log is None:
            form = logm.get_log_form_for_create([])
            form.set_genus_type(Type(DEFAULT_LOG_GENUS_TYPE))
            form.display_name = 'Default CLIx QBank log'
            form.description = 'For logging info from unplatform and tools, which do not know about catalog IDs'

            default_log = logm.create_log(form)
        return default_log
Пример #9
0
    def POST(self, log_id):
        try:
            utilities.verify_keys_present(self.data(), ['data'])
            logm = logutils.get_logging_manager()

            log = logm.get_log(utilities.clean_id(log_id))
            form = log.get_log_entry_form_for_create([TEXT_BLOB_RECORD_TYPE])

            if isinstance(self.data()['data'], dict):
                blob = json.dumps(self.data()['data'])
            else:
                blob = str(self.data()['data'])

            form.set_text(blob)
            entry = log.create_log_entry(form)

            return utilities.convert_dl_object(entry)
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #10
0
    def PUT(self, log_id):
        try:
            logm = logutils.get_logging_manager()
            form = logm.get_log_form_for_update(utilities.clean_id(log_id))

            utilities.verify_at_least_one_key_present(self.data(),
                                                      ['name', 'description'])

            # should work for a form or json data
            if 'name' in self.data():
                form.display_name = self.data()['name']
            if 'description' in self.data():
                form.description = self.data()['description']

            updated_log = logm.update_log(form)
            updated_log = utilities.convert_dl_object(updated_log)

            return updated_log
        except Exception as ex:
            utilities.handle_exceptions(ex)
Пример #11
0
    def PUT(self, log_id, entry_id):
        try:
            utilities.verify_at_least_one_key_present(self.data(), ['data'])
            logm = logutils.get_logging_manager()

            log = logm.get_log(utilities.clean_id(log_id))

            form = log.get_log_entry_form_for_update(
                utilities.clean_id(entry_id))

            if 'data' in self.data():
                if isinstance(self.data()['data'], dict):
                    blob = json.dumps(self.data()['data'])
                else:
                    blob = str(self.data()['data'])
                form.set_text(blob)

            log.update_log_entry(form)

            entry = log.get_log_entry(utilities.clean_id(entry_id))

            return utilities.convert_dl_object(entry)
        except Exception as ex:
            utilities.handle_exceptions(ex)