{ "info": { "author": "Alexander Klimenko", "author_email": "alex@erix.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "License :: OSI Approved :: GNU Affero General Public License v3", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "DjangoDav\n=========\n\nProduction ready WebDav extension for Django.\n\n.. image:: https://travis-ci.org/meteozond/djangodav.svg\n\nMotivation\n----------\n\nDjango is a very popular tool which provides data representation and management. One of the key goals is to provide\nmachine access to it. Most popular production ready tools provide json based api access. Which have their own\nadvantages and disadvantages.\n\nWebDav today is a standard for cooperative document management. Its clients are built in the modern operation systems\nand supported by the world popular services. But it very important to remember that it's not only about file storage,\nWebDab provides a set of methods to deal with tree structured objects of any kind.\n\nProviding WebDav access to Django resources opens new horizons for building Web2.0 apps, with inplace edition and\nproviding native operation system access to the stored objects.\n\n\nDifference with SmartFile django-webdav\n---------------------------------------\n\nBase resource functionality was separated into BaseResource class from the storage\nfunctionality which developers free to choose from provided or implement themselves.\n\nImproved class dependencies. Resource class don\u2019t know anything about url or server, its\ngoal is only to store content and provide proper access.\n\nRemoved properties helper class. View is now responsible for xml generation, and resource\nprovides actual property list.\n\nServer is now inherited from Django Class Based View, and renamed to DavView.\n\nKey methods covered with tests.\n\nRemoved redundant request handler.\n\nAdded FSResource and DBResource to provide file system and data base access.\n\nXml library usage is replaced with lxml to achieve proper xml generation code readability.\n\n\nHow to create simple filesystem webdav resource\n-----------------------------------------------\n\n1. Create resource.py\n~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from django.conf import settings\n from djangodav.base.resources import MetaEtagMixIn\n from djangodav.fs.resources import DummyFSDAVResource\n\n class MyDavResource(MetaEtagMixIn, DummyFSDAVResource):\n root = '/path/to/folder'\n\n\n2. Register WebDav view in urls.py\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from djangodav.acls import FullAcl\n from djangodav.locks import DummyLock\n from djangodav.views import DavView\n\n from django.conf.urls import patterns\n\n from .resource import MyDavResource\n\n urlpatterns = patterns('',\n (r'^fsdav(?P.*)$', DavView.as_view(resource_class=MyDavResource, lock_class=DummyLock,\n acl_class=FullAcl)),\n )", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/meteozond/djangodav", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "DjangoDav", "package_url": "https://pypi.org/project/DjangoDav/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/DjangoDav/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/meteozond/djangodav" }, "release_url": "https://pypi.org/project/DjangoDav/0.0.1b23/", "requires_dist": null, "requires_python": null, "summary": "A WebDAV server for Django.", "version": "0.0.1b23" }, "last_serial": 2670659, "releases": { "0.0.1b0": [ { "comment_text": "", "digests": { "md5": "dcf0c46b2540e5ca8a71a0c9836e4c24", "sha256": "8bc16aa1fc322fec5afc5915a8ae3e05856389b4e0c55254da66b2387334937a" }, "downloads": -1, "filename": "DjangoDav-0.0.1b0.tar.gz", "has_sig": false, "md5_digest": "dcf0c46b2540e5ca8a71a0c9836e4c24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21514, "upload_time": "2014-05-06T09:58:42", "url": "https://files.pythonhosted.org/packages/75/c3/dc25fe60e8d3849e06081ad0ede6f265cd5060b467e6034f459b4595812d/DjangoDav-0.0.1b0.tar.gz" } ], "0.0.1b1": [ { "comment_text": "", "digests": { "md5": "780fa3353994b69880e3191d03314a95", "sha256": "de497fb7cad6ebbf6719dfe419fdcbe4df6bfaa1452f2594e7841ab9e4f00b9d" }, "downloads": -1, "filename": "DjangoDav-0.0.1b1.tar.gz", "has_sig": false, "md5_digest": "780fa3353994b69880e3191d03314a95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21600, "upload_time": "2014-05-21T12:19:47", "url": "https://files.pythonhosted.org/packages/74/be/2856ca534a50297409e30ddfc7d094dcafb0198db3c271759812f14482c9/DjangoDav-0.0.1b1.tar.gz" } ], "0.0.1b10": [ { "comment_text": "", "digests": { "md5": "1a1915ae45537e9c6544075d96920f53", "sha256": "f0f38ad55dc6223753f56a71265a48c7f9e5935b55bdde446ea974683a3cf591" }, "downloads": -1, "filename": "DjangoDav-0.0.1b10.tar.gz", "has_sig": false, "md5_digest": "1a1915ae45537e9c6544075d96920f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22944, "upload_time": "2014-11-26T12:46:57", "url": "https://files.pythonhosted.org/packages/e1/3d/f5c9d50f95bec1ed160cfb3b576268e28e089486d0c35579ac8e553592c7/DjangoDav-0.0.1b10.tar.gz" } ], "0.0.1b11": [ { "comment_text": "", "digests": { "md5": "c27de1ba0dcfc9e41201bdcb938e87e5", "sha256": "8d348bab8cf764cb2da065ef51d753014ee85e40ae0ab0e69365765c130aafbc" }, "downloads": -1, "filename": "DjangoDav-0.0.1b11.tar.gz", "has_sig": false, "md5_digest": "c27de1ba0dcfc9e41201bdcb938e87e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22986, "upload_time": "2014-11-28T15:53:08", "url": "https://files.pythonhosted.org/packages/37/5c/1198835cad4255178f98a63d51a21bf32cda9567835abe89af65be884b19/DjangoDav-0.0.1b11.tar.gz" } ], "0.0.1b12": [ { "comment_text": "", "digests": { "md5": "ff85079bd947977f45225ad907bb94b5", "sha256": "895ed5df9dbcaff080573ca5a78647fa61318b99a5d457f44e9f8c1c2595f706" }, "downloads": -1, "filename": "DjangoDav-0.0.1b12.tar.gz", "has_sig": false, "md5_digest": "ff85079bd947977f45225ad907bb94b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22990, "upload_time": "2015-03-24T05:17:22", "url": "https://files.pythonhosted.org/packages/4e/df/25433674ddcf5ddabaef056e86168dece07c21682a452c89e4bd196ca53a/DjangoDav-0.0.1b12.tar.gz" } ], "0.0.1b13": [ { "comment_text": "", "digests": { "md5": "65b7c48368c6ddece3a1506d66401c46", "sha256": "04b1972129e0328a84070cbb0cd6703976cacee0ff6064abdb6372c80948a402" }, "downloads": -1, "filename": "DjangoDav-0.0.1b13.tar.gz", "has_sig": false, "md5_digest": "65b7c48368c6ddece3a1506d66401c46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22967, "upload_time": "2015-05-08T12:36:21", "url": "https://files.pythonhosted.org/packages/3a/d4/6c1dfe70c2714201572a70d92d0b21210d59a2398a5362e4a03e96550b96/DjangoDav-0.0.1b13.tar.gz" } ], "0.0.1b14": [ { "comment_text": "", "digests": { "md5": "4adc94503f91f4e60701e3f7e30b961d", "sha256": "58dff320cd39430fdfdaf14061793d955defcc526645a25a67b94b3678a9d74c" }, "downloads": -1, "filename": "DjangoDav-0.0.1b14.tar.gz", "has_sig": false, "md5_digest": "4adc94503f91f4e60701e3f7e30b961d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38784, "upload_time": "2015-05-13T13:54:43", "url": "https://files.pythonhosted.org/packages/32/21/50269fec42cb07b73ac8a3efc71f22d0182f052cbfed9bdad26656774759/DjangoDav-0.0.1b14.tar.gz" } ], "0.0.1b15": [ { "comment_text": "", "digests": { "md5": "c4af35e343e8f4d010809662e47f4aa9", "sha256": "601a9a9a85dbe911413201d46f260a749dd985c11050c2adb0562658cdc2d256" }, "downloads": -1, "filename": "DjangoDav-0.0.1b15.tar.gz", "has_sig": false, "md5_digest": "c4af35e343e8f4d010809662e47f4aa9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38803, "upload_time": "2015-05-29T13:35:14", "url": "https://files.pythonhosted.org/packages/89/f0/9ae84e365abf6b551e50a5ef13f40221993c6263edc314a7e7987716e5fd/DjangoDav-0.0.1b15.tar.gz" } ], "0.0.1b16": [ { "comment_text": "", "digests": { "md5": "567e8c7dbdee3b863541803842bc5579", "sha256": "8297d18fb6d659a9a545c0a02f6dd9455b90007b1d97fd6581dfd866d957286c" }, "downloads": -1, "filename": "DjangoDav-0.0.1b16.tar.gz", "has_sig": false, "md5_digest": "567e8c7dbdee3b863541803842bc5579", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38851, "upload_time": "2015-06-23T14:33:56", "url": "https://files.pythonhosted.org/packages/4f/ec/adf8241d4ff05d8b178330841b2d13dbaafd31070696c8c694a61752bd20/DjangoDav-0.0.1b16.tar.gz" } ], "0.0.1b17": [ { "comment_text": "", "digests": { "md5": "81edbcb5d4aad958a220c2f2734553ba", "sha256": "02d4f399a44aa03ff035d345a255d1b1d71cf39e007638b78d66f5329b3e6d36" }, "downloads": -1, "filename": "DjangoDav-0.0.1b17.tar.gz", "has_sig": false, "md5_digest": "81edbcb5d4aad958a220c2f2734553ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38851, "upload_time": "2015-06-23T14:42:00", "url": "https://files.pythonhosted.org/packages/a7/4a/0d92a0f134d0340bb5cd7075ffabaa6ad6d990195f604c7748707bcc800a/DjangoDav-0.0.1b17.tar.gz" } ], "0.0.1b18": [ { "comment_text": "", "digests": { "md5": "4d38413ce06203a93b3e8d6a2b77907f", "sha256": "ad3b70d30ea8412e431a230afe2a31187c4550db7b6df8db57eeb0126f49746c" }, "downloads": -1, "filename": "DjangoDav-0.0.1b18.tar.gz", "has_sig": false, "md5_digest": "4d38413ce06203a93b3e8d6a2b77907f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38864, "upload_time": "2015-06-23T15:11:31", "url": "https://files.pythonhosted.org/packages/2b/83/d2807650130abebc63082b04ebd74d55efa0bccfce2df98a028fe1d7530f/DjangoDav-0.0.1b18.tar.gz" } ], "0.0.1b19": [ { "comment_text": "", "digests": { "md5": "096840ea317939bfb3c27ab8166ddd41", "sha256": "9bacf8f3c56ffc5df69059cb758758649fa2913eb9bf25eec47cc74fb1ecc1fe" }, "downloads": -1, "filename": "DjangoDav-0.0.1b19.tar.gz", "has_sig": false, "md5_digest": "096840ea317939bfb3c27ab8166ddd41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38876, "upload_time": "2015-07-23T08:37:29", "url": "https://files.pythonhosted.org/packages/38/0f/2acea00e4d4af9745841621c75e6e6b3932b4dcc46dcdbbe0c0e8e54b287/DjangoDav-0.0.1b19.tar.gz" } ], "0.0.1b2": [ { "comment_text": "", "digests": { "md5": "733225a3cbb3601b2339e7c1036d8a34", "sha256": "3d75d0844d3d6ef41c5d6737c59fe2ee7e1204cc9bb554a926a2dee68e89bdc6" }, "downloads": -1, "filename": "DjangoDav-0.0.1b2.tar.gz", "has_sig": false, "md5_digest": "733225a3cbb3601b2339e7c1036d8a34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21595, "upload_time": "2014-05-21T12:51:31", "url": "https://files.pythonhosted.org/packages/ef/60/280a1171a126d9e9a629248908722cb0f706012a7c65feee0129e46577ac/DjangoDav-0.0.1b2.tar.gz" } ], "0.0.1b20": [ { "comment_text": "", "digests": { "md5": "778bac1ece9fb46f0bc5ed6583c5d4c9", "sha256": "64dd009e5a532e9c71690dc048d2badde44d1554e8865894b52f2bae8950aeff" }, "downloads": -1, "filename": "DjangoDav-0.0.1b20.tar.gz", "has_sig": false, "md5_digest": "778bac1ece9fb46f0bc5ed6583c5d4c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38874, "upload_time": "2015-07-23T08:42:57", "url": "https://files.pythonhosted.org/packages/83/ec/b40d2327dcbc380c7a55bca9131e1edaedfff0be1cb7acca9381040dd6fc/DjangoDav-0.0.1b20.tar.gz" } ], "0.0.1b21": [ { "comment_text": "", "digests": { "md5": "aea15a98174286a654636361ff5e6a40", "sha256": "70af50096e41b6febcc1892bb2fdc94066898be0dea6fce4660eb72b0c5d2baf" }, "downloads": -1, "filename": "DjangoDav-0.0.1b21.tar.gz", "has_sig": false, "md5_digest": "aea15a98174286a654636361ff5e6a40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38892, "upload_time": "2015-12-22T06:24:29", "url": "https://files.pythonhosted.org/packages/f4/99/3ec52dd87a54e4ceb89a38ae98a2954b7f61de1f381688ae2788a148dfd8/DjangoDav-0.0.1b21.tar.gz" } ], "0.0.1b22": [ { "comment_text": "", "digests": { "md5": "af7d90587b59aa8e9d5653e043178e4f", "sha256": "629a67198be6229963a5ac03775bb1625135662983c4b91e972ae1db792db607" }, "downloads": -1, "filename": "DjangoDav-0.0.1b22.tar.gz", "has_sig": false, "md5_digest": "af7d90587b59aa8e9d5653e043178e4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38909, "upload_time": "2017-02-27T11:09:14", "url": "https://files.pythonhosted.org/packages/51/c7/5ad79dc00e0727f9d531541e777a6a4fc13ac228714bb95ac0b328512cb7/DjangoDav-0.0.1b22.tar.gz" } ], "0.0.1b23": [ { "comment_text": "", "digests": { "md5": "e62d90e7796d4826c7583a04742335a5", "sha256": "1b2d733e3e0928e7a2cd9d7d1500b5c6a182a5102eb7f7c6dfa773c8afec03e4" }, "downloads": -1, "filename": "DjangoDav-0.0.1b23.tar.gz", "has_sig": false, "md5_digest": "e62d90e7796d4826c7583a04742335a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38901, "upload_time": "2017-02-27T11:38:25", "url": "https://files.pythonhosted.org/packages/47/ca/ca9b962f64ad15bfe514b0781075ef89e02e753668bd5e7891a3b22b6031/DjangoDav-0.0.1b23.tar.gz" } ], "0.0.1b3": [ { "comment_text": "", "digests": { "md5": "e034f1c032dac55e708cd9154482221b", "sha256": "9430b7e9ca625cd14542e844dcd5f5128c5859a5e960779023deaa8ffccc2f88" }, "downloads": -1, "filename": "DjangoDav-0.0.1b3.tar.gz", "has_sig": false, "md5_digest": "e034f1c032dac55e708cd9154482221b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22918, "upload_time": "2014-05-22T14:27:07", "url": "https://files.pythonhosted.org/packages/ae/8f/97b91e7c934c5219b9db8fa58c8e8bdfdf4463bbc4bbfc48856231a35e54/DjangoDav-0.0.1b3.tar.gz" } ], "0.0.1b4": [ { "comment_text": "", "digests": { "md5": "69ffffc442f37623953a707d317bbfd8", "sha256": "833c0c710d85106ddf2517b5791f3e4fd5ea7b9b32bd2cff7927ca2cef50d067" }, "downloads": -1, "filename": "DjangoDav-0.0.1b4.tar.gz", "has_sig": false, "md5_digest": "69ffffc442f37623953a707d317bbfd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22958, "upload_time": "2014-08-08T16:12:02", "url": "https://files.pythonhosted.org/packages/d6/fb/c6ccb7ba3c9374252f206a92d9e2e04ed7bd492e992a1fe4a847c7e5dd1c/DjangoDav-0.0.1b4.tar.gz" } ], "0.0.1b5": [ { "comment_text": "", "digests": { "md5": "48a036a582e5bcdf97f32f409a267dfa", "sha256": "3da531c7d99052bb8e1ac08815f9cd1b4d26099c9758fd691bc1266f0b35eddb" }, "downloads": -1, "filename": "DjangoDav-0.0.1b5.tar.gz", "has_sig": false, "md5_digest": "48a036a582e5bcdf97f32f409a267dfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22949, "upload_time": "2014-08-08T16:45:52", "url": "https://files.pythonhosted.org/packages/93/ed/83a36688362ab11ca3b73450b57ca815b0fbac4ff435f71d2e4e4af8d895/DjangoDav-0.0.1b5.tar.gz" } ], "0.0.1b6": [ { "comment_text": "", "digests": { "md5": "0a0f0de94cab75c54b22fe8dbf207bf9", "sha256": "4d0bbf2ebfc62d002fb977678aa1bbc18faafc06994e5e3e70350ceef6d90f3c" }, "downloads": -1, "filename": "DjangoDav-0.0.1b6.tar.gz", "has_sig": false, "md5_digest": "0a0f0de94cab75c54b22fe8dbf207bf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22978, "upload_time": "2014-11-07T09:50:42", "url": "https://files.pythonhosted.org/packages/5a/dc/a454a655c78553db43b0b205a90fe9eb23dd2aab07aa65c20ec01bfa8b79/DjangoDav-0.0.1b6.tar.gz" } ], "0.0.1b7": [ { "comment_text": "", "digests": { "md5": "3cfbd465758877d47bc6aa4f093b4435", "sha256": "f06b4cafe0b7309abea08d6fcb3ebe7c7d26156a64049e0514ffbc01e5a08150" }, "downloads": -1, "filename": "DjangoDav-0.0.1b7.tar.gz", "has_sig": false, "md5_digest": "3cfbd465758877d47bc6aa4f093b4435", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22972, "upload_time": "2014-11-07T11:28:31", "url": "https://files.pythonhosted.org/packages/b5/a4/2200ad88e839e617865bb875f3f6e49dde91c16cf3f3f3ba04b12d703ce9/DjangoDav-0.0.1b7.tar.gz" } ], "0.0.1b8": [ { "comment_text": "", "digests": { "md5": "40ecded6a470faf0469c6999cb417902", "sha256": "477cd15f6771bceee7b8360a4fbaf798d78ce23c5af615e97c50491df2e2fea9" }, "downloads": -1, "filename": "DjangoDav-0.0.1b8.tar.gz", "has_sig": false, "md5_digest": "40ecded6a470faf0469c6999cb417902", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22954, "upload_time": "2014-11-10T14:47:42", "url": "https://files.pythonhosted.org/packages/f2/6d/b9f7d4357cda0f476d24ac5b58295fd455e1f45f5957d17fb645c5e7dbca/DjangoDav-0.0.1b8.tar.gz" } ], "0.0.1b9": [ { "comment_text": "", "digests": { "md5": "7ced31630dc803e2569fb31bdee892ea", "sha256": "c3b3a6e65735232c4b2da91b9d933192bcfadafe5991639b6c2da989f7aa5cb4" }, "downloads": -1, "filename": "DjangoDav-0.0.1b9.tar.gz", "has_sig": false, "md5_digest": "7ced31630dc803e2569fb31bdee892ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22920, "upload_time": "2014-11-25T12:05:42", "url": "https://files.pythonhosted.org/packages/46/a9/2b8ff347126513555b7711e47da89aa05fc8c0607d19575586d7b14dc683/DjangoDav-0.0.1b9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e62d90e7796d4826c7583a04742335a5", "sha256": "1b2d733e3e0928e7a2cd9d7d1500b5c6a182a5102eb7f7c6dfa773c8afec03e4" }, "downloads": -1, "filename": "DjangoDav-0.0.1b23.tar.gz", "has_sig": false, "md5_digest": "e62d90e7796d4826c7583a04742335a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38901, "upload_time": "2017-02-27T11:38:25", "url": "https://files.pythonhosted.org/packages/47/ca/ca9b962f64ad15bfe514b0781075ef89e02e753668bd5e7891a3b22b6031/DjangoDav-0.0.1b23.tar.gz" } ] }