路由识别和生成工具

pybald-routes的Python项目详细描述


路由更改日志

2.1版(2014年3月8日)

  • Pybald的具有子应用程序重写行为的分叉释放

2.0版(2013年11月17日)

  • python 3.2/3.3支持。修复问题2。感谢亚历杭德罗·桑切斯 拉请求!

发布1.13(2012年3月12日)

  • 默认情况下,使用点强制扩展修复错误。带点的部分可以 现在被认出来。迈克尔·巴斯奈特的补丁。

1.12.3版(2010年6月5日)

  • 修复urlgenerator在生成时未正确包含脚本名的错误 url和singleton不存在。

1.12.2版(2010年5月5日)

  • 修复路由urlgenerator在以下情况下未正确包含脚本名的错误 正在生成合格的URL。

发布1.12.1(2010年3月11日)

  • 修复默认情况下路由不生成可调用url的错误。
  • 修复生成过程中路由不处理子域默认值的错误。

版本1.12(2010年2月28日)

  • 拆分Routes文档。
  • 修复相对url使用限定合并主机和url而不使用 包括适当的斜线。修复13。
  • 修复mapper.extend和routes修改其原始参数的错误。 修复24。
  • 修正url.current()在explicit为true时不返回当前参数。
  • 添加了直接使用映射器与environ匹配的显式方法。
  • 修复子应用程序的len放置不正确的错误。
  • 为整个regexp添加正则表达式生成器以加快拒绝速度 在单个regexp中,所有路由都不应匹配。
  • 给映射器一个表格式的字符串表示。
  • 使子应用程序对象可嵌套并添加路由生成帮助程序。
  • 添加基于子应用程序的集合。
  • 默认情况下,将不推荐使用的mapper.minimization设置为false(禁用)。
  • 默认情况下,使映射器显式(true)。

发布1.11(2009年9月28日)

  • 广泛的文档重写。
  • 添加了mapper.extend函数,允许添加路由对象列表 一批映射程序,可以选择使用路径前缀。
  • 添加了Mapper.Submapper函数,该函数返回要启用的Submapper对象 更容易声明具有多个关键字参数选项的路由 共同点。
  • mapper controller_scan参数现在处理none和controller列表 除了可调用的名称之外。
  • route对象现在接受一个name参数,这是它响应的名称。 当使用映射器的连接调用时,将自动添加此名称。 类方法。
  • 添加了可选的lru对象,以便在url经常更改时与路由一起使用 使urlcache dict路由成为一个可行的选项。

1.10.3版(2009年2月8日)

  • 调整以使用webob请求而不是粘贴。
  • URL识别的性能调整。
  • routes.middleware的错误修复没有在移动路径信息之前重新转义路径信息 到脚本名。

1.10.2版(2009年1月11日)

  • 非最小化路由生成的Unicode编码问题的错误修复。 由威克特·阿克曼发现。
  • 单元测试中环境为{}时的错误修复。

发布1.10.1(2008年9月27日)

  • 由于性能和线程问题,正在删除LRU缓存。缓存确实命中 给定路线的最大尺寸。

1.10版(2008年9月24日)

  • 添加lru缓存而不仅仅是dict来缓存生成的路由。这个 避免在长时间运行且不存在的路由上出现缓慢的内存泄漏 生成。
  • 正在添加urlgenerator对象。
  • 添加重定向路由。
  • 如果使用{},静态路由现在可以在路径中插入变量部分 可变部件语法。
  • 添加子域条件选项以接受false或none,以要求 没有为要匹配的路由提供子域。

1.9.2版(2008年7月8日)

  • 修复了url中的错误,该错误导致它在不应该返回文本时返回文本 有.

1.9.1版(2008年6月28日)

  • 修正了格式被吸收的格式化路由识别中的错误 进入ID。

1.9版(2008年6月12日)

  • 修复url中未定义的arg错误。
  • 修复了URL的错误,该错误是由于当 子域处于活动状态。谢谢Pavel Skvazh。
  • 将非最小化选项添加到路由和映射器以生成和 认可。
  • 添加用于生成路由和regexp的Routes 2.0样式语法。例如,这个 路由现在可以工作:'{controller}/{action}/{id}'。
  • 在生成URL时不使用Quote\u Plus的固定路由。
  • 警告:Mapper现在的硬编码名称默认设置为true。这个 意味着按名称生成的路由必须适用于URL。
  • 实际上,要尊重禁用urlcache。
  • 警告:用一组返回none的参数调用url会抛出 例外。以前检查是否可以生成url的代码必须 相应地更新。
  • 更新的url_用于返回文本中的url,以用于模板 再次尝试逃离。
  • 添加了使用x_forwarded_proto在https后面进行代理的选项 更容易。
  • 修正了map.resource对id的限制比空格小。
  • 修复了mapper.create_regs不是线程安全的问题,特别是当 始终扫描=真。

