包含独立服务器功能的WebDAV库
项目描述
Python的WebDAV库。
包括一个准备运行的 服务器 和提供WebDAV服务器(!)功能的DAV包。
目前支持
WebDAV级别1
级别2(LOCK,UNLOCK)
实验性迭代器支持
它可以与以下内容很好地配合使用
Mac OS X Finder
Windows资源管理器
iCal
cadaver
Nautilus
此软件包 不 提供客户端功能。
安装
安装此软件包后,您将在 $PYTHON/bin 目录中有一个名为 davserver 的新脚本。这作为服务器的入口点。
示例
示例(使用easy_install)
easy_install PyWebDAV davserver -D /tmp -n
示例(本地解压缩文件)
tar xvzf PyWebDAV-$VERSION.tar.gz cd pywebdav python setup.py develop davserver -D /tmp -n
变更
0.9.8(2011年3月25日)
重构。将DAV包移至pywebdav.lib。所有集成商只需简单地将“from DAV”导入替换为“from pywebdav.lib”。[Simon Pamies]
移除BufferingHTTPServer,复用BaseHTTPServer的头解析器。[Cédric Krier]
修复问题44:PROPFIND响应不完整。[Sascha Silbe]
0.9.4(2010年4月15日)
添加一些配置设置变量,以启用/禁用迭代器和块支持。[Stephane Klein]
移除os.system调用,从而修复问题32。[Simon Pamies]
修复问题14。[Simon Pamies]
移除magic.py模块 - 替换为mimetypes模块。[Simon Pamies]
在日志请求中打印User-Agent信息。[Stephane Klein]
修复问题13:当请求http版本为1.0时,返回http 1.0兼容的响应(非分块)。[cliff.wells]
增强日志机制。[Stephane Klein]
修复问题15:执行PUT操作时,使用Apple Finder客户端出现错误。[Stephane Klein]
修复问题14:config.ini布尔参数读取问题。[Stephane Klein]
0.9.3(2009年7月2日)
将WebDAV v2设置为默认值,因为LOCK和UNLOCK现在似乎很稳定。 -J参数被忽略,并将被移除。[Simon Pamies]
修复PROPFIND以返回所有属性。[Cedric Krier]
修复do_PUT初始化。[Cedric Krier]
添加REPORT支持。[Cedric Krier]
添加对gzip编码的支持。[Cedric Krier]
修复错误的–port选项。[Martin Wendt]
正确处理与Windows相关的环境中的路径。[Martin Wendt]
包含基于magic.py的文件类型检查,magic.py来自Jason Petrone。将magic.py包含在此包中。所有magic.py代码(c)2000 Jason Petrone。包含自http://www.jsnp.net/code/magic.py。[Joerg Friedrich, Simon Pamies]
当服务器运行时,状态检查不工作。[Joerg Friedrich]
修复Last-Modified和creationdate的错误时间格式(必须遵循RFC 822和3339)。[Cedric Krier]
0.9.2(2009年5月11日)
修复COPY、MOVE、DELETE以支持锁定资源。[Simon Pamies]
修复PROPFIND以返回非现有对象的404状态,并减少属性膨胀。[Simon Pamies]
根据内存中的锁/令牌数据库实现完全工作的LOCK和UNLOCK。现在完全支持cadaver和Mac OS X Finder。[Simon Pamies]
修复MKCOL响应为201。[Jesus Cea]
修复MSIE webdav头。[Jesus Cea]
使propfind遵守查询的深度。[Cedric Krier]
在GET的头部添加ETag。这是实现GroupDAV、CardDAV和CalDAV所必需的。[Cedric Krier]
处理“Expect 100-continue”头部。[Cedric Krier]
移除调试语句并移除日志。[Cedric Krier]
如果设置,则在baseuri中使用Host头部。[Cedric Krier]
在PUT和DELETE上添加If-Match。[Cedric Krier]
0.9.1(2009年5月4日)
稍微重构了一下结构:将服务器包制作成真正的Python包。调整错误消息。准备egg发行版。[Simon Pamies]
修复时间格式化错误。感谢Ian Kallen。[Simon Pamies]
对WebDavServer(状态处理不正确)和propfind(“Depth: 0”的PROPFIND返回子项)进行了一些小的修复。[Kjetil Irbekk]
0.8(2008年7月15日)
LOCK和UNLOCK特性的首次实现尝试。仍然非常不完整(读:非常不完整)且在本版本中不起作用。[Simon Pamies]
进行了一些代码清理,以准备重构。[Simon Pamies]
迁移到minidom,因为PyXML不再维护。[Martin v. Loewis]
utils.py:使用DOMImplementation类创建新的xml文档。使用dom命名空间功能在DAV:命名空间内创建元素。[Stephane Bonhomme]
davcmd.py:在树的删除和复制操作上缺少缩进,这导致只删除/复制了最后一个对象:在复制集合时总是导致失败。[Stephane Bonhomme]
propfind.py:在createResponse方法的末尾缺少返回(没有xml主体的propfind,应作为allprops处理)。[Stephane Bonhomme]
0.7
添加了MySQL身份验证支持,由Vince Spicer提供。还添加了INI文件支持,也由Vince提供。一些小的错误修复和集成更改。添加了实例计数器,使得多个实例成为可能。扩展了-helptext文本[Simon Pamies]
0.6
添加了对有缺陷的Mac OS X Finder实现的错误修复。Finder试图在不检查是否存在的情况下尝试stat .DS_Store。清理了readme和安装文件。将许可证移至额外文件中。添加了distutils支持。重构了模块布局。重构了类和模块名称。添加了命令行支持。添加了daemonize支持。添加了日志功能。添加了扩展参数
一些我记不起来的其他事情[Simon Pamies]
自0.5.1以来的更改
更新到与最新的4Suite兼容
自0.5以来的更改
添加了constants.py数据.py现在在请求resourcetype时必须返回COLLECTION或OBJECT。propfind.py将自动生成正确的xml元素。<href>现在只包含路径,将HTTP/1.0标题更改为HTTP/1.1,使其与WebFolders兼容。在AuthServer.py中添加了DO_AUTH常量以控制是否应该进行身份验证。在davserver.py中添加了分块响应,这是为了有一天得到一个支持keep-alive的服务器。我们现在使用4DOM而不是PyDOM,在href中的URI是引用的。PROPFIND相关内容完全重写:当属性不存在或不可访问时,现在会生成错误响应。命名空间处理现在更好。我们忘记任何前缀,并在稍后响应中自己创建它们。在DAV/中添加了superclass iface.py,以便更容易实现接口类。请参阅data.py了解如何使用它。注意,data.py处理事情的方式可能与先前版本不同(如果你不喜欢它,请等待1.0!)在iface.py中添加了格式化creationdate和lastmodified的功能实现了HEAD
许多错误修复
自0.3以来的更改
从davserver.py中移除了硬编码的基本URI,并用dataclass的引用替换。将其添加到iface.py中,您必须在子类中定义它。添加了davcmd.py,其中包含用于复制和移动的实用函数。重新实现了DELETE,并去除了对pydom的依赖。将实际的删除方法移动到davcmd。实现了COPY,实现了MOVE,修复了errors.py中的错误,需要重新访问。在davserver.py中使用之前将URI取消引用,在data.py中的系统调用中使用引用的路径以支持路径名中的空格(例如mkdir '%s')。在捕获接口类的错误时切换到异常。向data.py中添加了exists()方法。向utils.py中添加了更多的uri实用函数。修复了千禧年问题;-)
项目详情
PyWebDAV-0.9.8.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 510edb31ff8d4ad5a758c94eee4f12e6178ccb69fe70842d8db52098cedb20ec |
|
MD5 | 2fd2aca0074f0d0ac2701c9c0cadb89e |
|
BLAKE2b-256 | e9145f2a654233e533797f32dd670dab8dd61ac974d5105950481e872bddb898 |