headerparser

argparse for mail-style headers

MIT License

Stars
7
Committers
2
headerparser - v0.5.1 — Include `py.typed` file in distribution Latest Release

Published by jwodder about 1 year ago

headerparser - v0.5.0 — Scanner improvements

Published by jwodder about 1 year ago

  • Support Python 3.8 through 3.12
  • Drop support for Python 2.7, 3.4, 3.5, and 3.6
  • Removed scan_file(), scan_lines(), HeaderParser.parse_file(), and HeaderParser.parse_lines() (all deprecated in v0.4.0)
  • Type annotations added
  • The scanner options to the scanner functions are now keyword-only scan() and scan_stanzas() can now parse strings directly. As a result, scan_string() and scan_stanzas_string() are now deprecated.
  • The HeaderParser methods parse() and parse_stanzas() can now parse strings directly. As a result, the parse_string() and parse_stanzas_string() methods are now deprecated.
  • Added a Scanner class with methods for scanning a shared input. As a result, the following are now deprecated:
    • scan_next_stanza()
    • scan_next_stanza_string()
    • HeaderParser.parse_next_stanza()
    • HeaderParser.parse_next_stanza_string()
headerparser - v0.4.0 — Parsing multiple stanzas

Published by jwodder over 5 years ago

  • Added a scan() function combining the behavior of scan_file() and scan_lines(), which are now deprecated
  • Gave HeaderParser a parse() method combining the behavior of parse_file() and parse_lines(), which are now deprecated
  • Added scan_next_stanza() and scan_next_stanza_string() functions for scanning & consuming input only up to the end of the first header section
  • Added scan_stanzas() and scan_stanzas_string() functions for scanning input composed entirely of multiple stanzas/header sections
  • Gave HeaderParser parse_next_stanza() and parse_next_stanza_string() methods for parsing & comsuming input only up to the end of the first header section
  • Gave HeaderParser parse_stanzas() and parse_stanzas_string() methods for parsing input composed entirely of multiple stanzas/header sections
headerparser - v0.3.0 — Scanner options

Published by jwodder about 6 years ago

  • Drop support for Python 3.3
  • Gave HeaderParser and the scanner functions options for configuring scanning behavior:
    • separator_regex
    • skip_leading_newlines
  • Fixed a DeprecationWarning in Python 3.7
headerparser - v0.2.0 — "action" keyword

Published by jwodder over 6 years ago

  • NormalizedDict's default normalizer (exposed as the lower() function) now passes non-strings through unchanged
  • HeaderParser instances can now be compared for non-identity equality
  • HeaderParser.add_field() and HeaderParser.add_additional() now take an optional action argument for customizing the parser's behavior when a field is encountered
  • Made the unfold() function public
headerparser - Version 0.1.0 — Initial release

Published by jwodder over 7 years ago