Example #1
0
 def generate_callback_id(self):
     randid = shortuuid.uuid()[:8]
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER,
                       config.MONGO_PASSWORD, config.MONGO_DB)
     while mdb.check_callback_id_in_db(randid) is True:
         randid = shortuuid.uuid()[:8]
     self.callback_id = randid
     mdb.register_callback_id(self.callback_id)
Example #2
0
 def set_error_text(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     
     if self.error_code:
         self.error_text = mdb.get_error_message_from_code(self.error_code)
         # We may want a catch if the code is not seen in the database
     else:
         self.error_text = None
Example #3
0
 def create_entry_for_study(self):
     # Order here matters
     data = [self.study_id,
             self.callback_id,
             self.file_path,
             self.md5,
             self.assembly,
             self.readme,
             self.entryUUID,
             self.raw_ss
             ]
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.insert_new_study(data)
Example #4
0
    def get_data_for_callback_id(self):
        mdb = mongoClient(config.MONGO_URI, config.MONGO_USER,
                          config.MONGO_PASSWORD, config.MONGO_DB)
        data = mdb.get_data_from_callback_id(self.callback_id)
        self.get_metadata_errors()
        if data is None:
            if mdb.check_callback_id_in_db(self.callback_id):
                # callback registered but studies not yet added (due to async)
                return True
            else:
                raise RequestedNotFound(
                    "Couldn't find resource with callback id: {}".format(
                        self.callback_id))

        for study_metadata in data:
            study_id = st.set_var_from_dict(study_metadata, 'studyID', None)
            callback_id = st.set_var_from_dict(study_metadata, 'callbackID',
                                               None)
            file_path = st.set_var_from_dict(study_metadata, 'filePath', None)
            md5 = st.set_var_from_dict(study_metadata, 'md5', None)
            assembly = st.set_var_from_dict(study_metadata, 'assembly', None)
            retrieved = st.set_var_from_dict(study_metadata, 'retrieved', None)
            data_valid = st.set_var_from_dict(study_metadata, 'dataValid',
                                              None)
            error_code = st.set_var_from_dict(study_metadata, 'errorCode',
                                              None)
            readme = st.set_var_from_dict(study_metadata, 'readme', None)
            entryUUID = st.set_var_from_dict(study_metadata, 'entryUUID', None)
            author_name = st.set_var_from_dict(study_metadata, 'authorName',
                                               None)
            pmid = st.set_var_from_dict(study_metadata, 'pmid', None)
            gcst = st.set_var_from_dict(study_metadata, 'gcst', None)
            raw_ss = st.set_var_from_dict(study_metadata, 'rawSS', None)

            study = st.Study(study_id=study_id,
                             callback_id=callback_id,
                             file_path=file_path,
                             md5=md5,
                             assembly=assembly,
                             retrieved=retrieved,
                             data_valid=data_valid,
                             error_code=error_code,
                             readme=readme,
                             entryUUID=entryUUID,
                             author_name=author_name,
                             pmid=pmid,
                             gcst=gcst,
                             raw_ss=raw_ss)
            self.study_obj_list.append(study)
        return self.study_obj_list
Example #5
0
    def get_study_from_db(self):
        mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
        study_metadata = mdb.get_study_metadata(self.study_id)

        if study_metadata:
            self.study_id = set_var_from_dict(study_metadata, 'studyID', None)
            self.callback_id = set_var_from_dict(study_metadata, 'callbackID', None)
            self.file_path = set_var_from_dict(study_metadata, 'filePath', None)
            self.md5 = set_var_from_dict(study_metadata, 'md5', None)
            self.assembly = set_var_from_dict(study_metadata, 'assembly', None)
            self.retrieved = set_var_from_dict(study_metadata, 'retrieved', None) 
            self.data_valid = set_var_from_dict(study_metadata, 'dataValid', None)
            self.error_code = set_var_from_dict(study_metadata, 'errorCode', None)
            self.readme = set_var_from_dict(study_metadata, 'readme', None)
            self.entryUUID = set_var_from_dict(study_metadata, 'entryUUID', None)
            self.author_name = set_var_from_dict(study_metadata, 'authorName', None)
            self.pmid = set_var_from_dict(study_metadata, 'pmid', None)
            self.gcst = set_var_from_dict(study_metadata, 'gcst', None)
            self.raw_ss = set_var_from_dict(study_metadata, 'rawSS', None)
            self.set_error_text()
        return study_metadata
Example #6
0
 def store_publication_details(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.update_publication_details(self.study_id, self.author_name, self.pmid, self.gcst)
Example #7
0
 def store_error_code(self):
     # error codes are in the error table (see the DB_SCHEMA)
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.update_error_code(self.study_id, self.error_code)
Example #8
0
 def store_data_valid_status(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.update_data_valid_status(self.study_id, self.data_valid)
Example #9
0
 def store_retrieved_status(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.update_retrieved_status(self.study_id, self.retrieved)
Example #10
0
 def remove(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER, config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.delete_study_entry(self.study_id)
Example #11
0
 def remove_callback_id(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER,
                       config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.remove_callback_id(self.callback_id)
Example #12
0
 def get_metadata_errors(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER,
                       config.MONGO_PASSWORD, config.MONGO_DB)
     self.metadata_errors = mdb.get_metadata_errors(self.callback_id)
Example #13
0
 def store_metadata_errors(self):
     mdb = mongoClient(config.MONGO_URI, config.MONGO_USER,
                       config.MONGO_PASSWORD, config.MONGO_DB)
     mdb.update_metadata_errors(self.callback_id, self.metadata_errors)