about summary refs log tree commit diff
path: root/web/webqtl/schema/UpdateCommentPage.py
diff options
context:
space:
mode:
Diffstat (limited to 'web/webqtl/schema/UpdateCommentPage.py')
-rwxr-xr-xweb/webqtl/schema/UpdateCommentPage.py101
1 files changed, 101 insertions, 0 deletions
diff --git a/web/webqtl/schema/UpdateCommentPage.py b/web/webqtl/schema/UpdateCommentPage.py
new file mode 100755
index 00000000..eb1dbb67
--- /dev/null
+++ b/web/webqtl/schema/UpdateCommentPage.py
@@ -0,0 +1,101 @@
+# Copyright (C) University of Tennessee Health Science Center, Memphis, TN.
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License
+# as published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU Affero General Public License for more details.
+#
+# This program is available from Source Forge: at GeneNetwork Project
+# (sourceforge.net/projects/genenetwork/).
+#
+# Contact Drs. Robert W. Williams and Xiaodong Zhou (2010)
+# at rwilliams@uthsc.edu and xzhou15@uthsc.edu
+#
+#
+#
+# This module is used by GeneNetwork project (www.genenetwork.org)
+#
+# Created by GeneNetwork Core Team 2010/08/10
+#
+# Last updated by GeneNetwork Core Team 2010/10/20
+
+import sys
+
+from htmlgen import HTMLgen2 as HT
+
+from base.templatePage import templatePage
+from base import webqtlConfig
+
+
+class UpdateCommentPage(templatePage):
+    def __init__(self,fd):
+        sys.stderr = sys.stdout
+        templatePage.__init__(self, fd)
+        body = HT.SimpleDocument()        
+
+        if not self.updMysql():
+        #{
+            print 'Content-type: text/html\n'
+            print 'Can not update the comment of %s' %(TableName)
+            return
+        #}
+
+
+        Cursor_Comment=self.cursor
+        TableName = fd.formdata.getfirst('TableName')
+        Comment = fd.formdata.getfirst('Comment')
+
+        ########################
+        #update table's comment#
+        ########################
+        Cursor_Comment.execute('select * from TableComments where TableName=%s', (TableName))
+        if Cursor_Comment.fetchall():
+            Cursor_Comment.execute('update TableComments set Comment=%s where TableName=%s', (Comment, TableName))
+        else:
+            Cursor_Comment.execute('insert into TableComments values(%s,%s)', (TableName, Comment))
+
+
+        #################################
+        #update table fields' annotation#
+        #################################
+        try:
+        #{
+            Cursor_Comment.execute('desc %s' %(TableName))
+            TableDesc = Cursor_Comment.fetchall()
+            for i in range(0, len(TableDesc)):
+            #{
+                TableField = TableName+'.'+str(TableDesc[i][0])
+                TableFieldForeignKey = TableField+'ForeignKey'
+                TableFieldAnnotation = TableField+'Annotation'
+
+                ForeignKey = fd.formdata.getfirst(TableFieldForeignKey)
+                if ForeignKey == 'None':
+                    ForeignKey=''
+                Annotation = fd.formdata.getfirst(TableFieldAnnotation)
+                if Annotation == 'None':
+                    Annotation=' '
+
+                Cursor_Comment.execute('select * from TableFieldAnnotation where TableField=%s', (TableField))
+                if Cursor_Comment.fetchall():
+                    Cursor_Comment.execute('update TableFieldAnnotation set Foreign_Key=%s, Annotation=%s where TableField=%s', (ForeignKey, Annotation, TableField))
+                else:
+                    Cursor_Comment.execute('insert into TableFieldAnnotation values(%s,%s,%s)', (TableField, ForeignKey, Annotation))
+            #}
+        #}
+        except:
+            pass
+
+        HtmlHref = HT.Href(webqtlConfig.CGIDIR+'main.py?FormID=schemaShowPage#%s' %(TableName), 'table')
+        HtmlBlock = HT.Blockquote();
+        HtmlBlock.append('This ')
+        HtmlBlock.append(HtmlHref)
+        HtmlBlock.append('\'s comment has been succesfully updated')
+
+        body.append(HtmlBlock)
+        self.dict['body'] = body
+