def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) authorization.VerifyIsDataSetManager(credInfo, databaseName) encodedstr = returndata['content'] content = DQXbase64.b64decode_var2(encodedstr) baseFolder = config.SOURCEDATADIR + '/datasets' genomeFolder = os.path.join(baseFolder, databaseName, 'refgenome') settingsFile = os.path.join(genomeFolder, 'chromosomes') try: if not os.path.exists(genomeFolder): os.makedirs(genomeFolder) with open(settingsFile, 'w') as fp: fp.write(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) authorization.VerifyIsDataSetManager(credInfo, databaseName) encodedstr = returndata['content'] content = DQXbase64.b64decode_var2(encodedstr) baseFolder = config.SOURCEDATADIR + '/datasets' genomeFolder = os.path.join(baseFolder, databaseName, 'refgenome') settingsFile = os.path.join(genomeFolder, 'settings') try: if not os.path.exists(genomeFolder): os.makedirs(genomeFolder) with open(settingsFile, 'w') as fp: fp.write(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.CredentialInformation(returndata) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = os.path.join(baseFolder, databaseName, 'refgenome', 'chromosomes') try: if not os.path.exists(settingsFile): returndata['content'] = DQXbase64.b64encode_var2('chrom length\nChrom_01\t1.54\nChrom_02\t0.85\n') else: with open(settingsFile, 'r') as fp: content = fp.read() returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.CredentialInformation(returndata) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = os.path.join(baseFolder, databaseName, 'refgenome', 'settings') try: if not os.path.exists(settingsFile): returndata['content'] = DQXbase64.b64encode_var2('AnnotMaxViewPortSize: 750000 # Maximum viewport (in bp) the genome browser can have in order to show the annotation track\nRefSequenceSumm: No # Include a summary track displaying the reference sequence\n') else: with open(settingsFile, 'r') as fp: content = fp.read() returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): filename=returndata['name'] #!!!todo: add more integrity checks for the filename if filename.find('..')>=0: raise Exception('Invalid file name') f=open(config.BASEDIR+'/'+filename+'.txt') content=f.read() f.close() returndata['content']=DQXbase64.b64encode_var2(content) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = os.path.join(baseFolder, databaseName, 'refgenome', 'chromosomes') try: if not os.path.exists(settingsFile): returndata['content'] = DQXbase64.b64encode_var2( 'chrom length\nChrom_01\t1.54\nChrom_02\t0.85\n') else: with open(settingsFile, 'r') as fp: content = fp.read() returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) sourcetype = DQXDbTools.ToSafeIdentifier(returndata['sourcetype']) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) workspaceid = DQXDbTools.ToSafeIdentifier(returndata['workspaceid']) tableid = DQXDbTools.ToSafeIdentifier(returndata['tableid']) sourceid = DQXDbTools.ToSafeIdentifier(returndata['sourceid']) contentid = returndata['contentid'] filename = os.path.join(config.BASEDIR, 'temp', 'store_' + contentid) with open(filename, 'r') as fp: encodedstr = fp.read() os.remove(filename) content = DQXbase64.b64decode_var2(encodedstr) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = None if sourcetype == 'dataset': settingsFile = os.path.join(baseFolder, databaseName, 'settings') authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == 'datatable': settingsFile = os.path.join(baseFolder, databaseName, 'datatables', tableid, 'settings') authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == 'workspace': settingsFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'settings') credInfo.VerifyCanDo( DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) if sourcetype == 'customdata': settingsFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'customdata', tableid, sourceid, 'settings') credInfo.VerifyCanDo( DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) if settingsFile is None: returndata['Error'] = 'Invalid file source type' return returndata try: with open(settingsFile, 'w') as fp: fp.write(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = os.path.join(baseFolder, databaseName, 'refgenome', 'settings') try: if not os.path.exists(settingsFile): returndata['content'] = DQXbase64.b64encode_var2( 'AnnotMaxViewPortSize: 750000 # Maximum viewport (in bp) the genome browser can have in order to show the annotation track\nRefSequenceSumm: No # Include a summary track displaying the reference sequence\n' ) else: with open(settingsFile, 'r') as fp: content = fp.read() returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.CredentialInformation(returndata) sourcetype = DQXDbTools.ToSafeIdentifier(returndata["sourcetype"]) databaseName = DQXDbTools.ToSafeIdentifier(returndata["database"]) workspaceid = DQXDbTools.ToSafeIdentifier(returndata["workspaceid"]) tableid = DQXDbTools.ToSafeIdentifier(returndata["tableid"]) sourceid = DQXDbTools.ToSafeIdentifier(returndata["sourceid"]) contentid = returndata["contentid"] filename = os.path.join(config.BASEDIR, "temp", "store_" + contentid) with open(filename, "r") as fp: encodedstr = fp.read() os.remove(filename) content = DQXbase64.b64decode_var2(encodedstr) baseFolder = config.SOURCEDATADIR + "/datasets" settingsFile = None if sourcetype == "dataset": settingsFile = os.path.join(baseFolder, databaseName, "settings") authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == "datatable": settingsFile = os.path.join(baseFolder, databaseName, "datatables", tableid, "settings") authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == "2D_datatable": settingsFile = os.path.join(baseFolder, databaseName, "2D_datatables", tableid, "settings") authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == "workspace": settingsFile = os.path.join(baseFolder, databaseName, "workspaces", workspaceid, "settings") credInfo.VerifyCanDo(DQXDbTools.DbOperationWrite(databaseName, "workspaces")) if sourcetype == "customdata": settingsFile = os.path.join( baseFolder, databaseName, "workspaces", workspaceid, "customdata", tableid, sourceid, "settings" ) credInfo.VerifyCanDo(DQXDbTools.DbOperationWrite(databaseName, "workspaces")) if settingsFile is None: returndata["Error"] = "Invalid file source type" return returndata try: with open(settingsFile, "w") as fp: fp.write(content) except Exception as e: returndata["Error"] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) sourcetype = DQXDbTools.ToSafeIdentifier(returndata['sourcetype']) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) workspaceid = DQXDbTools.ToSafeIdentifier(returndata['workspaceid']) tableid = DQXDbTools.ToSafeIdentifier(returndata['tableid']) sourceid = DQXDbTools.ToSafeIdentifier(returndata['sourceid']) contentid = returndata['contentid'] filename = os.path.join(config.BASEDIR, 'temp', 'store_'+contentid) with open(filename, 'r') as fp: encodedstr = fp.read() os.remove(filename) content = DQXbase64.b64decode_var2(encodedstr) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = None if sourcetype == 'dataset': settingsFile = os.path.join(baseFolder, databaseName, 'settings') authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == 'datatable': settingsFile = os.path.join(baseFolder, databaseName, 'datatables', tableid, 'settings') authorization.VerifyIsDataSetManager(credInfo, databaseName) if sourcetype == 'workspace': settingsFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'settings') credInfo.VerifyCanDo(DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) if sourcetype == 'customdata': settingsFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'customdata', tableid, sourceid, 'settings') credInfo.VerifyCanDo(DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) if settingsFile is None: returndata['Error'] = 'Invalid file source type' return returndata try: with open(settingsFile, 'w') as fp: fp.write(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) sourcetype = DQXDbTools.ToSafeIdentifier(returndata['sourcetype']) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) workspaceid = DQXDbTools.ToSafeIdentifier(returndata['workspaceid']) tableid = DQXDbTools.ToSafeIdentifier(returndata['tableid']) sourceid = DQXDbTools.ToSafeIdentifier(returndata['sourceid']) credInfo.VerifyCanDo( DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) baseFolder = config.SOURCEDATADIR + '/datasets' dataFile = None if sourcetype == 'datatable': dataFile = os.path.join(baseFolder, databaseName, 'datatables', tableid, 'data') if sourcetype == 'customdata': dataFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'customdata', tableid, sourceid, 'data') if dataFile is None: returndata['Error'] = 'Invalid file source type' return returndata try: if not os.path.exists(dataFile): returndata['content'] = '' else: with open(dataFile, 'r') as fp: content = '' linecount = 0 for line in fp: content += line if linecount > 100: break linecount += 1 returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.CredentialInformation(returndata) sourcetype = DQXDbTools.ToSafeIdentifier(returndata['sourcetype']) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) workspaceid = DQXDbTools.ToSafeIdentifier(returndata['workspaceid']) tableid = DQXDbTools.ToSafeIdentifier(returndata['tableid']) sourceid = DQXDbTools.ToSafeIdentifier(returndata['sourceid']) credInfo.VerifyCanDo(DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) baseFolder = config.SOURCEDATADIR + '/datasets' settingsFile = None if sourcetype == 'dataset': settingsFile = os.path.join(baseFolder, databaseName, 'settings') if sourcetype == 'datatable': settingsFile = os.path.join(baseFolder, databaseName, 'datatables', tableid, 'settings') if sourcetype == '2D_datatable': settingsFile = os.path.join(baseFolder, databaseName, '2D_datatables', tableid, 'settings') if sourcetype == 'customdata': settingsFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'customdata', tableid, sourceid, 'settings') if sourcetype == 'workspace': settingsFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'settings') if settingsFile is None: returndata['Error'] = 'Invalid file source type' return returndata try: if not os.path.exists(settingsFile): returndata['content'] = '' else: with open(settingsFile, 'r') as fp: content = fp.read() returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): credInfo = DQXDbTools.ParseCredentialInfo(returndata) sourcetype = DQXDbTools.ToSafeIdentifier(returndata['sourcetype']) databaseName = DQXDbTools.ToSafeIdentifier(returndata['database']) workspaceid = DQXDbTools.ToSafeIdentifier(returndata['workspaceid']) tableid = DQXDbTools.ToSafeIdentifier(returndata['tableid']) sourceid = DQXDbTools.ToSafeIdentifier(returndata['sourceid']) credInfo.VerifyCanDo(DQXDbTools.DbOperationWrite(databaseName, 'workspaces')) baseFolder = config.SOURCEDATADIR + '/datasets' dataFile = None if sourcetype == 'datatable': dataFile = os.path.join(baseFolder, databaseName, 'datatables', tableid, 'data') if sourcetype == 'customdata': dataFile = os.path.join(baseFolder, databaseName, 'workspaces', workspaceid, 'customdata', tableid, sourceid, 'data') if dataFile is None: returndata['Error'] = 'Invalid file source type' return returndata try: if not os.path.exists(dataFile): returndata['content'] = '' else: with open(dataFile, 'r') as fp: content = '' linecount = 0 for line in fp: content += line if linecount > 100: break linecount += 1 returndata['content'] = DQXbase64.b64encode_var2(content) except Exception as e: returndata['Error'] = str(e) return returndata
def response(returndata): url = returndata['url'] cache = getCache() cacheKey = json.dumps([url]) returndata['content'] = None use_cache = returndata['cache'] and not os.getenv('STAGING', '') if use_cache: try: returndata['content'] = cache[cacheKey] except KeyError: pass if returndata['content'] is None: file = urllib.request.urlopen(url) data = file.read() file.close() data = xmltodict.parse(data) returndata['content'] = DQXbase64.b64encode_var2(json.dumps(data)) if use_cache: cache[cacheKey] = returndata['content'] return returndata
def Decode(self, str, noBase64=False): if not noBase64: str = DQXbase64.b64decode_var2(str) self.query = simplejson.loads(str) pass
def Decode(self, encodedstr): decodedstr = DQXbase64.b64decode_var2(encodedstr) self.query = simplejson.loads(decodedstr) pass