Exemplo n.º 1
0
class CsvDump(Download):
    ext = 'csv'

    def __init__(self, model, pkg, fields=None, **kw):
        """fields can be a list of column names or a dictionary mapping model attribute
        names to csv column names.
        """
        super(CsvDump, self).__init__(model, pkg, **kw)
        self.fields = fields
        self.writer = None

    def get_fields(self, req):
        if not self.fields:
            self.fields = ['id', 'name']
        return self.fields

    def before(self, req, fp):
        self.writer = UnicodeCsvWriter(fp)
        self.writer.writerow(
            [f if isinstance(f, basestring) else f[1] for f in self.get_fields(req)])

    def row(self, req, fp, item, index):
        return [getattr(item, f if isinstance(f, basestring) else f[0])
                for f in self.get_fields(req)]

    def dump(self, req, fp, item, index):
        self.writer.writerow(self.row(req, fp, item, index))
Exemplo n.º 2
0
class CsvDump(Download):
    ext = 'csv'

    def __init__(self, model, pkg, fields=None, **kw):
        """fields can be a list of column names or a dictionary mapping model attribute
        names to csv column names.
        """
        super(CsvDump, self).__init__(model, pkg, **kw)
        self.fields = fields
        self.writer = None

    def get_fields(self, req):
        if not self.fields:
            self.fields = ['id', 'name']
        return self.fields

    def before(self, req, fp):
        self.writer = UnicodeCsvWriter(fp)
        self.writer.writerow([
            f if isinstance(f, basestring) else f[1]
            for f in self.get_fields(req)
        ])

    def row(self, req, fp, item, index):
        return [
            getattr(item, f if isinstance(f, basestring) else f[0])
            for f in self.get_fields(req)
        ]

    def dump(self, req, fp, item, index):
        self.writer.writerow(self.row(req, fp, item, index))
Exemplo n.º 3
0
class CsvDump(Download):
    ext = 'csv'

    def __init__(self, model, pkg, fields=None, **kw):
        kw['fields'] = fields or ['id', 'name']
        super(CsvDump, self).__init__(model, pkg, **kw)
        self.writer = None

    def before(self, req, fp):
        self.writer = UnicodeCsvWriter(fp)
        self.writer.writerow(
            [f if isinstance(f, basestring) else f[1] for f in self.fields])

    def row(self, req, fp, item, index):
        return [getattr(item, f if isinstance(f, basestring) else f[0])
                for f in self.fields]

    def dump(self, req, fp, item, index):
        self.writer.writerow(self.row(req, fp, item, index))
Exemplo n.º 4
0
 def before(self, req, fp):
     self.writer = UnicodeCsvWriter(fp)
     self.writer.writerow(
         [f if isinstance(f, basestring) else f[1] for f in self.fields])
Exemplo n.º 5
0
 def before(self, req, fp):
     self.writer = UnicodeCsvWriter(fp)
     self.writer.writerow(
         [f if isinstance(f, basestring) else f[1] for f in self.get_fields(req)])