remove 'AddressableExternalFile' stuff again

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3206 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-02-05 10:36:45 +00:00
parent 1c1147cda9
commit 8ce40311ac
5 changed files with 4 additions and 61 deletions

View file

@ -300,15 +300,6 @@
set_schema="loops.interfaces.IExternalFile" />
</class>
<adapter factory="loops.resource.AddressableExternalFileAdapter" trusted="True"
provides="loops.interfaces.IAddressableExternalFile" />
<class class="loops.resource.AddressableExternalFileAdapter">
<require permission="zope.View"
interface="loops.interfaces.IAddressableExternalFile" />
<require permission="zope.ManageContent"
set_schema="loops.interfaces.IAddressableExternalFile" />
</class>
<adapter factory="loops.resource.TextDocumentAdapter" trusted="True"
provides="loops.interfaces.ITextDocument" />
<class class="loops.resource.TextDocumentAdapter">
@ -362,8 +353,6 @@
<adapter factory="loops.schema.factory.ResourceSchemaFactory"
for="loops.interfaces.IResource" />
<adapter factory="loops.schema.factory.FileSchemaFactory" />
<adapter factory="loops.schema.factory.AddressableFileSchemaFactory"
for="loops.interfaces.IAddressableExternalFile" />
<adapter factory="loops.schema.factory.NoteSchemaFactory" />
<adapter factory="loops.setup.SetupManager" />

View file

@ -772,22 +772,6 @@ class IExternalFile(IFile):
required=False)
class IAddressableExternalFile(IExternalFile):
""" A file whose content (data attribute) is not stored in the ZODB
but somewhere else, typically in the file system; the data won't
be provided by uploading a file but by explicitly specifying
the address of the file.
"""
externalAddress = schema.BytesLine(
title=_(u'External Address'),
description=_(u'The full address for accessing the object '
'on the external storage, e.g. a filename or path.'),
default='',
missing_value='',
required=False)
class IImage(IResourceAdapter):
""" A media asset that may be embedded in a (web) page as an image.
"""

View file

@ -54,7 +54,7 @@ from loops.base import ParentInfo
from loops.common import ResourceAdapterBase, adapted
from loops.concept import ResourceRelation
from loops.interfaces import IBaseResource, IResource
from loops.interfaces import IFile, IExternalFile, IAddressableExternalFile, INote
from loops.interfaces import IFile, IExternalFile, INote
from loops.interfaces import IDocument, ITextDocument, IDocumentSchema, IDocumentView
from loops.interfaces import IMediaAsset, IMediaAssetView
from loops.interfaces import IResourceManager, IResourceManagerContained
@ -408,19 +408,6 @@ class ExternalFileAdapter(FileAdapter):
return storage.getSize(self.externalAddress, params=self.storageParams)
class AddressableExternalFileAdapter(ExternalFileAdapter):
implements(IAddressableExternalFile)
def setExternalAddress(self, addr):
super(AddressableExternalFileAdapter, self).setExternalAddress(addr)
contentType = guess_content_type(self.externalAddress, self.data[:100])
if contentType:
self.contentType = contentType[0]
externalAddress = property(ExternalFileAdapter.getExternalAddress,
setExternalAddress)
class DocumentAdapter(ResourceAdapterBase):
""" Common base class for all resource types with a text-like
data attribute.

View file

@ -26,7 +26,7 @@ from zope.component import adapts
from cybertools.composer.schema.factory import SchemaFactory
from loops.common import adapted
from loops.interfaces import IResourceAdapter, IFile, INote, IAddressableExternalFile
from loops.interfaces import IResourceAdapter, IFile, INote
from cybertools.meta.interfaces import IOptions
from cybertools.typology.interfaces import IType
@ -59,21 +59,6 @@ class FileSchemaFactory(SchemaFactory):
for f in hide:
if f in schema.fields:
schema.fields.remove(f)
#if 'request' in kw:
# principal = kw['request'].principal
# if not principal or principal.id != 'rootadmin':
# schema.fields.remove('contentType')
return schema
class AddressableFileSchemaFactory(SchemaFactory):
adapts(IAddressableExternalFile)
def __call__(self, interface, **kw):
schema = super(AddressableFileSchemaFactory, self).__call__(interface, **kw)
schema.fields.remove('data')
#schema.fields.remove('contentType')
return schema

View file

@ -34,8 +34,7 @@ from cybertools.typology.type import BaseType, TypeManager
from cybertools.typology.interfaces import ITypeManager
from loops.interfaces import ILoopsObject, IConcept, IResource
from loops.interfaces import ITypeConcept
from loops.interfaces import IResourceAdapter, IFile, IExternalFile, \
IAddressableExternalFile, IImage
from loops.interfaces import IResourceAdapter, IFile, IExternalFile, IImage
from loops.interfaces import ITextDocument, INote
from loops.concept import Concept
from loops.resource import Resource, Document, MediaAsset
@ -273,8 +272,7 @@ class TypeInterfaceSourceList(object):
implements(schema.interfaces.IIterableSource)
typeInterfaces = (ITypeConcept, IFile, IExternalFile, IAddressableExternalFile,
ITextDocument, INote)
typeInterfaces = (ITypeConcept, IFile, IExternalFile, ITextDocument, INote)
def __init__(self, context):
self.context = context