2021-11-13 10:52:40 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pyparsing: updated to 3.0.6
Version 3.0.6 -
---------------
- Added `suppress_warning()` method to individually suppress a warning on a
specific ParserElement. Used to refactor `original_text_for` to preserve
internal results names, which, while undocumented, had been adopted by
some projects.
- Fix bug when `delimited_list` was called with a str literal instead of a
parse expression.
Version 3.0.5 -
---------------
- Added return type annotations for `col`, `line`, and `lineno`.
- Fixed bug when `warn_ungrouped_named_tokens_in_collection` warning was raised
when assigning a results name to an `original_text_for` expression.
- Fixed internal bug where ParserElement.streamline() would not return self if
already streamlined.
- Changed run_tests() output to default to not showing line and column numbers.
If line numbering is desired, call with `with_line_numbers=True`. Also fixed
minor bug where separating line was not included after a test failure.
|
2021-11-02 07:13:46 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pyparsing: updated to 3.0.4
Version 3.0.4 -
---------------
- Fixed bug in which `Dict` classes did not correctly return tokens as nested
`ParseResults`, reported by and fix identified by Bu Sun Kim, many thanks!!!
- Documented API-changing side-effect of converting `ParseResults` to use `__slots__`
to pre-define instance attributes. This means that code written like this (which
was allowed in pyparsing 2.4.7):
result = Word(alphas).parseString("abc")
result.xyz = 100
now raises this Python exception:
AttributeError: 'ParseResults' object has no attribute 'xyz'
To add new attribute values to ParseResults object in 3.0.0 and later, you must
assign them using indexed notation:
result["xyz"] = 100
You will still be able to access this new value as an attribute or as an
indexed item.
- Fixed bug in railroad diagramming where the vertical limit would count all
expressions in a group, not just those that would create visible railroad
elements.
Version 3.0.3 -
---------------
- Fixed regex typo in `one_of` fix for `as_keyword=True`.
- Fixed a whitespace-skipping bug, Issue 319, introduced as part of the revert
of the `LineStart` changes. Reported by Marc-Alexandre Côté,
thanks!
- Added header column labeling > 100 in `with_line_numbers` - some input lines
are longer than others.
Version 3.0.2 -
---------------
- Reverted change in behavior with `LineStart` and `StringStart`, which changed the
interpretation of when and how `LineStart` and `StringStart` should match when
a line starts with spaces. In 3.0.0, the `xxxStart` expressions were not
really treated like expressions in their own right, but as modifiers to the
following expression when used like `LineStart() + expr`, so that if there
were whitespace on the line before `expr` (which would match in versions prior
to 3.0.0), the match would fail.
3.0.0 implemented this by automatically promoting `LineStart() + expr` to
`AtLineStart(expr)`, which broke existing parsers that did not expect `expr` to
necessarily be right at the start of the line, but only be the first token
found on the line. This was reported as a regression in Issue 317.
In 3.0.2, pyparsing reverts to the previous behavior, but will retain the new
`AtLineStart` and `AtStringStart` expression classes, so that parsers can chose
whichever behavior applies in their specific instance. Specifically:
# matches expr if it is the first token on the line
# (allows for leading whitespace)
LineStart() + expr
# matches only if expr is found in column 1
AtLineStart(expr)
- Performance enhancement to `one_of` to always generate an internal `Regex`,
even if `caseless` or `as_keyword` args are given as `True` (unless explicitly
disabled by passing `use_regex=False`).
- `IndentedBlock` class now works with `recursive` flag. By default, the
results parsed by an `IndentedBlock` are grouped. This can be disabled by \
constructing
the `IndentedBlock` with `grouped=False`.
Version 3.0.1 -
---------------
- Fixed bug where `Word(max=n)` did not match word groups less than length 'n'.
Thanks to Joachim Metz for catching this!
- Fixed bug where `ParseResults` accidentally created recursive contents.
Joachim Metz on this one also!
- Fixed bug where `warn_on_multiple_string_args_to_oneof` warning is raised
even when not enabled.
|
2021-11-01 19:58:56 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-pyparsing: update to 3.0.0.
Version 3.0.0 -
---------------
- A consolidated list of all the changes in the 3.0.0 release can be found in
docs/whats_new_in_3_0_0.rst.
(https://github.com/pyparsing/pyparsing/blob/master/docs/whats_new_in_3_0_0.rst)
Summary:
PEP-8 naming
Railroad diagramming
Support for left-recursive parsers
Packrat/memoization enable and disable methods
Type annotations on all public methods
New string constants identchars and identbodychars to help in defining \
identifier Word expressions
Refactored/added diagnostic flags
Support for yielding native Python list and dict types in place of ParseResults
New Located class to replace locatedExpr helper method
New AtLineStart and AtStringStart classes
New IndentedBlock class to replace indentedBlock helper method
Shortened tracebacks
Improved debug logging
New / improved examples
Other new features
Python 2.x no longer supported
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2020-04-07 14:08:13 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pyparsing: updated to 2.4.7
Version 2.4.7
- Backport of selected fixes from 3.0.0 work:
. Each bug with Regex expressions
. And expressions not properly constructing with generator
. Traceback abbreviation
. Bug in delta_time example
. Fix regexen in pyparsing_common.real and .sci_real
. Avoid FutureWarning on Python 3.7 or later
. Cleanup output in runTests if comments are embedded in test string
|
2020-01-03 13:47:22 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pyparsing: updated to 2.4.6
Version 2.4.6:
- Fixed typos in White mapping of whitespace characters, to use
correct "\u" prefix instead of "u\".
- Fix bug in left-associative ternary operators defined using
infixNotation. First reported on StackOverflow by user Jeronimo.
- Backport of pyparsing_test namespace from 3.0.0, including
TestParseResultsAsserts mixin class defining unittest-helper
methods:
. def assertParseResultsEquals(
self, result, expected_list=None, expected_dict=None, msg=None)
. def assertParseAndCheckList(
self, expr, test_string, expected_list, msg=None, verbose=True)
. def assertParseAndCheckDict(
self, expr, test_string, expected_dict, msg=None, verbose=True)
. def assertRunTestResults(
self, run_tests_report, expected_parse_results=None, msg=None)
. def assertRaisesParseException(self, exc_type=ParseException, msg=None)
To use the methods in this mixin class, declare your unittest classes as:
from pyparsing import pyparsing_test as ppt
class MyParserTest(ppt.TestParseResultsAsserts, unittest.TestCase):
...
|
2019-11-11 16:14:30 by Thomas Klausner | Files touched by this commit (1) |
Log message:
py-pyparsing: remove removed patch from distinfo
|
2019-11-11 16:12:52 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pyparsing: updated to 2.4.5
Version 2.4.5:
- Fixed encoding when setup.py reads README.rst to include the
project long description when uploading to PyPI. A stray
unicode space in README.rst prevented the source install on
systems whose default encoding is not 'utf-8'.
|
2019-11-08 10:47:55 by Thomas Klausner | Files touched by this commit (2) |
Log message:
py-pyparsing: fix build with python 3.6
|