diff options
Diffstat (limited to 'web/webqtl/showTrait/exportPage.py')
-rwxr-xr-x | web/webqtl/showTrait/exportPage.py | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/web/webqtl/showTrait/exportPage.py b/web/webqtl/showTrait/exportPage.py deleted file mode 100755 index ff3f12a1..00000000 --- a/web/webqtl/showTrait/exportPage.py +++ /dev/null @@ -1,141 +0,0 @@ -import string -import os -import re -import cPickle -import pyXLWriter as xl - -from base import webqtlConfig -from utility import webqtlUtil -from base.templatePage import templatePage - -class ExportPage(templatePage): - - def __init__(self, fd): - - templatePage.__init__(self, fd) - - filename = webqtlUtil.genRandStr("Export_") - workbook = xl.Writer('%s.xls' % (webqtlConfig.TMPDIR+filename)) - style_formats = [] #Array with Excel style formats - Zach 9/2/2011 - heading = workbook.add_format(align = 'center', bold = 1, border = 1, size=13, fg_color = 0x1E, color="white") #Style for the header cells - right = workbook.add_format(align = 'right') #Style to align cell contents to the right - style_formats.append(heading) - style_formats.append(right) - worksheet = workbook.add_worksheet() - - primaryStrainNames = fd.formdata.getvalue('strainNames', '').split(',') - primaryVals = fd.formdata.getvalue('strainVals', '').split(',') - primaryVars = fd.formdata.getvalue('strainVars', '').split(',') - otherStrainNames = fd.formdata.getvalue('otherStrainNames', '').split(',') - otherVals = fd.formdata.getvalue('otherStrainVals', '').split(',') - otherVars = fd.formdata.getvalue('otherStrainVars', '').split(',') - attributeData = fd.formdata.getvalue('extra_attributes', '') - otherAttributeData = fd.formdata.getvalue('other_extra_attributes', '') - - #ZS: This section is to parse the attribute formdata string - attributeTypes = attributeData.split('/') - otherAttributeTypes = otherAttributeData.split('/') - - attributeNames = [] - attributeVals = [] - for i in range(len(attributeTypes)): - if i < len(attributeTypes) - 1: - attributeNames.append(attributeTypes[i].split(':')[0]) - attributeVals.append(attributeTypes[i].split(':')[1].split(',')) - else: - break - - otherAttributeNames = [] - otherAttributeVals = [] - for i in range(len(otherAttributeTypes)): - if i < len(otherAttributeTypes) - 1: - otherAttributeNames.append(otherAttributeTypes[i].split(':')[0]) - otherAttributeVals.append(otherAttributeTypes[i].split(':')[1].split(',')) - else: - break - - varsExist = 0 #ZS: Even if there are no variances "primaryVars" would still be populated with empty values, so we need to check if there really are any - for i in range(len(primaryVars)): - if primaryVars[i] != '': - varsExist = 1 - break - - otherStrainsExist = 0 #ZS: Same as above; checking to see if there's a set of "other" (non-primary) strains - for i in range(len(otherStrainNames)): - if otherStrainNames[i] != '': - otherStrainsExist = 1 - break - - if varsExist == 1: - column_headers = ["Sample", "Value", " SE "] #ZS: Names of the header for each column in the excel worksheet - else: - column_headers = ["Sample", "Value"] - - - for attr_name in attributeNames: - column_headers.append(attr_name) - - start_line = 0 #Gets last line of "primary" strain values to define a start-point for "other" strain values - for ncol, item in enumerate(column_headers): - worksheet.write([start_line, ncol], item, style_formats[0]) - worksheet.set_column([ncol, ncol], 2*len(item)) - - start_line += 1 - last_line = start_line - - for i in range(len(primaryStrainNames)): - ncol = 0 - if varsExist == 1: - for ncol, item in enumerate([primaryStrainNames[i], primaryVals[i], primaryVars[i]]): - worksheet.write([start_line + i, ncol], item, style_formats[1]) - ncol += 1 - else: - for ncol, item in enumerate([primaryStrainNames[i], primaryVals[i]]): - worksheet.write([start_line + i, ncol], item, style_formats[1]) - ncol += 1 - - for attribute_type in attributeVals: - worksheet.write([start_line + i, ncol], attribute_type[i], style_formats[1]) - ncol += 1 - - last_line += 1 - - if otherStrainsExist == 1: - start_line = last_line + 2 - - for ncol, item in enumerate(column_headers): - worksheet.write([start_line, ncol], item, style_formats[0]) - worksheet.set_column([ncol, ncol], 2*len(item)) - start_line += 1 - - for i in range(len(otherStrainNames)): - ncol = 0 - if varsExist == 1: - for ncol, item in enumerate([otherStrainNames[i], otherVals[i], otherVars[i]]): - worksheet.write([start_line + i, ncol], item, style_formats[1]) - ncol += 1 - else: - for ncol, item in enumerate([otherStrainNames[i], otherVals[i]]): - worksheet.write([start_line + i, ncol], item, style_formats[1]) - - for attribute_type in otherAttributeVals: - worksheet.write([start_line + i, ncol], attribute_type[i], style_formats[1]) - ncol += 1 - - workbook.close() - - full_filename = os.path.join(webqtlConfig.TMPDIR, '%s.xls' % filename) - fp = open(full_filename, 'rb') - text = fp.read() - fp.close() - - self.content_type = 'application/xls' - self.content_disposition = 'attachment; filename=%s' % ('%s.xls' % filename) - self.attachment = text - - - - - - - |