# 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 httplib from dbFunction import webqtlDatabaseFunction import SharingBody ######################################### # Sharing Info ######################################### class SharingInfo: def __init__(self, GN_AccessionId, InfoPageName): self.GN_AccessionId = GN_AccessionId self.InfoPageName = InfoPageName def getInfo(self): cursor = webqtlDatabaseFunction.getCursor() if (not cursor): return sql = "select Id, GEO_Series, Status, Title, Organism, Experiment_Type, Summary, Overall_Design, Contributor, Citation, Submission_Date, Contact_Name, Emails, Phone, URL, Organization_Name, Department, Laboratory, Street, City, State, ZIP, Country, Platforms, Samples, Species, Normalization, InbredSet, InfoPageName, DB_Name, Organism_Id, InfoPageTitle, GN_AccesionId, Tissue, AuthorizedUsers, About_Cases, About_Tissue, About_Download, About_Array_Platform, About_Data_Values_Processing, Data_Source_Acknowledge, Progreso from InfoFiles where " if(self.GN_AccessionId): sql += "GN_AccesionId = %s" cursor.execute(sql, self.GN_AccessionId) elif (self.InfoPageName): sql += "InfoPageName = %s" cursor.execute(sql, self.InfoPageName) else: raise 'No correct parameter found' info = cursor.fetchone() # fetch datasets file list try: conn = httplib.HTTPConnection("atlas.uthsc.edu") conn.request("GET", "/scandatasets.php?GN_AccesionId=%s" % (info[32])) response = conn.getresponse() data = response.read() filelist = data.split() conn.close() except Exception: filelist = [] return info, filelist def getBody(self, infoupdate=""): info, filelist = self.getInfo() if filelist: htmlfilelist = '