1.8版(2008年3月28日)

  • 修正了map.resource不允许id中有空格的错误。
  • 修复了正确处理Unicode默认值的URL生成,以及 Unicode参数。
  • 修复了用于在生成查询时将列表作为关键字参数处理的url 参数。
  • 警告:已将map.resource更改为对操作不使用";",但 普通"/"。这意味着格式化的url现在也将具有 行动之后再来。ie:/messsages/4.xml;rss->;/消息/4/rss.xml

1.7.3版(2008年5月28日)

  • 修复了三重转义错误,因为wsgi服务器负责 无法逃避。
< H3>租约1.7.2(2008年2月27日)
  • 修复了关键字参数未正确强制为原始字符串的错误。

1.7.1版(2007年11月16日)

  • 修正了从路由默认值到Unicode编码的子域错误 导致Unicode路由,然后导致URL 例外。
  • 已删除map.resource中的重复工作分配。Mike Naberezny的补丁。
  • 已为路径检查应用测试修补程序修复。谢谢迈克·纳贝雷兹尼。
  • 添加了对剩余url的额外检查,以正确地吞入 适当的背景。修复57。
  • 添加了mapper.hardcode_names选项,该选项将URL生成限制为 生成期间的命名路由,而不是使用路由默认选项 在生成过程中。
  • 修复了在post期间无法识别的特殊'\u method'属性 "多部分/表单数据"内容类型的请求。

1.7版(2007年6月8日)

  • 固定url_unquoting仅适用于字符串。
  • 在单个路由中添加了编码选项,以在 每条路线。
  • 固定路由匹配,以便"."和其他特殊字符仅是 匹配后不应该跟那个字符。修正了regexp的创建 其中带有"."的路由部分匹配不正确。修复48。
  • 修复了Unicode解码/编码,以便URL解码和编码可以 使用mapper.encoding在映射器上设置。修复40。
  • 不要假设environ['content_type']总是存在:它可以被忽略 根据wsgi pep.
  • 修复了路径信息动态/通配符部分的Unicode解码/编码,以便 路径信息将保持原始字符串不变。修复51.
  • 修复了在Unicode中引发异常的URL(因此重定向到) 返回字符串,因为该URL无效。修复46。
  • 如果内容类型为 application/x-www-form-urlencoded用于html表单。这样可以避免 在不需要时解析wsgi.input。

1.6.3版(2007年4月10日)

  • 修复了匹配,以便尝试匹配空路径时引发 路由异常。修复44。
  • 增加了在url中使用诸如"-"和"\uin"等字符的能力 地图资源。怀亚特鲍德温的补丁。修复45。
  • 已使用名称前缀和路径前缀检查更新mapper.resource处理 指定默认值。同时确保它们中的任何一个被设置为 如果指定了父资源,则重写前缀。怀亚特的补丁 Baldwin。修复42。
  • 添加了对传入路径参数的utf-8解码,并返回到忽略 在极少数情况下,会发送格式错误的请求url。补丁从 大卫史密斯。
  • 将""字符固定为可以省略的字符 用于路由路径。由Mike Orr发现。
  • 添加了指定要映射的父资源的功能。resource命令。补丁从 怀亚特鲍德温。
  • 修复了附加集合时map.resource的格式化路由问题 方法已指定。添加了用于验证集合方法的单元测试 工作正常。
  • 更新了URL解析,以便在之前正确使用HTTP主机作为主机名+端口信息 返回到服务器端口和服务器名称。修复43。
  • 使用时将成员名和集合名设置添加到路由对象 地图资源。
  • 更新了routes.middleware以使匹配的路由可访问为 环境['routes.route'].
  • 更新映射器对象以对请求数据使用线程本地(例如 环境)和中间件现在删除 请求。
  • 为路由和映射程序添加了显式选项。路由明确设置将 在设置映射器时防止隐式设置路由默认值 显式将阻止路由隐式默认值停止使用URL 路由内存。修复38。
  • 更新配置对象,以便在可能的情况下附加路由。
  • 通过调试消息添加标准日志记录用法。
  • 添加了正常"."匹配的附加测试,并将新的特殊匹配修复为 正确匹配。谢谢大卫史密斯。
  • 修复了在URL末尾使用"特殊"URL字符的挂起特殊字符问题 之后缺少变量。
  • 更改路由生成和识别以处理其他"特殊"URL字符 。而且;好像他们是。这使得它们可以选择性地从 生成的结果URL。David Smith要求的功能。
  • 修复了regexp生成器中正确处理两个分组的lookahead断言 连续的图案。
  • 应用修补程序生成和匹配以处理Unicode字符 适当地。David Smith用Patch报告。

