web/views/csvexport.py
changeset 10695 321b99973b69
parent 10666 7f6b5f023884
child 10907 9ae707db5265
equal deleted inserted replaced
10694:7ece2df9cc5c 10695:321b99973b69
    18 """csv export views"""
    18 """csv export views"""
    19 
    19 
    20 __docformat__ = "restructuredtext en"
    20 __docformat__ = "restructuredtext en"
    21 from cubicweb import _
    21 from cubicweb import _
    22 
    22 
       
    23 from six import PY2
    23 from six.moves import range
    24 from six.moves import range
    24 
    25 
    25 from cubicweb.schema import display_name
    26 from cubicweb.schema import display_name
    26 from cubicweb.predicates import any_rset, empty_rset
    27 from cubicweb.predicates import any_rset, empty_rset
    27 from cubicweb.uilib import UnicodeCSVWriter
    28 from cubicweb.uilib import UnicodeCSVWriter
    29 
    30 
    30 class CSVMixIn(object):
    31 class CSVMixIn(object):
    31     """mixin class for CSV views"""
    32     """mixin class for CSV views"""
    32     templatable = False
    33     templatable = False
    33     content_type = "text/comma-separated-values"
    34     content_type = "text/comma-separated-values"
    34     binary = True # avoid unicode assertion
    35     binary = PY2 # python csv module is unicode aware in py3k
    35     csv_params = {'dialect': 'excel',
    36     csv_params = {'dialect': 'excel',
    36                   'quotechar': '"',
    37                   'quotechar': '"',
    37                   'delimiter': ';',
    38                   'delimiter': ';',
    38                   'lineterminator': '\n'}
    39                   'lineterminator': '\n'}
    39 
    40