Closed andreasma closed 13 years ago
Perhaps...
from Products.validation import V_REQUIRED
Thanks. Yes that did the trick. I have now a working environment. But I see the file inside the blobstorage. I use collective.psc.blobstorage to store the files not inside the database. Is there a configuration to block the upload, if the file is not virus free?
I looked into the log and found an entry, that collective.ATClamAV is not logging in development mode. I wonder which parameter I had to change.
Solved. The problem with the development mode was caused from starting the instance with fg.
I read the description how to add a virus protection to a file type. I added validators = (('isNonEmptyFile', V_REQUIRED), ('isVirusFree', V_REQUIRED),), to the FileField in downloadablefile.py in Plone Software Center. The code in this section was then:
If I run buildout, added collective.ATClamAV and run zeoserver start and instance fg afterwards, I get the following error message:
File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/setuphandlers.py", line 23, in
from Products.PloneSoftwareCenter.content.downloadablefile import PSCFileSchema
File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/content/init.py", line 9, in
import downloadablefile
File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/content/downloadablefile.py", line 50, in
validators = (('isNonEmptyFile', V_REQUIRED),
ZopeXMLConfigurationError: File "/local/plone/liboextensioncenter/liboextensions_zeo/parts/instance/etc/site.zcml", line 16.2-16.23
ZopeXMLConfigurationError: File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/configure.zcml", line 12.2-12.33
ZopeXMLConfigurationError: File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/profiles.zcml", line 14.4-22.61
NameError: name 'V_REQUIRED' is not defined
Traceback (most recent call last):
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Zope2/Startup/run.py", line 56, in
run()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Zope2/Startup/run.py", line 21, in run
starter.prepare()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Zope2/Startup/init.py", line 87, in prepare
self.startZope()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Zope2/Startup/init.py", line 264, in startZope
Zope2.startup()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Zope2/init.py", line 47, in startup
_startup()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Zope2/App/startup.py", line 116, in startup
OFS.Application.initialize(application)
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/OFS/Application.py", line 251, in initialize
initializer.initialize()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/OFS/Application.py", line 279, in initialize
self.install_products()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/OFS/Application.py", line 492, in install_products
return install_products(app)
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/OFS/Application.py", line 523, in install_products
folder_permissions, raise_exc=debug_mode)
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/OFS/Application.py", line 671, in install_product
initmethod(context)
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Products/Five/init.py", line 31, in initialize
zcml.load_site()
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Products/Five/zcml.py", line 51, in load_site
_context = xmlconfig.file(file)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 647, in file
include(context, name, package)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 546, in include
processxmlfile(f, context)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 378, in processxmlfile
parser.parse(src)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 357, in endElementNS
self.context.end()
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 537, in end
self.stack.pop().finish()
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 685, in finish
actions = self.handler(context, _args)
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Products/Five/fiveconfigure.py", line 74, in loadProducts
handleBrokenProduct(product)
File "/local/plone/libreofficeextension/buildout-cache/eggs/Zope2-2.12.18-py2.6-linux-x86_64.egg/Products/Five/fiveconfigure.py", line 72, in loadProducts
xmlconfig.include(_context, zcml, package=product)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 546, in include
processxmlfile(f, context)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 378, in processxmlfile
parser.parse(src)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 357, in endElementNS
self.context.end()
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 537, in end
self.stack.pop().finish()
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 685, in finish
actions = self.handler(context, _args)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 546, in include
processxmlfile(f, context)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 378, in processxmlfile
parser.parse(src)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/local/plone/libreofficeextension/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py", line 357, in endElementNS
self.context.end()
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 537, in end
self.stack.pop().finish()
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 684, in finish
args = toargs(context, self.argdata)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 1376, in toargs
args[str(name)] = field.fromUnicode(s)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/fields.py", line 139, in fromUnicode
value = self.context.resolve(name)
File "/local/plone/libreofficeextension/buildout-cache/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/config.py", line 180, in resolve
mod = import(mname, _import_chickens)
File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/setuphandlers.py", line 23, in
from Products.PloneSoftwareCenter.content.downloadablefile import PSCFileSchema
File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/content/init.py", line 9, in
import downloadablefile
File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/content/downloadablefile.py", line 50, in
validators = (('isNonEmptyFile', V_REQUIRED),
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/local/plone/liboextensioncenter/liboextensions_zeo/parts/instance/etc/site.zcml", line 16.2-16.23
ZopeXMLConfigurationError: File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/configure.zcml", line 12.2-12.33
ZopeXMLConfigurationError: File "/local/plone/liboextensioncenter/liboextensions_zeo/src/Products.PloneSoftwareCenter/Products/PloneSoftwareCenter/profiles.zcml", line 14.4-22.61
NameError: name 'V_REQUIRED' is not defined
I used a buildout with Plone 4.0.7 and a git-checkout of Plone Software Center from github.com.