跳转到主要内容

包含独立服务器功能的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

更多信息: http://code.google.com/p/pywebdav/

变更

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 (52.6 kB 查看散列)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面