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" />
|
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" />
|
||||||
|
|
|
@ -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.
|
||||||
"""
|
"""
|
||||||
|
|
15
resource.py
15
resource.py
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
6
type.py
6
type.py
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue