I am setting-up a database-backed version and the example is giving me following error when trying to push a file (folders are OK):
Django version 1.7.7, using settings 'ft1_templateengine.settings'
Starting development server at http://0.0.0.0:8002/
Quit the server with CONTROL-C.
[10/Apr/2015 10:55:39] "HEAD /dbdav/ HTTP/1.1" 200 0
[10/Apr/2015 10:55:39] "PROPFIND /dbdav/test/ HTTP/1.1" 207 465
Internal Server Error: /dbdav/test/0a0580af142411996101666820_700wa_0.gif
Traceback (most recent call last):
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/virtualenv2/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/virtualenv2/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
return self.dispatch(request, *args, **kwargs)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/virtualenv2/lib/python2.7/site-packages/django/utils/decorators.py", line 29, in _wrapper
return bound_func(*args, **kwargs)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/virtualenv2/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
return view_func(*args, **kwargs)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/virtualenv2/lib/python2.7/site-packages/django/utils/decorators.py", line 25, in bound_func
return func.__get__(self, type(self))(*args2, **kwargs2)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/ft1_templateengine/djangodav/views/views.py", line 71, in dispatch
resp = handler(request, self.path, *args, **kwargs)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/ft1_templateengine/djangodav/views/views.py", line 218, in put
self.resource.write(request)
File "/Users/petr/Dropbox/work/repos/ft1_templateengine/ft1_templateengine/ft1_templates/resources.py", line 21, in write
size = len(content)
TypeError: object of type 'WSGIRequest' has no len()
[10/Apr/2015 10:55:39] "PUT /dbdav/test/0a0580af142411996101666820_700wa_0.gif HTTP/1.1" 500 105425
class MyDBDavResource(NameLookupDBDavMixIn, BaseDBDavResource):
collection_model = CollectionModel
object_model = ObjectModel
def write(self, content):
size = len(content)
hashsum = md5(content).hexdigest()
content = b64encode(content)
if not self.exists:
self.object_model.objects.create(
name=self.displayname,
parent=self.get_parent().obj,
md5=hashsum,
size=size,
content=content
)
return
self.obj.size = size
self.obj.modified = now()
self.obj.content = content
self.md5 = hashsum
self.obj.save(update_fields=['content', 'size', 'modified', 'md5'])
def read(self):
return b64decode(self.obj.content)
@property
def getetag(self):
return self.obj.md5
@property
def getcontentlength(self):
return self.obj.size
Hi,
I am setting-up a database-backed version and the example is giving me following error when trying to push a file (folders are OK):
I am using the resource implementation straight from the examples: