Accepting request 438174 from home:TheBlackCat:branches:devel:languages:python
update to version 2.1.10 OBS-URL: https://build.opensuse.org/request/show/438174 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=33
This commit is contained in:
parent
0f46391ec5
commit
ce7b66256c
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:2ce0db3c70ec0413603d4aea389e4ece34ff93c265649b1c5c7d56e3c2cf19c4
|
|
||||||
size 1141457
|
|
3
pyparsing-2.1.10.tar.gz
Normal file
3
pyparsing-2.1.10.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:811c3e7b0031021137fc83e051795025fcb98674d07eb8fe922ba4de53d39188
|
||||||
|
size 1230829
|
@ -1,3 +1,245 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 1 19:46:14 UTC 2016 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- update to version 2.1.10:
|
||||||
|
* Fixed bug in reporting named parse results for ZeroOrMore
|
||||||
|
expressions, thanks Ethan Nash for reporting this!
|
||||||
|
* Fixed behavior of LineStart to be much more predictable.
|
||||||
|
LineStart can now be used to detect if the next parse position is
|
||||||
|
col 1, factoring in potential leading whitespace (which would
|
||||||
|
cause LineStart to fail). Also fixed a bug in col, which is used
|
||||||
|
in LineStart, where '\n's were erroneously considered to be column
|
||||||
|
1.
|
||||||
|
* Added support for multiline test strings in runTests.
|
||||||
|
* Fixed bug in ParseResults.dump when keys were not strings. Also
|
||||||
|
changed display of string values to show them in quotes, to help
|
||||||
|
distinguish parsed numeric strings from parsed integers that have
|
||||||
|
been converted to Python ints.
|
||||||
|
- update to version 2.1.9:
|
||||||
|
* Added class CloseMatch, a variation on Literal which matches
|
||||||
|
"close" matches, that is, strings with at most 'n' mismatching
|
||||||
|
characters.
|
||||||
|
* Fixed bug in Keyword.setDefaultKeywordChars(), reported by
|
||||||
|
Kobayashi Shinji - nice catch, thanks!
|
||||||
|
* Minor API change in pyparsing_common. Renamed some of the common
|
||||||
|
expressions to PEP8 format (to be consistent with the other
|
||||||
|
pyparsing_common expressions):
|
||||||
|
+ signedInteger -> signed_integer
|
||||||
|
+ sciReal -> sci_real
|
||||||
|
Also, in trying to stem the API bloat of pyparsing, I've copied
|
||||||
|
some of the global expressions and helper parse actions into
|
||||||
|
pyparsing_common, with the originals to be deprecated and removed
|
||||||
|
in a future release:
|
||||||
|
+ commaSeparatedList -> pyparsing_common.comma_separated_list
|
||||||
|
+ upcaseTokens -> pyparsing_common.upcaseTokens
|
||||||
|
+ downcaseTokens -> pyparsing_common.downcaseTokens
|
||||||
|
* Fixed Python3 compatibility bug when using dict keys() and
|
||||||
|
values() in ParseResults.getName().
|
||||||
|
* After some prodding, I've reworked the unitTests.py file for
|
||||||
|
pyparsing over the past few releases. It uses some variations on
|
||||||
|
unittest to handle my testing style. The test now:
|
||||||
|
+ auto-discovers its test classes (while maintining their order
|
||||||
|
of definition)
|
||||||
|
+ suppresses voluminous 'print' output for tests that pass
|
||||||
|
- update to version 2.1.8:
|
||||||
|
* Fixed issue in the optimization to _trim_arity, when the full
|
||||||
|
stacktrace is retrieved to determine if a TypeError is raised in
|
||||||
|
pyparsing or in the caller's parse action. Code was traversing the
|
||||||
|
full stacktrace, and potentially encountering UnicodeDecodeError.
|
||||||
|
* Fixed bug in ParserElement.inlineLiteralsUsing, causing infinite
|
||||||
|
loop with Suppress.
|
||||||
|
* Fixed bug in Each, when merging named results from multiple
|
||||||
|
expressions in a ZeroOrMore or OneOrMore. Also fixed bug when
|
||||||
|
ZeroOrMore expressions were erroneously treated as required
|
||||||
|
expressions in an Each expression.
|
||||||
|
* Added a few more inline doc examples.
|
||||||
|
* Improved use of runTests in several example scripts.
|
||||||
|
- changes from version 2.1.7:
|
||||||
|
* Fixed regression reported by Andrea Censi (surfaced in PyContracts
|
||||||
|
tests) when using ParseSyntaxExceptions (raised when using
|
||||||
|
operator '-') with packrat parsing.
|
||||||
|
* Minor fix to oneOf, to accept all iterables, not just
|
||||||
|
space-delimited strings and lists. (If you have a list or set of
|
||||||
|
strings, it is not necessary to concat them using ' '.join to pass
|
||||||
|
them to oneOf, oneOf will accept the list or set or generator
|
||||||
|
directly.)
|
||||||
|
- changes from version 2.1.6 :
|
||||||
|
* *Major packrat upgrade*, inspired by patch provided by Tal Einat -
|
||||||
|
many, many, thanks to Tal for working on this! Tal's tests show
|
||||||
|
faster parsing performance (2X in some tests), *and* memory
|
||||||
|
reduction from 3GB down to ~100MB! Requires no changes to
|
||||||
|
existing code using packratting. (Uses OrderedDict, available in
|
||||||
|
Python 2.7 and later. For Python 2.6 users, will attempt to
|
||||||
|
import from ordereddict backport. If not present, will implement
|
||||||
|
pure-Python Fifo dict.)
|
||||||
|
* Minor API change - to better distinguish between the flexible
|
||||||
|
numeric types defined in pyparsing_common, I've changed "numeric"
|
||||||
|
(which parsed numbers of different types and returned int for
|
||||||
|
ints, float for floats, etc.) and "number" (which parsed numbers
|
||||||
|
of int or float type, and returned all floats) to "number" and
|
||||||
|
"fnumber" respectively. I hope the "f" prefix of "fnumber" will be
|
||||||
|
a better indicator of its internal conversion of parsed values to
|
||||||
|
floats, while the generic "number" is similar to the flexible
|
||||||
|
number syntax in other languages. Also fixed a bug in
|
||||||
|
pyparsing_common.numeric (now renamed to pyparsing_common.number),
|
||||||
|
integers were parsed and returned as floats instead of being
|
||||||
|
retained as ints.
|
||||||
|
* Fixed bug in upcaseTokens and downcaseTokens introduced in 2.1.5,
|
||||||
|
when the parse action was used in conjunction with results names.
|
||||||
|
Reported by Steven Arcangeli from the dql project, thanks for your
|
||||||
|
patience, Steven!
|
||||||
|
* Major change to docs! After seeing some comments on reddit about
|
||||||
|
general issue with docs of Python modules, and thinking that I'm a
|
||||||
|
little overdue in doing some doc tuneup on pyparsing, I decided to
|
||||||
|
following the suggestions of the redditor and add more inline
|
||||||
|
examples to the pyparsing reference documentation. I hope this
|
||||||
|
addition will clarify some of the more common questions people
|
||||||
|
have, especially when first starting with pyparsing/Python.
|
||||||
|
* Deprecated ParseResults.asXML. I've never been too happy with this
|
||||||
|
method, and it usually forces some unnatural code in the parsers
|
||||||
|
in order to get decent tag names. The amount of guesswork that
|
||||||
|
asXML has to do to try to match names with values should have been
|
||||||
|
a red flag from day one. If you are using asXML, you will need to
|
||||||
|
implement your own ParseResults->XML serialization. Or consider
|
||||||
|
migrating to a more current format such as JSON (which is very
|
||||||
|
easy to do: results_as_json = json.dumps(parse_result.asDict())
|
||||||
|
Hopefully, when I remove this code in a future version, I'll also
|
||||||
|
be able to simplify some of the craziness in ParseResults, which
|
||||||
|
IIRC was only there to try to make asXML work.
|
||||||
|
* Updated traceParseAction parse action decorator to show the repr
|
||||||
|
of the input and output tokens, instead of the str format, since
|
||||||
|
str has been simplified to just show the token list content.
|
||||||
|
- update to version 2.1.5:
|
||||||
|
* Added ParserElement.split() generator method, similar to
|
||||||
|
re.split(). Includes optional arguments maxsplit (to limit the
|
||||||
|
number of splits), and includeSeparators (to include the
|
||||||
|
separating matched text in the returned output, default=False).
|
||||||
|
* Added a new parse action construction helper tokenMap, which will
|
||||||
|
apply a function and optional arguments to each element in a
|
||||||
|
ParseResults.
|
||||||
|
* Added more expressions to pyparsing_common:
|
||||||
|
+ IPv4 and IPv6 addresses (including long, short, and mixed
|
||||||
|
forms of IPv6)
|
||||||
|
+ MAC address
|
||||||
|
+ ISO8601 date and date time strings (with named fields for
|
||||||
|
year, month, etc.)
|
||||||
|
+ UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
|
||||||
|
+ hex integer (returned as int)
|
||||||
|
+ fraction (integer '/' integer, returned as float)
|
||||||
|
+ mixed integer (integer '-' fraction, or just fraction,
|
||||||
|
returned as float)
|
||||||
|
+ stripHTMLTags (parse action to remove tags from HTML source)
|
||||||
|
+ parse action helpers convertToDate and convertToDatetime to do
|
||||||
|
custom parse time conversions of parsed ISO8601 strings
|
||||||
|
* runTests now returns a two-tuple: success if all tests succeed,
|
||||||
|
and an output list of each test and its output lines.
|
||||||
|
* Added failureTests argument (default=False) to runTests, so that
|
||||||
|
tests can be run that are expected failures, and runTests' success
|
||||||
|
value will return True only if all tests *fail* as expected. Also,
|
||||||
|
parseAll now defaults to True.
|
||||||
|
* New example numerics.py, shows samples of parsing integer and real
|
||||||
|
numbers using locale-dependent formats
|
||||||
|
- changes from version 2.1.4:
|
||||||
|
* Split out the '==' behavior in ParserElement, now implemented as
|
||||||
|
the ParserElement.matches() method. Using '==' for string test
|
||||||
|
purposes will be removed in a future release.
|
||||||
|
* Expanded capabilities of runTests(). Will now accept embedded
|
||||||
|
comments (default is Python style, leading '#' character, but
|
||||||
|
customizable). Comments will be emitted along with the tests and
|
||||||
|
test output. Useful during test development, to create a test
|
||||||
|
string consisting only of test case description comments separated
|
||||||
|
by blank lines, and then fill in the test cases. Will also
|
||||||
|
highlight ParseFatalExceptions with "(FATAL)".
|
||||||
|
* Added a 'pyparsing_common' class containing common/helpful little
|
||||||
|
expressions such as integer, float, identifier, etc. I used this
|
||||||
|
class as a sort of embedded namespace, to contain these helpers
|
||||||
|
without further adding to pyparsing's namespace bloat.
|
||||||
|
* Minor enhancement to traceParseAction decorator, to retain the
|
||||||
|
parse action's name for the trace output.
|
||||||
|
* Added optional 'fatal' keyword arg to addCondition, to indicate
|
||||||
|
that a condition failure should halt parsing immediately.
|
||||||
|
- changes from version 2.1.3:
|
||||||
|
* _trim_arity fix in 2.1.2 was very version-dependent on Py 3.5.0.
|
||||||
|
Now works for Python 2.x, 3.3, 3.4, 3.5.0, and 3.5.1 (and
|
||||||
|
hopefully beyond).
|
||||||
|
- changes from version 2.1.2:
|
||||||
|
* Fixed bug in _trim_arity when pyparsing code is included in a
|
||||||
|
PyInstaller, reported by maluwa.
|
||||||
|
* Fixed catastrophic regex backtracking in implementation of the
|
||||||
|
quoted string expressions (dblQuotedString, sglQuotedString, and
|
||||||
|
quotedString). Reported on the pyparsing wiki by webpentest, good
|
||||||
|
catch! (Also tuned up some other expressions susceptible to the
|
||||||
|
same backtracking problem, such as cStyleComment, cppStyleComment,
|
||||||
|
etc.)
|
||||||
|
- update to version 2.1.1:
|
||||||
|
* Added support for assigning to ParseResults using slices.
|
||||||
|
* Fixed bug in ParseResults.toDict(), in which dict values were
|
||||||
|
always converted to dicts, even if they were just unkeyed lists of
|
||||||
|
tokens. Reported on SO by Gerald Thibault, thanks Gerald!
|
||||||
|
* Fixed bug in SkipTo when using failOn, reported by robyschek,
|
||||||
|
thanks!
|
||||||
|
* Fixed bug in Each introduced in 2.1.0, reported by AND patch and
|
||||||
|
unit test submitted by robyschek, well done!
|
||||||
|
* Removed use of functools.partial in replaceWith, as this creates
|
||||||
|
an ambiguous signature for the generated parse action, which fails
|
||||||
|
in PyPy. Reported by Evan Hubinger, thanks Evan!
|
||||||
|
* Added default behavior to QuotedString to convert embedded '\t',
|
||||||
|
'\n', etc. characters to their whitespace counterparts. Found
|
||||||
|
during Q&A exchange on SO with Maxim.
|
||||||
|
- update to version 2.1.0:
|
||||||
|
* Modified the internal _trim_arity method to distinguish between
|
||||||
|
TypeError's raised while trying to determine parse action arity
|
||||||
|
and those raised within the parse action itself. This will clear
|
||||||
|
up those confusing "<lambda>() takes exactly 1 argument (0 given)"
|
||||||
|
error messages when there is an actual TypeError in the body of
|
||||||
|
the parse action. Thanks to all who have raised this issue in the
|
||||||
|
past, and most recently to Michael Cohen, who sent in a proposed
|
||||||
|
patch, and got me to finally tackle this problem.
|
||||||
|
* Added compatibility for pickle protocols 2-4 when pickling
|
||||||
|
ParseResults. In Python 2.x, protocol 0 was the default, and
|
||||||
|
protocol 2 did not work. In Python 3.x, protocol 3 is the
|
||||||
|
default, so explicitly naming protocol 0 or 1 was required to
|
||||||
|
pickle ParseResults. With this release, all protocols 0-4 are
|
||||||
|
supported. Thanks for reporting this on StackOverflow, Arne
|
||||||
|
Wolframm, and for providing a nice simple test case!
|
||||||
|
* Added optional 'stopOn' argument to ZeroOrMore and OneOrMore, to
|
||||||
|
simplify breaking on stop tokens that would match the repetition
|
||||||
|
expression.
|
||||||
|
It is a common problem to fail to look ahead when matching
|
||||||
|
repetitive tokens if the sentinel at the end also matches the
|
||||||
|
repetition expression, as when parsing "BEGIN aaa bbb ccc END"
|
||||||
|
with:
|
||||||
|
|
||||||
|
"BEGIN" + OneOrMore(Word(alphas)) + "END"
|
||||||
|
|
||||||
|
Since "END" matches the repetition expression "Word(alphas)", it
|
||||||
|
will never get parsed as the terminating sentinel. Up until now,
|
||||||
|
this has to be resolved by the user inserting their own negative
|
||||||
|
lookahead:
|
||||||
|
|
||||||
|
"BEGIN" + OneOrMore(~Literal("END") + Word(alphas)) + "END"
|
||||||
|
|
||||||
|
Using stopOn, they can more easily write:
|
||||||
|
|
||||||
|
"BEGIN" + OneOrMore(Word(alphas), stopOn="END") + "END"
|
||||||
|
|
||||||
|
The stopOn argument can be a literal string or a pyparsing
|
||||||
|
expression. Inspired by a question by Lamakaha on StackOverflow
|
||||||
|
(and many previous questions with the same negative-lookahead
|
||||||
|
resolution).
|
||||||
|
* Added expression names for many internal and builtin expressions,
|
||||||
|
to reduce name and error message overhead during parsing.
|
||||||
|
* Converted helper lambdas to functions to refactor and add
|
||||||
|
docstring support.
|
||||||
|
* Fixed ParseResults.asDict() to correctly convert nested
|
||||||
|
ParseResults values to dicts.
|
||||||
|
* Cleaned up some examples, fixed typo in fourFn.py identified by
|
||||||
|
aristotle2600 on reddit.
|
||||||
|
* Removed keepOriginalText helper method, which was deprecated ages
|
||||||
|
ago. Superceded by originalTextFor.
|
||||||
|
* Same for the Upcase class, which was long ago deprecated and
|
||||||
|
replaced with the upcaseTokens method.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Feb 1 11:11:39 UTC 2016 - toddrme2178@gmail.com
|
Mon Feb 1 11:11:39 UTC 2016 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
@ -17,23 +17,21 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: python-pyparsing
|
Name: python-pyparsing
|
||||||
Version: 2.0.7
|
Version: 2.1.10
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://pyparsing.wikispaces.com/
|
Url: http://pyparsing.wikispaces.com/
|
||||||
Summary: Grammar Parser Library for Python
|
Summary: Grammar Parser Library for Python
|
||||||
License: MIT and GPL-2.0+ and GPL-3.0+
|
License: MIT and GPL-2.0+ and GPL-3.0+
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
Source: http://pypi.python.org/packages/source/p/pyparsing/pyparsing-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildRequires: python
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: python-setuptools
|
BuildRequires: python-setuptools
|
||||||
|
Requires: python
|
||||||
Provides: python-parsing = %{version}
|
Provides: python-parsing = %{version}
|
||||||
Obsoletes: python-parsing < %{version}
|
Obsoletes: python-parsing < %{version}
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
|
|
||||||
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
|
||||||
%else
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The pyparsing module is an alternative approach to creating and executing
|
The pyparsing module is an alternative approach to creating and executing
|
||||||
@ -60,7 +58,7 @@ This package contains the documentation of %{name}
|
|||||||
%build
|
%build
|
||||||
python setup.py build
|
python setup.py build
|
||||||
# Fix wrong EOL encoding:
|
# Fix wrong EOL encoding:
|
||||||
sed -i 's/\r$//' CHANGES LICENSE README examples/*
|
sed -i 's/\r$//' CHANGES LICENSE README examples/*py
|
||||||
|
|
||||||
%install
|
%install
|
||||||
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||||
|
Loading…
Reference in New Issue
Block a user