about summary refs log tree commit diff
path: root/wqflask/base/webqtlTrait.py
diff options
context:
space:
mode:
authorZachary Sloan2012-11-30 18:03:52 -0600
committerZachary Sloan2012-11-30 18:03:52 -0600
commit43f69f26507d934a15d8e8d20f0ac3023fdb7691 (patch)
tree6f88f014447eed5533e4e8aa46f33a2843867203 /wqflask/base/webqtlTrait.py
parentb8fa8728b7afebbada49f29b85fa5db40e137e1b (diff)
downloadgenenetwork2-43f69f26507d934a15d8e8d20f0ac3023fdb7691.tar.gz
Started switching to using basic sqlalchemy to handle db connection/queries
Began fixing bugs related to this fix, still in progress
Diffstat (limited to 'wqflask/base/webqtlTrait.py')
-rwxr-xr-xwqflask/base/webqtlTrait.py69
1 files changed, 39 insertions, 30 deletions
diff --git a/wqflask/base/webqtlTrait.py b/wqflask/base/webqtlTrait.py
index cc0e2321..1dceba08 100755
--- a/wqflask/base/webqtlTrait.py
+++ b/wqflask/base/webqtlTrait.py
@@ -12,6 +12,7 @@ from utility import webqtlUtil
 
 from pprint import pformat as pf
 
+from flask import Flask, g
 
 class webqtlTrait:
     """
@@ -20,38 +21,46 @@ class webqtlTrait:
 
     """
 
-    def __init__(self, db_conn, **kw):
+    def __init__(self, **kw):
         print("in webqtlTrait")
-        self.db_conn = db_conn
-        self.cursor = self.db_conn.cursor()
-        self.dataset = None                  # database object
-        self.name = ''                  # Trait ID, ProbeSet ID, Published ID, etc.
-        self.cellid = ''
-        self.identification = 'un-named trait'
-        self.group = ''
-        self.haveinfo = 0
-        self.sequence = ''              # Blat sequence, available for ProbeSet
-        self.data = {}
-        print("foo")
-        print("kw in webqtlTrait are:", pf(kw))
-        print("printed\n\n")
-        for name, value in kw.items():
-            if self.__dict__.has_key(name):
-                setattr(self, name, value)
-            elif name == 'fullname':
-                name2 = value.split("::")
-                if len(name2) == 2:
-                    self.dataset, self.name = name2
-                elif len(name2) == 3:
-                    self.dataset, self.name, self.cellid = name2
-                else:
-                    raise KeyError, repr(value) + ' parameter format error.'
-            else:
-                raise KeyError, repr(name) + ' not a valid parameter for this class.'
+        #self.db_conn = db_conn
+        #self.cursor = self.db_conn.cursor()
+        self.dataset = kw.get('dataset', None)                  # database object
+        self.name = kw.get('name', None)                 # Trait ID, ProbeSet ID, Published ID, etc.
+        self.cellid = kw.get('cellid', None)
+        self.identification = kw.get('identification', 'un-named trait')
+        self.group = kw.get('group', None)
+        self.haveinfo = kw.get(haveinfo, False)
+        self.sequence = kw.get(sequence, None)              # Blat sequence, available for ProbeSet
+        self.data = kw.get(data, {})
+        
+        if kw.get('fullname'):
+            name2 = value.split("::")
+            if len(name2) == 2:
+                self.dataset, self.name = name2
+            elif len(name2) == 3:
+                self.dataset, self.name, self.cellid = name2
+                
+        #print("foo")
+        #print("kw in webqtlTrait are:", pf(kw))
+        #print("printed\n\n")
+        #for name, value in kw.items():
+        #    if self.__dict__.has_key(name):
+        #        setattr(self, name, value)
+        #    elif name == 'fullname':
+        #        name2 = value.split("::")
+        #        if len(name2) == 2:
+        #            self.dataset, self.name = name2
+        #        elif len(name2) == 3:
+        #            self.dataset, self.name, self.cellid = name2
+        #        else:
+        #            raise KeyError, repr(value) + ' parameter format error.'
+        #    else:
+        #        raise KeyError, repr(name) + ' not a valid parameter for this class.'
 
         if self.dataset and isinstance(self.dataset, basestring):
-            assert self.cursor, "Don't have a cursor"
-            self.dataset = create_dataset(self.db_conn, self.dataset)
+            #assert self.cursor, "Don't have a cursor"
+            self.dataset = create_dataset(self.dataset)
 
         #if self.dataset == None, not from a database
         print("self.dataset is:", self.dataset, type(self.dataset))
@@ -432,7 +441,7 @@ class webqtlTrait:
         self.cursor.execute(query)
         traitInfo = self.cursor.fetchone()
         if traitInfo:
-            self.haveinfo = 1
+            self.haveinfo = True
 
             #XZ: assign SQL query result to trait attributes.
             for i, field in enumerate(self.dataset.display_fields):