1.6.2版(2007年1月5日)

  • 修正了方法检查不能正确处理不同信件的问题 请求法案例。肖恩戴维斯报道。
  • 重定向到现在支持config.redirect返回重定向,而不仅仅是 举起一个。

第1.6.1版(2006年12月29日)

  • 修正了zipsafe标志为false。

第1.5.2版(2006年10月16日)

  • 修复了使用时保留主机端口名的限定关键字,除非主机 是专门传进来的。Jon Rosebaugh报道。
  • 已将限定关键字选项添加到url中以使其生成完整的 网址。解决方案29。
  • 修复了url中文档字符串的示例,使其准确无误。

发布1.5.1(2006年10月4日)

  • 修复了正则表达式中转义部分名称的错误,报告者为 詹姆斯·泰勒。

第1.5版(2006年9月19日)

  • 对map.resource和单元测试的重要更新,彻底梳理了它 以确保其创建所有正确的路由(现在是)。增加的单位 测试覆盖率达到95%。
  • 添加单元测试以确保控制器扫描与嵌套 控制器文件并适当地扫描目录结构。这个 使routes util模块达到完整的代码覆盖范围。
  • 修复了的URL,以便在协议更改时,端口信息为 从主机中删除。
  • 为requestconfig对象添加了更彻底的测试,并能够 设定你自己的目标。这增加了初始化模块的测试覆盖率 达到100%。
  • 修复了子域不在URL中维护端口信息的错误 增加了单元测试。Jonathan Rosebaugh报道。
  • 添加了单元测试以确保sub_domain选项与命名路由一起工作,已清除 用于内存参数筛选的URL。修复了具有命名路由和子域的错误 Jonathan Rosebaugh报道,选项不在一起。
  • 变更顺序添加omain以匹配dict,因此可以使用它 在条件函数中。

发布1.4.1(2006年9月6日)

  • 向映射程序添加了子域选项,以及子域忽略列表 与主域等价的子域。当子域 处于活动状态,url_for现在将采用子域选项,该选项可以更改主机 这条路线将前往。
  • 增加了筛选函数的功能,以提供主机、协议、锚参数 然后使用它创建具有适当主机/协议/锚的url 目的地。
  • 从28号罚单申请修补程序。解决映射器控制器扫描的问题 函数需要有效的目录参数。由Zoran Isailovski提交。

1.4版(2006年7月21日)

  • 修复了与成员方法相关的map.resource的错误,该错误出现在Rails版本中。
  • 修正了map.resource成员方法不需要成员id的错误。
  • 修复了与处理关键字参数控制器相关的错误。
  • 添加了map.resource命令,可以自动生成一批预期的路由 在Web框架中以完全静止的方式使用。
  • 为"method"参数添加了url生成处理。如果指定了"method",则 不会被删除,并将更改为"u方法"供框架使用。
  • 向map.connect添加了条件选项。接受带有可选关键字参数的dict "方法"或"函数"。方法是对路由有效的http方法的列表。 函数是将使用environ,matchdict调用的函数,其中matchdict是 由url匹配创建的dict。
  • 修复了使用绝对URL的函数的重定向。重定向到现在将所有参数传递到 url_for,然后将生成的url传递给重定向函数。由Climbus报告。

1.3.2版(2006年4月30日)

  • 修正了david creemer报告的匹配期间包含在match dict中的过滤器错误。
  • 修正了使用urllib.encode的错误url引用,jason culverhouse提供补丁。

发布1.3.1(2006年4月4日)

  • mapper有一个可选属性 附加斜杠 。当设置为 true 时,任何url 生成的将在末尾附加一个斜线。
  • 固定前缀选项,以便如果路径信息在前缀regexp之后为空,则其设置为 "/"所以比赛进行得很顺利。
  • 修复了前缀错误,该错误导致初始路径之后的路由看不到正确的url 用于匹配。被Jochen Kupperschmidt抓获。

第1.3版(2006年2月25日)

  • 关键字筛选器的URL: 命名路由现在可以有一个应该指定接受 作为其唯一论据的口述。dict将包含传递给 url_for,然后函数可以根据需要对其进行修改。新的口述将会是 就好像它是给url的原始关键字参数集一样。
  • 修复了由于对排序语句使用关键字arg而导致的Python2.3不兼容问题 使用内置控制器扫描仪时。

第1.2版(2006年2月17日)

  • 如果命名路由不存在,则使用url_进行调用,而不是使用 关键字参数要生成一个url,它们将用作raw的查询参数 提供了URL。(向后不兼容)
  • 如果mapper具有debug=true,则使用match将返回两个附加值,则路由 如果有一个匹配的话。以及一份尝试过的路线和信息列表 关于他们为什么没有通过。
  • 增强功能的URL: 现在可以与"raw"url一起使用,为静态内容生成正确的url 如果需要,将自动包含脚本名 静态命名路由现在可以是used可根据需要快捷获取公共路径信息。
  • 控制器扫描器现在将对控制器名称进行排序,以便最长的名称是第一个。这个 确保最深的嵌套控制器先执行,再执行较浅的 提高可预测性。
  • 控制器扫描程序现在可以正确地扫描目录,1.1版本中的 创建控制器列表时的目录前缀。 (感谢贾斯汀引起我的注意)

第1.1版(2006年1月13日)

  • 路线映射器添加: 现在采用几个可选参数来确定 生成regexp的。 现在可以在确定可用的 控制器是。带有默认目录扫描程序 给定默认扫描仪或函数的目录,映射器 将在需要时自动运行它以获取控制器列表
  • 用于拆分路由以允许更复杂的路由路径的语法,如 作为":controller/:(action)-:(id).html"
  • 更容易设置/集成每个请求的路由。将环境设置为 wsgi environ将运行match,并为/etc设置url所需的所有内容。

1.0.2版(2005年12月30日)

  • 存在默认值但没有填充不正确值的路由。
  • 在生成过程中传递0的值将为"无",从而导致丢失 URL部分

1.0.1版(2005年12月18日)

  • 请求本地可调用-现在可以指定自己的可调用函数 然后应用于存储请求配置数据。这对 可能在一个环境中运行多个请求的环境 线程。callable应该为属性返回一个特定于请求的对象 依附。有关详细信息,请参阅routes.\u init\uuuuuuuuuuuuuuy.py。

1.0版(2005年11月21日)

  • 路线。初始化将加载大多数人将加载的常用符号 想要真正使用。 因此,您可以:

    from routes import *
    

    或:

    from routes import request_confg, Mapper
    

    以下名称可用于从路由导入:

    request_config, Mapper, url_for, redirect_to
    
  • 路由名称-现在可以命名路由,这将保存默认值的副本 由url或重定向到定义以供以后使用。 因此,这样的路由和url:

    m.connect('home', controller='blog', action='splash')
    url_for(controller='blog', action='splash')   # => /home
    

    现在可以使用名称:

    m.connect('home_url','home', controller='blog', action='splash')
    url_for('home_url')  # => /home
    

    其他关键字仍可以添加到url中,并将覆盖中的默认值 指定路线。

  • trailing/-route recognition早先在尾部斜杠上失败,不是真正的bug, 我想这不是什么特色。不管怎么说,跟在铁轨上一样,后面的斜杠也没问题。 版本:

  • 重定向到"Now has two set of tests to ensure it works properly"(现在有两组测试以确保其正常工作)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
json到bson转换中的java性能问题   java设置一个内部接口。用于GUI的txt文件,并从中检索文本。txt文件   java Android系统GUI事件监听器   java此方法必须返回int类型的结果?   xmpp中无法识别java登录方法   java这个伞状异常的原因是什么   JAVA木卫一。IOException:无法删除原始文件   java找出循环依赖项的路径   排序java ArrayList合并排序   java使用StAX读取所有文本元素   java规则可能会被忽略   java如何在Arraylist中查找具有多个属性的对象?   java RecyclerView行在插入项目时闪烁/闪烁   java在表中选择行时更改文本框中的文本