[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