From aaf53058f85f45deb80ab59aa2acbf527b6f717a Mon Sep 17 00:00:00 2001 From: Rami Rauch Date: Wed, 8 Oct 2008 19:44:20 +0000 Subject: [PATCH] Added a LibInfo folder --- .../htswfrontend/htsw_reports/libinfopar.py | 47 ++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/htswfrontend/htswfrontend/htsw_reports/libinfopar.py b/htswfrontend/htswfrontend/htsw_reports/libinfopar.py index 923f114..56c75ad 100644 --- a/htswfrontend/htswfrontend/htsw_reports/libinfopar.py +++ b/htswfrontend/htswfrontend/htsw_reports/libinfopar.py @@ -1,6 +1,12 @@ +from django.http import HttpResponse +from datetime import datetime +from string import * +import re from xml.sax import make_parser from xml.sax.handler import ContentHandler - +import urllib +import urllib2 +import os ''' Example library node from LibraryInfo.xml: @@ -42,9 +48,46 @@ def getLibReads(libid): parser = make_parser() curHandler = LibInfoHandler(searchTerm) parser.setContentHandler(curHandler) - parser.parse(open('/htsworkflow/htswfrontend/htswfrontend/htsw_reports/LibraryInfo.xml')) + parser.parse(open('/htsworkflow/htswfrontend/htswfrontend/htsw_reports/LibInfo/LibraryInfo.xml')) arRes = [] arRes.append(curHandler.LanesCount) arRes.append(curHandler.ReadsCount) return arRes +def getWebPage(url,params): + pdata = urllib.urlencode(params) + req = urllib2.Request(url,pdata) + wpage = urllib2.urlopen(req) + restext = wpage.read() + wpage.close() + return restext + +def refreshLibInfoFile(request): + varStatus = 'getting conf file from exp trac server' + url = 'http://m304-apple-server.stanford.edu/ENCODE/LibraryInfo.xml' + params = {} + readw = getWebPage(url,params) + # make sure file content starts as xml + match_str = re.compile('^<\?xml.+') + if match_str.search(readw): ##tempstr): + # Rename current file with timestamp + year = datetime.today().year.__str__() + year = replace(year,'20','') + month = datetime.today().month + if month < 10: month = "0"+month.__str__() + else: month = month.__str__() + day = datetime.today().day + if day < 10: day = "0"+day.__str__() + else: day = day.__str__() + mydate = year+month+day + folder = '/htsworkflow/htswfrontend/htswfrontend/htsw_reports/LibInfo/' + os.rename(folder+'LibraryInfo.xml',folder+mydate+'_LibraryInfo.xml') + # create file in curret folder + file_path = os.path.join(folder,'LibraryInfo.xml') + f = open(file_path, 'w') + f.write(readw) + f.close() + varStatus = 'OK. LibraryInfo.xml refreshed at Web server.' + else: + varStatus = 'Failed reading valid LibraryInfo.xml server reply:\n'+readw + return HttpResponse(varStatus) -- 2.30.2