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:
parent
1c1147cda9
commit
8ce40311ac
5 changed files with 4 additions and 61 deletions
|
@ -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" />
|
||||
|
|
|
@ -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.
|
||||
"""
|
||||
|
|
15
resource.py
15
resource.py
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
6
type.py
6
type.py
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue