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" /> set_schema="loops.interfaces.IExternalFile" />
</class> </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" <adapter factory="loops.resource.TextDocumentAdapter" trusted="True"
provides="loops.interfaces.ITextDocument" /> provides="loops.interfaces.ITextDocument" />
<class class="loops.resource.TextDocumentAdapter"> <class class="loops.resource.TextDocumentAdapter">
@ -362,8 +353,6 @@
<adapter factory="loops.schema.factory.ResourceSchemaFactory" <adapter factory="loops.schema.factory.ResourceSchemaFactory"
for="loops.interfaces.IResource" /> for="loops.interfaces.IResource" />
<adapter factory="loops.schema.factory.FileSchemaFactory" /> <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.schema.factory.NoteSchemaFactory" />
<adapter factory="loops.setup.SetupManager" /> <adapter factory="loops.setup.SetupManager" />

View file

@ -772,22 +772,6 @@ class IExternalFile(IFile):
required=False) 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): class IImage(IResourceAdapter):
""" A media asset that may be embedded in a (web) page as an image. """ 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.common import ResourceAdapterBase, adapted
from loops.concept import ResourceRelation from loops.concept import ResourceRelation
from loops.interfaces import IBaseResource, IResource 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 IDocument, ITextDocument, IDocumentSchema, IDocumentView
from loops.interfaces import IMediaAsset, IMediaAssetView from loops.interfaces import IMediaAsset, IMediaAssetView
from loops.interfaces import IResourceManager, IResourceManagerContained from loops.interfaces import IResourceManager, IResourceManagerContained
@ -408,19 +408,6 @@ class ExternalFileAdapter(FileAdapter):
return storage.getSize(self.externalAddress, params=self.storageParams) 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): class DocumentAdapter(ResourceAdapterBase):
""" Common base class for all resource types with a text-like """ Common base class for all resource types with a text-like
data attribute. data attribute.

View file

@ -26,7 +26,7 @@ from zope.component import adapts
from cybertools.composer.schema.factory import SchemaFactory from cybertools.composer.schema.factory import SchemaFactory
from loops.common import adapted 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.meta.interfaces import IOptions
from cybertools.typology.interfaces import IType from cybertools.typology.interfaces import IType
@ -59,21 +59,6 @@ class FileSchemaFactory(SchemaFactory):
for f in hide: for f in hide:
if f in schema.fields: if f in schema.fields:
schema.fields.remove(f) 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 return schema

View file

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