def save_entity(self, session_type, session_id): ''' This method overrides the identical method from the inherited superclass, 'BaseData'. Specifically, this method updates an existing entity within the corresponding database table, 'tbl_dataset_entity'. @session_id, is synonymous to 'entity_id', and provides context to update 'modified_xx' columns within the 'tbl_dataset_entity' database table. ''' premodel_settings = self.premodel_data['properties'] premodel_entity = { 'title': premodel_settings.get('session_name', None), 'uid': self.uid, 'id_entity': session_id, } db_save = Entity(premodel_entity, session_type) # save dataset element db_return = db_save.save() # return if db_return['status']: return {'status': True, 'error': None} else: self.list_error.append(db_return['error']) return {'status': False, 'error': self.list_error}
def save_info(dataset, session_type, userid): ''' This method saves the current entity into the database, then returns the corresponding entity id. ''' list_error = [] premodel_settings = dataset['data']['settings'] premodel_entity = { 'title': premodel_settings.get('session_name', None), 'uid': userid, 'id_entity': None } db_save = Entity(premodel_entity, session_type) # save dataset element db_return = db_save.save() # return error(s) if not db_return['status']: list_error.append(db_return['error']) return {'id': None, 'error': list_error} # return session id elif db_return['status'] and session_type == 'data_new': return {'id': db_return['id'], 'error': None}
def save_entity(self, session_type, session_id): ''' This method overrides the identical method from the inherited superclass, 'BaseData'. Specifically, this method updates an existing entity within the corresponding database table, 'tbl_dataset_entity'. @session_id, is synonymous to 'entity_id', and provides context to update 'modified_xx' columns within the 'tbl_dataset_entity' database table. ''' # local variables db_return = None entity = Entity() cursor = Collection() premodel_settings = self.premodel_data['properties'] collection = premodel_settings['collection'] collection_adjusted = collection.lower().replace(' ', '_') collection_count = entity.get_collection_count(self.uid) document_count = cursor.query(collection_adjusted, 'count_documents') # define entity properties premodel_entity = { 'title': premodel_settings.get('session_name', None), 'uid': self.uid, 'id_entity': session_id, } # store entity values in database if ( collection_adjusted and collection_count and collection_count['result'] < self.max_collection and document_count and document_count['result'] < self.max_document ): db_save = Entity(premodel_entity, session_type) db_return = db_save.save() if db_return and db_return['status']: return {'status': True, 'error': None} else: self.list_error.append(db_return['error']) return {'status': False, 'error': self.list_error} else: return {'status': True, 'error': None}
def save_entity(self, session_type, session_id): ''' This method overrides the identical method from the inherited superclass, 'BaseData'. Specifically, this method updates an existing entity within the corresponding database table, 'tbl_dataset_entity'. @session_id, is synonymous to 'entity_id', and provides context to update 'modified_xx' columns within the 'tbl_dataset_entity' database table. ''' # local variables db_return = None entity = Entity() cursor = Collection() premodel_settings = self.premodel_data['properties'] collection = premodel_settings['collection'] collection_adjusted = collection.lower().replace(' ', '_') collection_count = entity.get_collection_count(self.uid) document_count = cursor.query(collection_adjusted, 'count_documents') # define entity properties premodel_entity = { 'title': premodel_settings.get('session_name', None), 'uid': self.uid, 'id_entity': session_id, } # store entity values in database if (collection_adjusted and collection_count and collection_count['result'] < self.max_collection and document_count and document_count['result'] < self.max_document): db_save = Entity(premodel_entity, session_type) db_return = db_save.save() if db_return and db_return['status']: return {'status': True, 'error': None} else: self.list_error.append(db_return['error']) return {'status': False, 'error': self.list_error} else: return {'status': True, 'error': None}
def save_entity(self, session_type, id_entity=None): ''' This method overrides the identical method from the inherited superclass, 'BaseData'. Specifically, this method updates an existing entity within the corresponding database table, 'tbl_dataset_entity'. @session_id, is synonymous to 'entity_id', and provides context to update 'modified_xx' columns within the 'tbl_dataset_entity' database table. @numeric_model_type, list indices begin at 0, and needs to be corrected by adding 1. This allows the numeric representation of the 'model_type' to relate to another database table, which maps integer values with the corresponding 'model_type' name. The integer column of the mapping table begins at 1. ''' # assign numerical representation numeric_model_type = self.list_model_type.index(self.model_type) + 1 # store entity values in database premodel_settings = self.premodel_data['properties'] premodel_entity = { 'title': premodel_settings.get('session_name', None), 'collection': premodel_settings['collection'], 'model_type': numeric_model_type, 'uid': self.uid, } db_save = Entity(premodel_entity, session_type) # save dataset element db_return = db_save.save() # return if db_return['status']: return {'status': True, 'error': None, 'id': db_return['id']} else: self.list_error.append(db_return['error']) return {'status': False, 'error': self.list_error}
def save_entity(self, session_type, id_entity=None): ''' This method overrides the identical method from the inherited superclass, 'BaseData'. Specifically, this method updates an existing entity within the corresponding database table, 'tbl_dataset_entity'. @session_id, is synonymous to 'entity_id', and provides context to update 'modified_xx' columns within the 'tbl_dataset_entity' database table. @numeric_model_type, list indices begin at 0, and needs to be corrected by adding 1. This allows the numeric representation of the 'model_type' to relate to another database table, which maps integer values with the corresponding 'model_type' name. The integer column of the mapping table begins at 1. ''' # local variables db_return = None entity = Entity() cursor = Collection() premodel_settings = self.premodel_data['properties'] collection = premodel_settings['collection'] collection_adjusted = collection.lower().replace(' ', '_') collection_count = entity.get_collection_count(self.uid) document_count = cursor.query(collection_adjusted, 'count_documents') # assign numerical representation numeric_model_type = self.list_model_type.index(self.model_type) + 1 # define entity properties premodel_entity = { 'title': premodel_settings.get('session_name', None), 'collection': collection, 'model_type': numeric_model_type, 'uid': self.uid, } # store entity values in database if ( collection_adjusted and collection_count and collection_count['result'] < self.max_collection and document_count and document_count['result'] < self.max_document ): entity = Entity(premodel_entity, session_type) db_return = entity.save() # return if db_return and db_return['error']: self.list_error.append(db_return['error']) return {'status': False, 'error': self.list_error} elif db_return and db_return['status']: return {'status': True, 'error': None, 'id': db_return['id']} else: return {'status': True, 'error': 'Entity was not saved', 'id': None}