def load (self, context): if self.uid == -1: return # Is it already loaded? Convenience check for client calls # don't need to verify loads from the cache. if context.config.use_cache: try: if self.journal_title: # Already loaded return except AttributeError: # Note already loaded, so continue pass cursor = context.get_cursor() cursor.execute(""" SELECT journal_title, abbreviation, issn, nlm_id FROM medline_journals WHERE uid = %s """, self.uid) fields = [d[0] for d in cursor.description] desc = dtuple.TupleDescriptor([[f] for f in fields]) rows = cursor.fetchall() for row in rows: row = dtuple.DatabaseTuple(desc, row) for k, v in row.items(): self.set(k, v) if context.config.use_cache: context.cache_set('%s:%s' % (self.ALT_CACHE_KEY, self.issn), self)
def load(self, context): if self.uid == -1: return # Is it already loaded? Convenience check for client calls # don't need to verify loads from the cache. if context.config.use_cache: try: if getattr(self, self.CACHE_CHECK_KEY): # Already loaded return except AttributeError: # Note already loaded, so continue pass cursor = context.get_cursor() cursor.execute( """ SELECT reference, comments FROM human_studies WHERE uid = %s """, self.uid, ) fields = [d[0] for d in cursor.description] desc = dtuple.TupleDescriptor([[f] for f in fields]) row = cursor.fetchone() row = dtuple.DatabaseTuple(desc, row) self.reference = row["reference"] self.comments = row["comments"] if context.config.use_cache: context.cache_set("%s:%s" % (self.CACHE_KEY, self.uid), self)
def load_from_issn (self, context, issn): if not issn: return if context.config.use_cache: j = context.cache_get('%s:%s' % (self.ALT_CACHE_KEY, issn)) if j \ and j.journal_title: for att in ('uid', 'journal_title', 'abbreviation', 'issn', 'eissn', 'iso_abbr', 'nlm_id'): self.set(att, getattr(j, att)) return cursor = context.get_cursor() cursor.execute(""" SELECT uid, journal_title, abbreviation, nlm_id FROM medline_journals WHERE issn = %s """, issn) fields = [d[0] for d in cursor.description] desc = dtuple.TupleDescriptor([[f] for f in fields]) rows = cursor.fetchall() if rows: row = rows[0] row = dtuple.DatabaseTuple(desc, row) for k, v in row.items(): self.set(k, v) self.issn = issn if context.config.use_cache: context.cache_set('%s:%s' % (self.CACHE_KEY, self.uid), self) context.cache_set('%s:%s' % (self.ALT_CACHE_KEY, self.issn), self)
def save(self, context): cursor = context.get_cursor() try: if self.uid == -1: cursor.execute( """ INSERT INTO human_studies (reference, comments) VALUES (%s, %s) """, (self.reference, self.comments), ) self.uid = self.get_new_uid(context) context.logger.info("HumanStudy created with uid %s", self.uid) else: cursor.execute( """ UPDATE human_studies SET reference = %s, comments = %s WHERE uid = %s """, (self.reference, self.comments, self.uid), ) context.logger.info("HumanStudy %s updates", self.uid) except: print traceback.print_exc() raise Error, "Duplicate reference" if context.config.use_cache: context.cache_set("%s:%s" % (self.CACHE_KEY, self.uid), self)
def save(self, context): cursor = context.get_cursor() try: if self.uid == -1: cursor.execute( """ INSERT INTO human_studies (reference, comments) VALUES (%s, %s) """, (self.reference, self.comments)) self.uid = self.get_new_uid(context) context.logger.info('HumanStudy created with uid %s', self.uid) else: cursor.execute( """ UPDATE human_studies SET reference = %s, comments = %s WHERE uid = %s """, (self.reference, self.comments, self.uid)) context.logger.info('HumanStudy %s updates', self.uid) except: print traceback.print_exc() raise Error, 'Duplicate reference' if context.config.use_cache: context.cache_set('%s:%s' % (self.CACHE_KEY, self.uid), self)
def load(self, context): if self.uid == -1: return # Is it already loaded? Convenience check for client calls # don't need to verify loads from the cache. if context.config.use_cache: try: if getattr(self, self.CACHE_CHECK_KEY): # Already loaded return except AttributeError: # Note already loaded, so continue pass cursor = context.get_cursor() cursor.execute( """ SELECT reference, comments FROM human_studies WHERE uid = %s """, self.uid) fields = [d[0] for d in cursor.description] desc = dtuple.TupleDescriptor([[f] for f in fields]) row = cursor.fetchone() row = dtuple.DatabaseTuple(desc, row) self.reference = row['reference'] self.comments = row['comments'] if context.config.use_cache: context.cache_set('%s:%s' % (self.CACHE_KEY, self.uid), self)
def save (self, context, update_all=False): # NOTE: For now, do not allow creation of arbitrary concepts if self.uid == -1: return cursor = context.get_cursor() # NOTE: For now, only allow update of preferred_name cursor.execute(""" UPDATE umls_concepts SET preferred_name = %s WHERE umls_concept_id = %s """, (self.term, self.uid)) if context.config.use_cache: context.cache_set('%s:%s' % (self.CACHE_KEY, self.uid), self)
def save(self, context, update_all=False): # NOTE: For now, do not allow creation of arbitrary concepts if self.uid == -1: return cursor = context.get_cursor() # NOTE: For now, only allow update of preferred_name cursor.execute( """ UPDATE umls_concepts SET preferred_name = %s WHERE umls_concept_id = %s """, (self.term, self.uid)) if context.config.use_cache: context.cache_set('%s:%s' % (self.CACHE_KEY, self.uid), self)