[Erp5-report] r14506 - /erp5/trunk/utils/oood/mimemapper.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed May 16 18:28:13 CEST 2007
Author: bartek
Date: Wed May 16 18:28:12 2007
New Revision: 14506
URL: http://svn.erp5.org?rev=14506&view=rev
Log:
support for nearly everything there is (missing: Latex2e), total 111 formats, most of them successfully tested
Modified:
erp5/trunk/utils/oood/mimemapper.py
Modified: erp5/trunk/utils/oood/mimemapper.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/mimemapper.py?rev=14506&r1=14505&r2=14506&view=diff
==============================================================================
--- erp5/trunk/utils/oood/mimemapper.py (original)
+++ erp5/trunk/utils/oood/mimemapper.py Wed May 16 18:28:12 2007
@@ -39,51 +39,145 @@
class MimeMapper:
document_type_dict = {}
- document_type_dict['text'] = ['odt', 'ott', 'sxw', 'stw', 'doc', '95.doc', '6_0.doc', 'rtf', 'sdw', 'sdw.vor', '4_0.sdw', '4_0.sdw.vor', '3_0.sdw', '3_0.sdw.vor', 'txt', 'enc.txt', 'html-writer', 'pdb', 'docbook.xml', '2003.doc.xml', 'psw', 'pdf']
- document_type_dict['spreadsheet'] = ['ods', 'ots', 'sxc', 'stc', 'dif', 'dbf', 'xls', 'xlt', '95.xls', '95.xlt', '5_0.xls', '5_0.xlt', 'sdc', 'sdc.vor', '4_0.sdc', '4_0.sdc.vor', '3_0.sdc', '3_0.sdc.vor', 'slk', 'csv', 'html-calc', '2003.xls.xml', 'pxl', 'calc.pdf']
- document_type_dict['presentation'] = ['impr.pdf', 'ppt', 'impress.jpg', 'odp']
- document_type_dict['drawing'] = [ 'jpg', 'draw.pdf', 'svg', 'odg']
+
+ # list of supported extensions (keys in property_map)
+ # testing information:
+ # the first character tells if generation to the given format has been tested: (-) not tested, (P)assed, (F)ailed
+ # the second tells if the output was verified and what was the result
+
+ document_type_dict['text'] = [
+ 'odt', # P P
+ 'ott', # P P
+ 'sxw', # P P
+ 'stw', # P P
+ 'doc', # P P
+ '95.doc', # P P
+ '6_0.doc', # P P
+ 'rtf', # P P
+ 'sdw', # P P
+ 'sdw.vor', # P P
+ '4_0.sdw', # P P
+ '4_0.sdw.vor', # P P
+ '3_0.sdw', # P P
+ '3_0.sdw.vor', # P P
+ 'txt', # P P
+ 'enc.txt', # P P
+ 'writer.html', # P P
+ 'pdb', # P -
+ 'docbook.xml', # P P
+ '2003.doc.xml', # P P
+ 'psw', # P -
+ 'pdf' # P P
+ ]
+
+ document_type_dict['spreadsheet'] = [
+ 'ods',# P P
+ 'ots',# P P
+ 'sxc',# P P
+ 'stc',# P P
+ 'dif',# P -
+ 'dbf',# F -
+ 'xls',# P P
+ 'xlt',# P P
+ '95.xls',# P P
+ '95.xlt',# P P
+ '5_0.xls',# P P
+ '5_0.xlt',# P P
+ 'sdc',# P P
+ 'sdc.vor',# P P
+ '4_0.sdc',# P P
+ '4_0.sdc.vor',# P P
+ '3_0.sdc',# P P
+ '3_0.sdc.vor',# P P
+ 'slk',# P -
+ 'csv',# P P
+ 'calc.html',# P P
+ '2003.xls.xml',# P P
+ 'pxl',# P -
+ 'calc.pdf'# P P
+ ]
+
+ document_type_dict['presentation'] = [
+ 'odp', # P P
+ 'otp', # P P
+ 'sxi', # P P
+ 'sti', # P P
+ 'ppt', # P P
+ 'pot', # P P
+ 'odp.sxd', # P P
+ 'odp.sda', # P P
+ 'odp.3_0.sda', # P P
+ 'sdd', # P P
+ 'sdd.vor', # P P
+ '4_0.sdd', # P P
+ '4_0.sdd.vor', # P P
+ 'odp.odg', # P P
+ 'impr.html', # P P
+ 'impr.pdf', # P P
+ 'impr.swf', # P -
+ 'impr.xhtml', # P F
+ 'impr.bmp', # P P
+ 'impr.emf', # P -
+ 'impr.eps', # P P
+ 'impr.gif', # P P
+ 'impr.jpg', # P P
+ 'impr.met', # P -
+ 'impr.pbm', # P P
+ 'impr.pct', # P -
+ 'impr.pgm', # P P
+ 'impr.png', # P P
+ 'impr.ppm', # P P
+ 'impr.ras', # P -
+ 'impr.svg', # P -
+ 'impr.svm', # P -
+ 'impr.tiff', # P P
+ 'impr.wmf', # P -
+ 'impr.xpm', # P P
+ 'pwp' # P -
+ ]
+
+ document_type_dict['drawing'] = [
+ 'odg', # P P
+ 'otg', # P P
+ 'sxd', # P P
+ 'std', # P P
+ 'sda', # P P
+ 'sda.vor', # P P
+ '3_0.sda', # P P
+ '3_0.sda.vor', # P P
+ 'draw.html', # P P
+ 'draw.pdf', # P P
+ 'draw.swf', # P P
+ 'draw.xhtml', # P F
+ 'bmp', # P P
+ 'emf', # P -
+ 'draw.eps', # P P
+ 'gif', # P P
+ 'jpg', # P P
+ 'pbm', # P P
+ 'met', # P -
+ 'pct', # P -
+ 'pgm', # P P
+ 'png', # P P
+ 'ppm', # P P
+ 'ras', # P -
+ 'svg', # P -
+ 'svm', # P -
+ 'tiff', # P P
+ 'wmf', # P -
+ 'xpm' # P P
+ ]
odf_type_list = ['odt', 'ods', 'odp', 'odg']
+ # XXX some formats are in more then one section (e.g. html - can be made from text, from presentation etc); they
+ # have different keys (extensions) here, but mimetype is the same, which can confuse getAllowedTo method if
+ # it is given mimetype as argument.
+ # So, in such a case, all occurrences of such mimetype, or all but one, have omit=True set, so that they are not
+ # taken into account while doing _mimeToExt; so we know that text/html can be converted only to other "text"
+ # formats, while application/x-shockwave-flash can not be converted into anything.
+
property_map = {
- 'odp':{
- 'mime_type':('application/vnd.oasis.opendocument.presentation',),
- 'label':'Open Document Presentation',
- },
- 'odg':{
- 'mime_type':('application/vnd.oasis.opendocument.graphics',),
- 'label':'Open Document Graphics',
- },
- 'impr.pdf':{
- 'mime_type':('application/pdf',),
- 'outprops':(PropertyValue("FilterName",0,"impress_pdf_Export",0),PropertyValue("Overwrite",0,True,0)),
- 'label':'Pdf',
- },
- 'ppt':{
- 'mime_type':('application/vnd.ms-powerpoint',),
- 'outprops':(PropertyValue("FilterName",0,"MS PowerPoint 97",0),PropertyValue("Overwrite",0,True,0)),
- 'label':'Powerpoint presentation',
- },
- 'jpg':{
- 'mime_type':('image/jpg',),
- 'outprops':(PropertyValue("FilterName",0,"draw_jpg_Export",0),PropertyValue("Overwrite",0,True,0)),
- 'label': 'JPEG',
- },
- 'impress.jpg':{
- 'mime_type':('image/jpg',),
- 'outprops':(PropertyValue("FilterName",0,"impress_jpg_Export",0),PropertyValue("Overwrite",0,True,0)),
- 'label': 'JPEG',
- },
- 'svg':{
- 'mime_type':('image/svg+xml',),
- 'outprops':(PropertyValue("FilterName",0,"draw_svg_Export",0),PropertyValue("Overwrite",0,True,0)),
- 'label':'Scalable Vector Graphics',
- },
- 'draw.pdf':{
- 'mime_type':('application/pdf',),
- 'outprops':(PropertyValue("FilterName",0,"draw_pdf_Export",0),PropertyValue("Overwrite",0,True,0)),
- },
########## TEXT ##########
'odt':{
@@ -132,7 +226,7 @@
'label':'StarWriter 5.0',
},
'sdw.vor':{
- 'mime_type':('application/vnd.stardivision.writer',),
+ 'mime_type':('unknown',),
'outprops':(PropertyValue("FilterName",0,'StarWriter 5.0 Vorlage/Template',0),PropertyValue("Overwrite",0,True,0)),
'label':'StarWriter 5.0 Template',
},
@@ -142,7 +236,7 @@
'label': 'StarWriter 4.0',
},
'4_0.sdw.vor':{
- 'mime_type':('application/x-starwriter',),
+ 'mime_type':('unknown',),
'outprops':(PropertyValue("FilterName",0,'StarWriter 4.0 Vorlage/Template',0),PropertyValue("Overwrite",0,True,0)),
'label':'StarWriter 4.0 Template',
},
@@ -152,7 +246,7 @@
'label': 'StarWriter 3.0',
},
'3_0.sdw.vor':{
- 'mime_type':('application/x-starwriter',),
+ 'mime_type':('unknown',),
'outprops':(PropertyValue("FilterName",0,'StarWriter 3.0 Vorlage/Template',0),PropertyValue("Overwrite",0,True,0)),
'label':'StarWriter 3.0 Template',
},
@@ -166,7 +260,7 @@
'outprops':(PropertyValue("FilterName",0,"Text (encoded)",0),PropertyValue("Overwrite",0,True,0),PropertyValue("FilterFlags",0,'UTF8,LF',0)),
'label':'Text (encoded)',
},
- 'html-writer':{
+ 'writer.html':{
'mime_type':('text/html',),
'outprops':(PropertyValue("FilterName",0,"HTML (StarWriter)",0),PropertyValue("Overwrite",0,True,0)),
'label':'HTML Document (OpenOffice.org Writer)',
@@ -193,6 +287,7 @@
},
'pdf':{
'mime_type':('application/pdf',),
+ 'omit': True,
'outprops':(PropertyValue("FilterName",0,"writer_pdf_Export",0),PropertyValue("Overwrite",0,True,0)),
'label':'Pdf',
},
@@ -264,7 +359,7 @@
'label':'StarCalc 5.0',
},
'sdc.vor':{
- 'mime_type':('application/vnd.stardivision.calc',),
+ 'mime_type':('unknown',),
'outprops':(PropertyValue("FilterName",0,'StarCalc 5.0 Vorlage/Template',0),PropertyValue("Overwrite",0,True,0)),
'label':'StarCalc 5.0 Template',
},
@@ -274,7 +369,7 @@
'label':'StarCalc 5.0',
},
'4_0.sdc.vor':{
- 'mime_type':('application/x-starcalc',),
+ 'mime_type':('unknown',),
'outprops':(PropertyValue("FilterName",0,'StarCalc 5.0 Vorlage/Template',0),PropertyValue("Overwrite",0,True,0)),
'label':'StarCalc 5.0 Template',
},
@@ -298,13 +393,15 @@
'outprops':(PropertyValue("FilterName",0,"Text - txt - csv (StarCalc)",0),PropertyValue("Overwrite",0,True,0)),
'label':'Text CSV',
},
- 'html-calc':{
+ 'calc.html':{
'mime_type':('text/html',),
+ 'omit': True,
'outprops':(PropertyValue("FilterName",0,"HTML (StarCalc)",0),PropertyValue("Overwrite",0,True,0)),
'label':'HTML Document (OpenOffice.org Calc)',
},
'2003.xls.xml':{
'mime_type':('text/xml',),
+ 'omit': True,
'outprops':(PropertyValue("FilterName",0,'MS Excel 2003 XML',0),PropertyValue("Overwrite",0,True,0)),
'label':'Microsoft Excel 2003 XML',
},
@@ -315,9 +412,361 @@
},
'calc.pdf':{
'mime_type':('application/pdf',),
+ 'omit': True,
'outprops':(PropertyValue("FilterName",0,"calc_pdf_Export",0),PropertyValue("Overwrite",0,True,0)),
'label':'PDF - Portable Document Format',
},
+
+ ########## PRESENTATION ##########
+ 'odp':{
+ 'mime_type':('application/vnd.oasis.opendocument.presentation',),
+ 'outprops':(PropertyValue('FilterName',0,'impress8',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenDocument Presentation',
+ },
+ 'otp':{
+ 'mime_type':('application/vnd.oasis.opendocument.presentation-template',),
+ 'outprops':(PropertyValue('FilterName',0,'impress8_template',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenDocument Presentation Template',
+ },
+ 'sxi':{
+ 'mime_type':('application/vnd.sun.xml.impress',),
+ 'outprops':(PropertyValue('FilterName',0,'StarOffice XML (Impress)',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenOffice.org 1.0 Presentation',
+ },
+ 'sti':{
+ 'mime_type':('application/vnd.sun.xml.impress.template',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_StarOffice_XML_Impress_Template',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenOffice.org 1.0 Presentation Template',
+ },
+ 'ppt':{
+ 'mime_type':('application/vnd.ms-powerpoint',),
+ 'outprops':(PropertyValue("FilterName",0,'MS PowerPoint 97',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'Microsoft PowerPoint 97/2000/XP',
+ },
+ 'pot':{
+ 'mime_type':('application/vnd.ms-powerpoint',),
+ 'outprops':(PropertyValue('FilterName',0,'MS PowerPoint 97 Vorlage',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'Microsoft PowerPoint 97/2000/XP Template',
+ },
+ 'odp.sxd':{
+ 'mime_type':('application/vnd.sun.xml.draw',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_StarOffice_XML_Draw',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'OpenOffice.org 1.0 Drawing (OpenOffice.org Impress)',
+ },
+ 'odp.sda':{
+ 'mime_type':('application/vnd.stardivision.draw',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'StarDraw 5.0 (StarImpress)',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'StarDraw 5.0 (OpenOffice.org Impress)',
+ },
+ 'odp.3_0.sda':{
+ 'mime_type':('application/vnd.stardivision.draw',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'StarDraw 3.0 (StarImpress)',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'StarDraw 3.0 (OpenOffice.org Impress)',
+ },
+ 'sdd':{
+ 'mime_type':('application/vnd.stardivision.impress',),
+ 'outprops':(PropertyValue('FilterName',0,'StarImpress 5.0',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'StarImpress 5.0',
+ },
+ 'sdd.vor':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'StarImpress 5.0 Vorlage',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'StarImpress 5.0 Template',
+ },
+ '4_0.sdd':{
+ 'mime_type':('application/x-starimpress',),
+ 'outprops':(PropertyValue('FilterName',0,'StarImpress 4.0',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'StarImpress 4.0',
+ },
+ '4_0.sdd.vor':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'StarImpress 4.0 Vorlage',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'StarImpress 4.0 Template',
+ },
+ 'odp.odg':{
+ 'mime_type':('application/vnd.oasis.opendocument.graphics',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress8_draw',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'OpenDocument Drawing (Impress)',
+ },
+ 'impr.html':{
+ 'mime_type':('text/html',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_html_Export',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'HTML Document (OpenOffice.org Impress)',
+ },
+ 'impr.pdf':{
+ 'mime_type':('application/pdf',),
+ 'omit': True,
+ 'outprops':(PropertyValue("FilterName",0,"impress_pdf_Export",0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'PDF - Portable Document Format',
+ },
+ 'impr.swf':{
+ 'mime_type':('application/x-shockwave-flash',),
+ 'omit': True,
+ 'outprops':(PropertyValue("FilterName",0,"impress_flash_Export",0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'Macromedia Flash (SWF)',
+ },
+ 'impr.xhtml':{
+ 'mime_type':('application/xhtml+xml',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'XHTML Impress File',0),PropertyValue("Overwrite",0,True,0)),
+ 'label':'XHTML',
+ },
+ 'impr.bmp':{
+ 'mime_type':('image/bmp',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_bmp_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'BMP - Windows Bitmap',
+ },
+ 'impr.emf':{
+ 'mime_type':('unknown',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_emf_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'EMF - Enhanced Metafile',
+ },
+ 'impr.eps':{
+ 'mime_type':('unknown',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_eps_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'EPS - Encapsulated PostScript',
+ },
+ 'impr.gif':{
+ 'mime_type':('image/gif',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_gif_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'GIF - Graphics Interchange Format',
+ },
+ 'impr.jpg':{
+ 'mime_type':('image/jpg',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_jpg_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'JPEG - Joint Photographic Experts Group',
+ },
+ 'impr.met':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_met_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'MET - OS/2 Metafile',
+ },
+ 'impr.pbm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_pbm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PBM - Portable Bitmap',
+ },
+ 'impr.pct':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_pct_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PCT - Mac Pict',
+ },
+ 'impr.pgm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_pgm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PGM - Portable Graymap',
+ },
+ 'impr.png':{
+ 'mime_type':('image/png',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_png_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PNG - Portable Network Graphic',
+ },
+ 'impr.ppm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_ppm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PPM - Portable Pixelmap',
+ },
+ 'impr.ras':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_ras_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'RAS - Sun Raster Image',
+ },
+ 'impr.svg':{
+ 'mime_type':('image/svg+xml',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_svg_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'SVG - Scalable Vector Graphics',
+ },
+ 'impr.svm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_svm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'SVM - StarView Metafile',
+ },
+ 'impr.tiff':{
+ 'mime_type':('image/tiff',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'impress_tif_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'TIFF - Tagged Image File Format',
+ },
+ 'impr.wmf':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_wmf_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'WMF - Windows Metafile',
+ },
+ 'impr.xpm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'impress_xpm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'XPM - X PixMap',
+ },
+ 'pwp':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'placeware_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PWP - PlaceWare',
+ },
+
+ ########## DRAWING ##########
+ 'odg':{
+ 'mime_type':('application/vnd.oasis.opendocument.graphics',),
+ 'outprops':(PropertyValue('FilterName',0,'draw8',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenDocument Drawing',
+ },
+ 'otg':{
+ 'mime_type':('application/vnd.oasis.opendocument.graphics-template',),
+ 'outprops':(PropertyValue('FilterName',0,'draw8_template',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenDocument Drawing Template',
+ },
+ 'sxd':{
+ 'mime_type':('application/vnd.sun.xml.draw',),
+ 'outprops':(PropertyValue('FilterName',0,'StarOffice XML (Draw)',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenOffice.org 1.0 Drawing',
+ },
+ 'std':{
+ 'mime_type':('application/vnd.sun.xml.draw.template',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_StarOffice_XML_Draw_Template',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'OpenOffice.org 1.0 Drawing Template',
+ },
+ 'sda':{
+ 'mime_type':('application.vnd.stardivision.draw',),
+ 'outprops':(PropertyValue('FilterName',0,'StarDraw 5.0',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'StarDraw 5.0',
+ },
+ 'sda.vor':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'StarDraw 5.0 Vorlage',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'StarDraw 5.0 Template',
+ },
+ '3_0.sda':{
+ 'mime_type':('application.vnd.stardivision.draw',),
+ 'outprops':(PropertyValue('FilterName',0,'StarDraw 3.0',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'StarDraw 3.0',
+ },
+ '3_0.sda.vor':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'StarDraw 3.0 Vorlage',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'StarDraw 3.0 Template',
+ },
+ 'draw.html':{
+ 'mime_type':('text/html',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'draw_html_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'HTML Document (OpenOffice.org Draw)',
+ },
+ 'draw.pdf':{
+ 'mime_type':('application/pdf',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'draw_pdf_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PDF - Portable Document Format',
+ },
+ 'draw.swf':{
+ 'mime_type':('application/x-shockwave-flash',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'draw_flash_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'Macromedia Flash (SWF)',
+ },
+ 'draw.xhtml':{
+ 'mime_type':('text/xhtml+xml',),
+ 'omit': True,
+ 'outprops':(PropertyValue('FilterName',0,'XHTML Draw File',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'XHTML',
+ },
+ 'bmp':{
+ 'mime_type':('image/bmp',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_bmp_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'BMP - Windows Bitmap',
+ },
+ 'emf':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_emf_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'EMF - Enhanced Metafile',
+ },
+ 'draw.eps':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_eps_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'EPS - Encapsulated PostScript',
+ },
+ 'gif':{
+ 'mime_type':('image/gif',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_gif_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'GIF - Graphics Interchange Format',
+ },
+ 'jpg':{
+ 'mime_type':('image/jpeg',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_jpg_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'JPEG - Joint Photographic Experts Group',
+ },
+ 'pbm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_pbm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PBM - Portable Bitmap',
+ },
+ 'met':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_met_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'MET - OS/2 Metafile',
+ },
+ 'pct':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_pct_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PCT - Mac Pict',
+ },
+ 'pgm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_pgm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PGM - Portable Graymap',
+ },
+ 'png':{
+ 'mime_type':('image/png',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_png_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PNG - Portable Network Graphic',
+ },
+ 'ppm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_ppm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'PPM - Portable Pixelmap',
+ },
+ 'ras':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_ras_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'RAS - Sun Raster Image',
+ },
+ 'svg':{
+ 'mime_type':('image/svg+xml',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_svg_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'SVG - Scalable Vector Graphics',
+ },
+ 'svm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_svm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'SVM - StarView Metafile',
+ },
+ 'tiff':{
+ 'mime_type':('image/tiff',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_tif_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'TIFF - Tagged Image File Format',
+ },
+ 'wmf':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_wmf_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'WMF - Windows Metafile',
+ },
+ 'xpm':{
+ 'mime_type':('unknown',),
+ 'outprops':(PropertyValue('FilterName',0,'draw_xpm_Export',0),PropertyValue('Overwrite',0,True,0)),
+ 'label':'XPM - X PixMap',
+ },
+
+
}
def __init__(self):
@@ -373,8 +822,10 @@
"""
for extension_list in self.document_type_dict.values():
for extension in extension_list:
- if mimetype in self.property_map[extension]['mime_type']:
- return extension
+ property_dict = self.property_map[extension]
+ if mimetype in property_dict['mime_type']:
+ if not property_dict.has_key('omit') or not property_dict['omit']:
+ return extension
def _extToType(self, extension):
"""
@@ -441,7 +892,16 @@
mimemapper = MimeMapper()
if __name__=='__main__':
- print '========================================'
+ print mimemapper.getAllowedTo(mimetype='text/html')
+ print mimemapper.getAllowedTo(mimetype='application/x-shockwave-flash')
+ print len(mimemapper.property_map.keys())
+ print reduce(operator.add, [len(l) for l in mimemapper.document_type_dict.values()])
+ sys.exit(0)
+ for k,v in mimemapper.document_type_dict.items():
+ print k
+ print v
+ print '========================================'
+ sys.exit(0)
print mimemapper.isOdf('application/vnd.oasis.opendocument.text')
print '========================================'
print mimemapper.getOdfInfo(extension='txt')
More information about the Erp5-report
mailing list