src/cm/views/export.py
changeset 360 bfaab8740995
parent 77 fe91eb717a96
child 362 afb7dc8758f5
equal deleted inserted replaced
359:0bab4ef95bfe 360:bfaab8740995
     6 from django.utils.translation import ugettext as _, ugettext_lazy
     6 from django.utils.translation import ugettext as _, ugettext_lazy
     7 from cm.converters.pandoc_converters import pandoc_convert
     7 from cm.converters.pandoc_converters import pandoc_convert
     8 from cm.models import Text, TextVersion, Attachment, Comment
     8 from cm.models import Text, TextVersion, Attachment, Comment
     9 import mimetypes
     9 import mimetypes
    10 import simplejson
    10 import simplejson
       
    11 from cm.cm_settings import USE_ABI
    11 EXPORT2_INFOS = {
    12 EXPORT2_INFOS = {
    12 # key -> { mimetype, extension}
    13 # key -> { mimetype, extension}
    13 's5' :   {},
    14 's5' :   {},
    14 'pdf' :  {'mimetype': 'application/pdf', 'extension':'pdf'},
    15 'pdf' :  {'mimetype': 'application/pdf', 'extension':'pdf'},
    15 'markdown' :  {'mimetype': 'text/plain', 'extension':'mkd'},
    16 'markdown' :  {'mimetype': 'text/plain', 'extension':'mkd'},
    32         if use_pandoc :
    33         if use_pandoc :
    33             export_content = pandoc_convert(content, content_format, format, full=True)
    34             export_content = pandoc_convert(content, content_format, format, full=True)
    34         else :
    35         else :
    35             fix_content = content
    36             fix_content = content
    36             if content_format == 'html':
    37             if content_format == 'html':
    37                 from cm.converters.oo_converters import combine_css_body                
    38                 if USE_ABI:
    38                 fix_content = combine_css_body(content, '')
    39                   from cm.converters.abi_converters import AbiFileConverter
    39             from cm.converters.oo_converters import convert_html as oo_convert                
    40                   converter = AbiFileConverter()
    40             export_content = oo_convert(fix_content, format)
    41                   fix_content = converter.add_html_header(content)
       
    42                 else:
       
    43                   from cm.converters.oo_converters import combine_css_body                
       
    44                   fix_content = combine_css_body(content, '')
       
    45             if USE_ABI:
       
    46               from cm.converters.abi_converters import AbiFileConverter
       
    47               converter = AbiFileConverter()
       
    48               export_content = converter.convert_from_html(fix_content, format)
       
    49             else:
       
    50               from cm.converters.oo_converters import convert_html as oo_convert                
       
    51               export_content = oo_convert(fix_content, format)
    41     
    52     
    42     export_infos = EXPORT2_INFOS[format]
    53     export_infos = EXPORT2_INFOS[format]
    43      
    54      
    44     if download_response:
    55     if download_response:
    45         return _response_download(export_content, title, export_infos['mimetype'], export_infos['extension']) ;
    56         return _response_download(export_content, title, export_infos['mimetype'], export_infos['extension']) ;