def get(self): # Get tags logic snpStr = self.request.get("snp").lstrip('rsRS') # Get if exists, make dummy if not snpObj = snp.get_by_key_name(snpStr) if snpObj == None: snpObj = snp(snpid = snpStr) tags = domain_tag.all() self.out({'tags':tags, 'snp':snpObj})
def testGetOrInsert(self): """- Make sure it does not create duplicates""" id1 = snp(key_name="test1", snpid="1805007", magnitude=0.2).put() act_id1 = snp.get_or_insert("test1") self.assertEqual(act_id1.magnitude, 0.2) self.assertEqual(act_id1.snpid, "1805007") self.assertEqual(act_id1.key(), id1) act_id2 = snp.get_or_insert("test2") self.assertEqual(act_id2.magnitude, None)
def post(self): # Add tag logic snpStr = self.request.get("snp") tagStr = self.request.get("tag") snpObj = snp.get_by_key_name(snpStr) if snpObj == None: snpObj = snp(snpid = snpStr, key_name=snpStr) tagObj = domain_tag.get_by_key_name(tagStr) if tagObj == None: tagObj = domain_tag(tag=tagStr, key_name=tagStr) tagObj.put() methodStr = self.request.get("method") if methodStr == 'delete': snpObj.domain_tags.remove(tagObj.key()) else: snpObj.domain_tags.append(tagObj.key()) snpObj.put() self.out();