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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)