Changeset 509
- Timestamp:
- 09/04/06 11:29:30
- Files:
-
- qTopic/trunk/qTopic.py (modified) (5 diffs)
- qTopic/trunk/skins/qtopic/export_csv.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qTopic/trunk/qTopic.py
r508 r509 17 17 from Products.CMFPlone.PloneBatch import Batch 18 18 from Products.ATContentTypes.config import TOOLNAME 19 from StringIO import StringIO 20 from csv import DictWriter 21 import csv 19 22 20 23 qTopic_schema = ATTopicSchema.copy() + Schema(( … … 46 49 )) 47 50 qTopic_schema["customViewFields"].schemata = "export" 48 qTopic_schema["customViewFields"].vocabulary = " getFieldsList"51 qTopic_schema["customViewFields"].vocabulary = "listMetaDataFields" 49 52 qTopic_schema["customViewFields"].default=("id","getFullName","getEmail") 50 53 … … 77 80 catalogs = at_tool.getCatalogsInSite() 78 81 return DisplayList(zip(catalogs, catalogs)) 79 80 def getFieldsList(self):81 """ return DisplayList of fields82 """83 pcatalog = getToolByName( self, self.getCatalog() )84 available = pcatalog.schema()85 val = [ field86 for field in available87 if field not in IGNORED_FIELDS88 ]89 val.sort(lambda x,y: strcoll(self.translate(x),self.translate( y)))90 return [(i, i, i)for i in val]91 82 92 83 security.declareProtected(ChangeTopics, "criteriaByIndexId") … … 114 105 allowed = DisplayList(flat) 115 106 return allowed 116 """ 117 security.declareProtected(ChangeTopics, "listFields") 118 def listFields(self): 119 pcatalog = getToolByName( self, self.getCatalog() ) 120 available = pcatalog.indexes() 121 val = [ field 122 for field in available 123 if field not in IGNORED_FIELDS 124 ] 125 val.sort(lambda x,y: strcoll(self.translate(x),self.translate( y))) 126 return [(i, i, i)for i in val] 127 """ 107 128 108 security.declareProtected(ChangeTopics, "listFields") 129 109 def listFields(self): … … 202 182 return results 203 183 184 def toCSV(self, fields, data): 185 dialect = csv.excel() 186 dialect.delimiter = self.getDelimiter() 187 buffer = StringIO() 188 writer = DictWriter(buffer, fieldnames=fields, dialect=dialect) 189 writer.writerow(dict(zip(fields, fields))) 190 writer.writerows(data) 191 return buffer.getvalue() 204 192 205 193 qTopic/trunk/skins/qtopic/export_csv.py
r508 r509 7 7 ##bind subpath=traverse_subpath 8 8 ##parameters=download=0,fields=None,show_header=1 9 from Products.qTopic.utils import toCSV10 9 if download: 11 10 context.REQUEST.RESPONSE.setHeader('Content-Type', 'plain/text') … … 17 16 for r in res: 18 17 csv_data.append(dict([(f, getattr(r, f, ''))for f in fields])) 19 print toCSV(fields, csv_data) 20 return printed 18 return context.toCSV(fields, csv_data)
