[Erp5-report] r29796 - in /erp5/trunk/products/ERP5/interfaces: convertable.py uploadable.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Oct 19 15:09:07 CEST 2009
Author: jp
Date: Mon Oct 19 15:09:06 2009
New Revision: 29796
URL: http://svn.erp5.org?rev=29796&view=rev
Log:
Initial upload
Added:
erp5/trunk/products/ERP5/interfaces/convertable.py
erp5/trunk/products/ERP5/interfaces/uploadable.py
Added: erp5/trunk/products/ERP5/interfaces/convertable.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/convertable.py?rev=29796&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/convertable.py (added)
+++ erp5/trunk/products/ERP5/interfaces/convertable.py [utf8] Mon Oct 19 15:09:06 2009
@@ -1,0 +1,107 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+# Jean-Paul Smets-Solanes <jp at nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+from zope.interface import Interface
+
+class IConvertable(Interface):
+ """
+ Convertable interface specification
+
+ Documents which immplement IConvertable can be converted
+ to multiple formats. IConvertable also provides
+ methods to list possible formats which documents can
+ be converted to.
+ """
+
+ def convert(format, **kw):
+ """
+ Converts the current document to the specified format
+ taking into account optional parameters. This method
+ returns a tuple of two values: a mime type string and
+ the converted data.
+
+ format -- the target conversion format specified either as an
+ extension (ex. 'png') or as a mime type
+ string (ex. 'text/plain')
+
+ kw -- optional parameters which can be passed to the
+ conversion engine
+ """
+
+ def isTargetFormatAllowed(format):
+ """
+ Checks if the current document can be converted
+ to the specified target format.
+
+ format -- the target conversion format specified either as an
+ extension (ex. 'png') or as a mime type
+ string (ex. 'text/plain')
+ """
+
+ def isTargetFormatPermitted(format):
+ """
+ Checks if the current user can convert the current
+ document to the specified target format.
+ This method can be used to restrict the list of possible
+ formats to deliver a document to a certain group of
+ users (ex. read-only PDF only for anonymous users)
+
+ format -- the target conversion format specified either as an
+ extension (ex. 'png') or as a mime type
+ string (ex. 'text/plain')
+ """
+
+ def getTargetFormatItemList():
+ """
+ Returns the list of acceptable formats for conversion
+ in the form of tuples which can be used for example for
+ listfield in ERP5Form. Each tuple in the list has the form
+ (title, format) where format is an extension (ex. 'png')
+ which can be passed to IConvertable.convert or to
+ IDownloadable.index_html and title is a string which
+ can be translated and displayed to the user.
+
+ Example of result:
+ [('ODF Drawing', 'odg'), ('ODF Drawing Template', 'otg'),
+ ('OpenOffice.org 1.0 Drawing', 'sxd')]
+ """
+
+ def getTargetFormatTitleList():
+ """
+ Returns the list of titles of acceptable formats for conversion
+ as a list of strings which can be translated and displayed
+ to the user.
+ """
+
+ def getTargetFormatList():
+ """
+ Returns the list of acceptable formats for conversion
+ where format is an extension (ex. 'png') which can be
+ passed to IConvertable.convert or to IDownloadable.index_html
+ """
Added: erp5/trunk/products/ERP5/interfaces/uploadable.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/uploadable.py?rev=29796&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/uploadable.py (added)
+++ erp5/trunk/products/ERP5/interfaces/uploadable.py [utf8] Mon Oct 19 15:09:06 2009
@@ -1,0 +1,94 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+# Jean-Paul Smets-Solanes <jp at nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+from zope.interface import Interface
+
+class IUploadable(Interface):
+ """
+ Uploadable interface specification
+
+ Documents which implement IUploadable can be updated
+ by uploading a file using multiple formats. IUploadable
+ provides methods to list possible source formats which
+ can be uploaded into a document.
+ """
+
+ def isSourceFormatAllowed(format):
+ """
+ Checks if a file with the specified format
+ can be uploaded into the current document.
+
+ format -- the source conversion format specified either as an
+ extension (ex. 'png') or as a mime type
+ string (ex. 'text/plain')
+ """
+
+ def isSourceFormatPermitted(format):
+ """
+ Checks if the current user can upload into the current
+ document a file with the specified source format.
+ This method can be used to restrict the list of possible
+ formats which can be uploaded into a document to a certain group of
+ users (ex. users which are known to use
+ OpenOffice in a company are only allowed to upload ODT files,
+ as a way to prevent the use of illegal copies of other applications).
+
+ format -- the source conversion format specified either as an
+ extension (ex. 'png') or as a mime type
+ string (ex. 'text/plain')
+ """
+
+ def getSourceFormatItemList():
+ """
+ Returns the list of acceptable formats for upload
+ in the form of tuples which can be used for example for
+ listfield in ERP5Form. Each tuple in the list has the form
+ (title, format) where format is an extension (ex. 'png')
+ which can be passed to IConvertable.convert or to
+ IDownloadable.index_html and title is a string which
+ can be translated and displayed to the user.
+
+ Example of result:
+ [('ODF Drawing', 'odg'), ('ODF Drawing Template', 'otg'),
+ ('OpenOffice.org 1.0 Drawing', 'sxd')]
+ """
+
+ def getSourceFormatTitleList():
+ """
+ Returns the list of titles of acceptable formats for upload
+ as a list of strings which can be translated and displayed
+ to the user.
+ """
+
+ def getSourceFormatList():
+ """
+ Returns the list of acceptable formats for upload
+ where format is an extension (ex. 'png') which can be
+ passed to IConvertable.convert or to IDownloadable.index_html
+ """
More information about the Erp5-report
mailing list