def WriteCSV(rows):
			with open(filename, 'w') as f:
				writer = UnicodeWriter(f)
				writer.writerow(all_field_names)
				for row in rows:
					doc_index = row.doc_index
					doc_id = row.doc_id
					doc_content = self.SanitizeText(row.doc_content.decode('utf-8'))
					values = [u''] * field_count
					for d in self.db(self.db.metadata.doc_index == doc_index).select(self.db.metadata.field_index, self.db.metadata.value):
						values[d.field_index] = self.SanitizeText(d.value.decode('utf-8'))
					all_values = [ doc_id, doc_content ] + values
					writer.writerow(all_values)
	def GenerateNormalResponse( self ):
		if self.IsJsonFormat():
			data = { 'configs' : self.configs }
			data.update(self.content)
			dataStr = json.dumps( self.content, encoding = 'utf-8', indent = 2, sort_keys = True )
			self.response.headers['Content-Type'] = 'application/json'
			if self.HasAllowedOrigin():
				self.response.headers['Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
			return dataStr

		if self.IsCSVFormat():
			f = cStringIO.StringIO()
			writer = UnicodeWriter(f)
			writer.writerow( [ d['name'] for d in self.header ] )
			for record in self.table:
				row = [ record[d['name']] for d in self.header ]
				writer.writerow(row)
			dataStr = f.getvalue()
			f.close()
			self.response.headers['Content-Type'] = 'text/csv; charset=utf-8'
			if self.HasAllowedOrigin():
				self.response.headers['Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
			return dataStr
		
		if self.IsTSVFormat():
			headerStr = u'\t'.join( d['name'] for d in self.header )
			rowStrs = []
			for record in self.table:
				rowStrs.append( u'\t'.join( u'{}'.format( record[d['name']]) for d in self.header ) )
			tableStr = u'\n'.join(rowStrs)
			dataStr = u'{}\n{}\n'.format( headerStr, tableStr ).encode('utf-8')
			self.response.headers['Content-Type'] = 'text/tab-separated-values; charset=utf-8'
			if self.HasAllowedOrigin():
				self.response.headers['Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
			return dataStr
	
		data = {
			'configs' : self.configs,
			'menus' : self.menus,
			'params' : self.params
		}
		data.update( self.content )
		data['content'] = json.dumps( self.content, encoding = 'utf-8', indent = 2, sort_keys = True )
		self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
		if self.HasAllowedOrigin():
			self.response.headers['Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
		return data
Beispiel #3
0
    def GenerateNormalResponse(self):
        if self.IsJsonFormat():
            data = {'configs': self.configs}
            data.update(self.content)
            dataStr = json.dumps(self.content,
                                 encoding='utf-8',
                                 indent=2,
                                 sort_keys=True)
            self.response.headers['Content-Type'] = 'application/json'
            if self.HasAllowedOrigin():
                self.response.headers[
                    'Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
            return dataStr

        if self.IsCSVFormat():
            f = cStringIO.StringIO()
            writer = UnicodeWriter(f)
            writer.writerow([d['name'] for d in self.header])
            for record in self.table:
                row = [record[d['name']] for d in self.header]
                writer.writerow(row)
            dataStr = f.getvalue()
            f.close()
            self.response.headers['Content-Type'] = 'text/csv; charset=utf-8'
            if self.HasAllowedOrigin():
                self.response.headers[
                    'Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
            return dataStr

        if self.IsTSVFormat():
            headerStr = u'\t'.join(d['name'] for d in self.header)
            rowStrs = []
            for record in self.table:
                rowStrs.append(u'\t'.join(u'{}'.format(record[d['name']])
                                          for d in self.header))
            tableStr = u'\n'.join(rowStrs)
            dataStr = u'{}\n{}\n'.format(headerStr, tableStr).encode('utf-8')
            self.response.headers[
                'Content-Type'] = 'text/tab-separated-values; charset=utf-8'
            if self.HasAllowedOrigin():
                self.response.headers[
                    'Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
            return dataStr

        data = {
            'configs': self.configs,
            'menus': self.menus,
            'params': self.params
        }
        data.update(self.content)
        data['content'] = json.dumps(self.content,
                                     encoding='utf-8',
                                     indent=2,
                                     sort_keys=True)
        self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
        if self.HasAllowedOrigin():
            self.response.headers[
                'Access-Control-Allow-Origin'] = self.GetAllowedOrigin()
        return data
		def WriteCSV(rows):
			with open(filename, 'w') as f:
				writer = UnicodeWriter(f)
				writer.writerow(all_field_names)
				for row in rows:
					doc_index = row.doc_index
					doc_id = row.doc_id
					doc_content = self.SanitizeText(row.doc_content.decode('utf-8'))
					values = [u''] * field_count
					for d in self.db(self.db.metadata.doc_index == doc_index).select(self.db.metadata.field_index, self.db.metadata.value):
						values[d.field_index] = self.SanitizeText(d.value.decode('utf-8'))
					all_values = [ doc_id, doc_content ] + values
					writer.writerow(all_values)