Commit abf0755c authored by Jean-Paul Smets's avatar Jean-Paul Smets

Initial upload

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@29797 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 0eadfaf2
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@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
"""
\ No newline at end of file
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@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
"""
\ No newline at end of file
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@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 IWatermarkable(Interface):
"""
Watermarkable interface specification
Documents which implement IWatermarkable can be
added a watermark before conversion and download.
"""
# Declarative interface classification
_subject_list = ('DMS', )
def getWatermarkedData(**kw):
"""
Adds a watermark to the original data of this document
(or to base data if IBaseConvertable is implemented) and
return the resulting watermarked data.
kw -- optional parameters which can be passed to the
watermarking engine
"""
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment