Commit ebf97017 authored by Brian Lloyd's avatar Brian Lloyd

Merged '.pt' recognition on PUT from 2.5 branch.

parent 0d670939
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
"""WebDAV support - null resource objects.""" """WebDAV support - null resource objects."""
__version__='$Revision: 1.34 $'[11:-2] __version__='$Revision: 1.35 $'[11:-2]
import sys, os, string, mimetypes, Globals, davcmds import sys, os, string, mimetypes, Globals, davcmds
import Acquisition, OFS.content_types import Acquisition, OFS.content_types
...@@ -26,6 +26,7 @@ from WriteLockInterface import WriteLockInterface ...@@ -26,6 +26,7 @@ from WriteLockInterface import WriteLockInterface
import OFS.SimpleItem import OFS.SimpleItem
from zExceptions import Unauthorized from zExceptions import Unauthorized
class NullResource(Persistent, Acquisition.Implicit, Resource): class NullResource(Persistent, Acquisition.Implicit, Resource):
"""Null resources are used to handle HTTP method calls on """Null resources are used to handle HTTP method calls on
objects which do not yet exist in the url namespace.""" objects which do not yet exist in the url namespace."""
...@@ -63,14 +64,18 @@ class NullResource(Persistent, Acquisition.Implicit, Resource): ...@@ -63,14 +64,18 @@ class NullResource(Persistent, Acquisition.Implicit, Resource):
DELETE=TRACE=PROPFIND=PROPPATCH=COPY=MOVE=HEAD DELETE=TRACE=PROPFIND=PROPPATCH=COPY=MOVE=HEAD
def _default_PUT_factory( self, name, typ, body ): def _default_PUT_factory( self, name, typ, body ):
# Return DTMLDoc/Image/File, based on sniffing. # Return DTMLDoc/PageTemplate/Image/File, based on sniffing.
from OFS.Image import Image, File if name and name.endswith('.pt'):
from OFS.DTMLDocument import DTMLDocument from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
if typ in ('text/html', 'text/xml', 'text/plain'): ob = ZopePageTemplate(name, body, content_type=typ)
elif typ in ('text/html', 'text/xml', 'text/plain'):
from OFS.DTMLDocument import DTMLDocument
ob = DTMLDocument( '', __name__=name ) ob = DTMLDocument( '', __name__=name )
elif typ[:6]=='image/': elif typ[:6]=='image/':
from OFS.Image import Image
ob=Image(name, '', body, content_type=typ) ob=Image(name, '', body, content_type=typ)
else: else:
from OFS.Image import File
ob=File(name, '', body, content_type=typ) ob=File(name, '', body, content_type=typ)
return ob return ob
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment