==========

Change Log
==========

Version 2.0.2 - April, 2014
---------------------------
- Extended "expr(name)" shortcut (same as "expr.setResultsName(name)")
  to accept "expr()" as a shortcut for "expr.copy()".
- Added "locatedExpr(expr)" helper, to decorate any returned tokens
  with their location within the input string. Adds the results names
  locn_start and locn_end to the output parse results.
- Added "pprint()" method to ParseResults, to simplify troubleshooting
  and prettified output. Now instead of importing the pprint module
  and then writing "pprint.pprint(result)", you can just write
  "result.pprint()".  This method also accepts addtional positional and
  keyword arguments (such as indent, width, etc.), which get passed
  through directly to the pprint method
  (see http://docs.python.org/2/library/pprint.html#pprint.pprint).
- Removed deprecation warnings when using '<<' for Forward expression
  assignment. '<<=' is still preferred, but '<<' will be retained
  for cases whre '<<=' operator is not suitable (such as in defining
  lambda expressions).
- Expanded argument compatibility for classes and functions that
  take list arguments, to now accept generators as well.
- Extended list-like behavior of ParseResults, adding support for
  append and extend. NOTE: if you have existing applications using
  these names as results names, you will have to access them using
  dict-style syntax: res["append"] and res["extend"]
- ParseResults emulates the change in list vs. iterator semantics for
  methods like keys(), values(), and items(). Under Python 2.x, these
  methods will return lists, under Python 3.x, these methods will
  return iterators.
- ParseResults now has a method haskeys() which returns True or False
  depending on whether any results names have been defined. This simplifies
  testing for the existence of results names under Python 3.x, which
  returns keys() as an iterator, not a list.
- ParseResults now supports both list and dict semantics for pop().
  If passed no argument or an integer argument, it will use list semantics
  and pop tokens from the list of parsed tokens. If passed a non-integer
  argument (most likely a string), it will use dict semantics and
  pop the corresponding value from any defined results names. A
  second default return value argument is supported, just as in
  dict.pop().
- Fixed bug in markInputline, thanks for reporting this, Matt Grant!
- Cleaned up my unit test environment, now runs with Python 2.6 and
  3.3.
--------------------------
This commit is contained in:
rodent 2014-06-02 00:07:40 +00:00
parent 907cb90fb2
commit 4c448eb50b
2 changed files with 7 additions and 7 deletions

View file

@ -1,10 +1,10 @@
# $NetBSD: Makefile,v 1.2 2014/02/06 01:58:20 obache Exp $
# $NetBSD: Makefile,v 1.3 2014/06/02 00:07:40 rodent Exp $
DISTNAME= pyparsing-2.0.1
DISTNAME= pyparsing-2.0.2
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
PKGREVISION= 1
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pyparsing/pyparsing/${DISTNAME}/}
MASTER_SITES+= https://pypi.python.org/packages/source/p/pyparsing/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://sourceforge.net/projects/pyparsing

View file

@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.1 2013/07/22 11:59:53 richard Exp $
$NetBSD: distinfo,v 1.2 2014/06/02 00:07:40 rodent Exp $
SHA1 (pyparsing-2.0.1.tar.gz) = b645857008881d70599e89c66e4bbc596fe22043
RMD160 (pyparsing-2.0.1.tar.gz) = 6001ee51f2098235968045d738d74d951d48110e
Size (pyparsing-2.0.1.tar.gz) = 1129563 bytes
SHA1 (pyparsing-2.0.2.tar.gz) = 882b9ad439c600b0412ec0f1c806a5f3b9d4f4c7
RMD160 (pyparsing-2.0.2.tar.gz) = e9e90763bba4f85c6f967b2495165cf0a83d76a1
Size (pyparsing-2.0.2.tar.gz) = 1136568 bytes