Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-bibtexparser for 
openSUSE:Factory checked in at 2026-04-29 19:19:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bibtexparser (Old)
 and      /work/SRC/openSUSE:Factory/.python-bibtexparser.new.30200 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-bibtexparser"

Wed Apr 29 19:19:36 2026 rev:12 rq:1349935 version:1.4.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bibtexparser/python-bibtexparser.changes  
2026-01-29 17:49:02.867785356 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-bibtexparser.new.30200/python-bibtexparser.changes
       2026-04-29 19:21:18.853609892 +0200
@@ -1,0 +2,9 @@
+Tue Apr 28 13:01:26 UTC 2026 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to 1.4.4
+  * Use modern names for pyparsing methods (new minimum pyparsing
+    version is 3.0.0) by @jennifer-richards in (#512)
+- Drop support-new-pyparsing.patch, merged upstream
+- Use Python 3.11 on SLE-15 by default
+
+-------------------------------------------------------------------

Old:
----
  python-bibtexparser-1.4.3.tar.gz
  support-new-pyparsing.patch

New:
----
  python-bibtexparser-1.4.4.tar.gz

----------(Old B)----------
  Old:    version is 3.0.0) by @jennifer-richards in (#512)
- Drop support-new-pyparsing.patch, merged upstream
- Use Python 3.11 on SLE-15 by default
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-bibtexparser.spec ++++++
--- /var/tmp/diff_new_pack.g73VQq/_old  2026-04-29 19:21:19.373631176 +0200
+++ /var/tmp/diff_new_pack.g73VQq/_new  2026-04-29 19:21:19.373631176 +0200
@@ -16,15 +16,14 @@
 #
 
 
+%{?sle15_python_module_pythons}
 Name:           python-bibtexparser
-Version:        1.4.3
+Version:        1.4.4
 Release:        0
 Summary:        Bibtex parser for python
 License:        BSD-3-Clause OR LGPL-3.0-only
 URL:            https://github.com/sciunto-org/python-bibtexparser
 Source:         
https://github.com/sciunto-org/python-bibtexparser/archive/v%{version}.tar.gz#/python-bibtexparser-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM gh#sciunto-org/python-bibtexparser#512
-Patch0:         support-new-pyparsing.patch
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module wheel}

++++++ python-bibtexparser-1.4.3.tar.gz -> python-bibtexparser-1.4.4.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-bibtexparser-1.4.3/CHANGELOG 
new/python-bibtexparser-1.4.4/CHANGELOG
--- old/python-bibtexparser-1.4.3/CHANGELOG     2024-12-19 21:34:44.000000000 
+0100
+++ new/python-bibtexparser-1.4.4/CHANGELOG     2026-01-29 19:51:16.000000000 
+0100
@@ -1,3 +1,7 @@
+--- for changelog >1.4.0, check the github release page
+----   https://github.com/sciunto-org/python-bibtexparser/releases
+
+
 v1.4.0
 ======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-bibtexparser-1.4.3/bibtexparser/__init__.py 
new/python-bibtexparser-1.4.4/bibtexparser/__init__.py
--- old/python-bibtexparser-1.4.3/bibtexparser/__init__.py      2024-12-19 
21:34:44.000000000 +0100
+++ new/python-bibtexparser-1.4.4/bibtexparser/__init__.py      2026-01-29 
19:51:16.000000000 +0100
@@ -25,7 +25,7 @@
     'loads', 'load', 'dumps', 'dump', 'bibdatabase',
     'bparser', 'bwriter', 'bibtexexpression', 'latexenc', 'customization',
 ]
-__version__ = '1.4.3'
+__version__ = '1.4.4'
 
 from . import bibdatabase, bibtexexpression, bparser, bwriter, latexenc, 
customization
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-bibtexparser-1.4.3/bibtexparser/bibtexexpression.py 
new/python-bibtexparser-1.4.4/bibtexparser/bibtexexpression.py
--- old/python-bibtexparser-1.4.3/bibtexparser/bibtexexpression.py      
2024-12-19 21:34:44.000000000 +0100
+++ new/python-bibtexparser-1.4.4/bibtexparser/bibtexexpression.py      
2026-01-29 19:51:16.000000000 +0100
@@ -29,7 +29,7 @@
     """Register a callback on expression parsing with the adequate message."""
     def action(s, l, t):
         log_func("Found {}: {}".format(expr.resultsName, t))
-    expr.addParseAction(action)
+    expr.add_parse_action(action)
 
 
 # Parse action helpers
@@ -111,7 +111,7 @@
         # String names
         string_name = pp.Word(pp.alphanums + '_-:')('StringName')
         self.set_string_name_parse_action(lambda s, l, t: None)
-        string_name.addParseAction(self._string_name_parse_action)
+        string_name.add_parse_action(self._string_name_parse_action)
 
         # Values inside bibtex fields
         # Values can be integer or string expressions. The latter may use
@@ -123,27 +123,27 @@
         # Braced values: braced values can contain nested (but balanced) braces
         braced_value_content = pp.CharsNotIn('{}')
         braced_value = pp.Forward()  # Recursive definition for nested braces
-        braced_value <<= pp.originalTextFor(
+        braced_value <<= pp.original_text_for(
             '{' + pp.ZeroOrMore(braced_value | braced_value_content) + '}'
             )('BracedValue')
-        braced_value.setParseAction(remove_braces)
+        braced_value.set_parse_action(remove_braces)
         # TODO add ignore for "\}" and "\{" ?
         # TODO @ are not parsed by bibtex in braces
 
         # Quoted values: may contain braced content with balanced braces
-        brace_in_quoted = pp.nestedExpr('{', '}', ignoreExpr=None)
+        brace_in_quoted = pp.nested_expr('{', '}', ignore_expr=None)
         text_in_quoted = pp.CharsNotIn('"{}')
         # (quotes should be escaped by braces in quoted value)
-        quoted_value = pp.originalTextFor(
+        quoted_value = pp.original_text_for(
             '"' + pp.ZeroOrMore(text_in_quoted | brace_in_quoted) + '"'
             )('QuotedValue')
-        quoted_value.addParseAction(pp.removeQuotes)
+        quoted_value.add_parse_action(pp.remove_quotes)
 
         # String expressions
-        string_expr = pp.delimitedList(
+        string_expr = pp.DelimitedList(
             (quoted_value | braced_value | string_name), delim='#'
             )('StringExpression')
-        string_expr.addParseAction(self._string_expr_parse_action)
+        string_expr.add_parse_action(self._string_expr_parse_action)
 
         value = (integer | string_expr)('Value')
 
@@ -151,7 +151,7 @@
 
         # @EntryType { ...
         entry_type = (pp.Suppress('@') + pp.Word(pp.alphas))('EntryType')
-        entry_type.setParseAction(first_token)
+        entry_type.set_parse_action(first_token)
 
         # Entry key: any character up to a ',' without leading and trailing
         # spaces. Also exclude spaces and prevent it from being empty.
@@ -175,20 +175,20 @@
                         msg="Whitespace not allowed in citekeys.")
             return key
 
-        key.setParseAction(citekeyParseAction)
+        key.set_parse_action(citekeyParseAction)
 
         # Field name: word of letters, digits, dashes and underscores
         field_name = pp.Word(pp.alphanums + '_-().+')('FieldName')
-        field_name.setParseAction(first_token)
+        field_name.set_parse_action(first_token)
 
         # Field: field_name = value
         field = pp.Group(field_name + pp.Suppress('=') + value)('Field')
-        field.setParseAction(field_to_pair)
+        field.set_parse_action(field_to_pair)
 
         # List of fields: comma separeted fields
-        field_list = (pp.delimitedList(field) + pp.Suppress(pp.Optional(','))
+        field_list = (pp.DelimitedList(field) + pp.Suppress(pp.Optional(','))
                       )('Fields')
-        field_list.setParseAction(
+        field_list.set_parse_action(
             lambda s, l, t: {k: v for (k, v) in reversed(t.get('Fields'))})
 
         # Entry: type, key, and fields
@@ -204,10 +204,10 @@
                                    ) | pp.StringEnd()
         self.explicit_comment = (
             pp.Suppress(comment_line_start) +
-            pp.originalTextFor(pp.SkipTo(not_an_implicit_comment),
-                               asString=True))('ExplicitComment')
-        self.explicit_comment.addParseAction(remove_trailing_newlines)
-        self.explicit_comment.addParseAction(remove_braces)
+            pp.original_text_for(pp.SkipTo(not_an_implicit_comment),
+                               as_string=True))('ExplicitComment')
+        self.explicit_comment.add_parse_action(remove_trailing_newlines)
+        self.explicit_comment.add_parse_action(remove_braces)
         # Previous implementation included comment until next '}'.
         # This is however not inline with bibtex behavior that is to only
         # ignore until EOL. Brace stipping is arbitrary here but avoids
@@ -219,10 +219,10 @@
                 raise pp.ParseException("Match must not be empty.")
 
         # Implicit comments: not anything else
-        self.implicit_comment = pp.originalTextFor(
-            pp.SkipTo(not_an_implicit_comment).setParseAction(mustNotBeEmpty),
-            asString=True)('ImplicitComment')
-        self.implicit_comment.addParseAction(remove_trailing_newlines)
+        self.implicit_comment = pp.original_text_for(
+            
pp.SkipTo(not_an_implicit_comment).set_parse_action(mustNotBeEmpty),
+            as_string=True)('ImplicitComment')
+        self.implicit_comment.add_parse_action(remove_trailing_newlines)
 
         # String definition
         self.string_def = (pp.Suppress(string_def_start) + in_braces_or_pars(
@@ -274,5 +274,13 @@
     def _string_expr_parse_action(self, s, l, t):
         return BibDataStringExpression.expression_if_needed(t)
 
+    def parse_file(self, file_obj):
+        """Execute parse expression on a file object"""
+        return self.main_expression.parse_file(file_obj, parse_all=True)
+
     def parseFile(self, file_obj):
-        return self.main_expression.parseFile(file_obj, parseAll=True)
+        """Execute parse expression on a file object
+
+        Alias for parse_file()
+        """
+        return self.parse_file(file_obj)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-bibtexparser-1.4.3/bibtexparser/bparser.py 
new/python-bibtexparser-1.4.4/bibtexparser/bparser.py
--- old/python-bibtexparser-1.4.3/bibtexparser/bparser.py       2024-12-19 
21:34:44.000000000 +0100
+++ new/python-bibtexparser-1.4.4/bibtexparser/bparser.py       2026-01-29 
19:51:16.000000000 +0100
@@ -159,7 +159,7 @@
 
         bibtex_file_obj = self._bibtex_file_obj(bibtex_str)
         try:
-            self._expr.parseFile(bibtex_file_obj)
+            self._expr.parse_file(bibtex_file_obj)
         except self._expr.ParseException as exc:
             logger.error("Could not parse properly, starting at %s", exc.line)
             if not partial:
@@ -198,20 +198,20 @@
         self._expr.add_log_function(logger.debug)
 
         # Set actions
-        self._expr.entry.addParseAction(
+        self._expr.entry.add_parse_action(
             lambda s, l, t: self._add_entry(
                 t.get('EntryType'), t.get('Key'), t.get('Fields'))
             )
-        self._expr.implicit_comment.addParseAction(
+        self._expr.implicit_comment.add_parse_action(
             lambda s, l, t: self._add_comment(t[0])
             )
-        self._expr.explicit_comment.addParseAction(
+        self._expr.explicit_comment.add_parse_action(
             lambda s, l, t: self._add_comment(t[0])
             )
-        self._expr.preamble_decl.addParseAction(
+        self._expr.preamble_decl.add_parse_action(
             lambda s, l, t: self._add_preamble(t[0])
             )
-        self._expr.string_def.addParseAction(
+        self._expr.string_def.add_parse_action(
             lambda s, l, t: self._add_string(t['StringName'].name,
                                              t['StringValue'])
             )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-bibtexparser-1.4.3/bibtexparser/tests/test_bibtexexpression.py 
new/python-bibtexparser-1.4.4/bibtexparser/tests/test_bibtexexpression.py
--- old/python-bibtexparser-1.4.3/bibtexparser/tests/test_bibtexexpression.py   
2024-12-19 21:34:44.000000000 +0100
+++ new/python-bibtexparser-1.4.4/bibtexparser/tests/test_bibtexexpression.py   
2026-01-29 19:51:16.000000000 +0100
@@ -14,90 +14,90 @@
         self.expr = BibtexExpression()
 
     def test_minimal(self):
-        result = self.expr.entry.parseString('@journal{key, name = 123 }')
+        result = self.expr.entry.parse_string('@journal{key, name = 123 }')
         self.assertEqual(result.get('EntryType'), 'journal')
         self.assertEqual(result.get('Key'), 'key')
         self.assertEqual(result.get('Fields'), {'name': '123'})
 
     def test_capital_type(self):
-        result = self.expr.entry.parseString('@JOURNAL{key, name = 123 }')
+        result = self.expr.entry.parse_string('@JOURNAL{key, name = 123 }')
         self.assertEqual(result.get('EntryType'), 'JOURNAL')
 
     def test_capital_key(self):
-        result = self.expr.entry.parseString('@journal{KEY, name = 123 }')
+        result = self.expr.entry.parse_string('@journal{KEY, name = 123 }')
         self.assertEqual(result.get('Key'), 'KEY')
 
     def test_braced(self):
-        result = self.expr.entry.parseString('@journal{key, name = {abc} }')
+        result = self.expr.entry.parse_string('@journal{key, name = {abc} }')
         self.assertEqual(result.get('Fields'), {'name': 'abc'})
 
     def test_braced_with_new_line(self):
-        result = self.expr.entry.parseString(
+        result = self.expr.entry.parse_string(
             '@journal{key, name = {abc\ndef} }')
         self.assertEqual(result.get('Fields'), {'name': 'abc\ndef'})
 
     def test_braced_unicode(self):
-        result = self.expr.entry.parseString(
+        result = self.expr.entry.parse_string(
             '@journal{key, name = {àbcđéf} }')
         self.assertEqual(result.get('Fields'), {'name': 'àbcđéf'})
 
     def test_quoted(self):
-        result = self.expr.entry.parseString('@journal{key, name = "abc" }')
+        result = self.expr.entry.parse_string('@journal{key, name = "abc" }')
         self.assertEqual(result.get('Fields'), {'name': 'abc'})
 
     def test_quoted_with_new_line(self):
-        result = self.expr.entry.parseString(
+        result = self.expr.entry.parse_string(
             '@journal{key, name = "abc\ndef" }')
         self.assertEqual(result.get('Fields'), {'name': 'abc\ndef'})
 
     def test_quoted_with_unicode(self):
-        result = self.expr.entry.parseString(
+        result = self.expr.entry.parse_string(
             '@journal{key, name = "àbcđéf" }')
         self.assertEqual(result.get('Fields'), {'name': 'àbcđéf'})
 
     def test_entry_declaration_after_space(self):
-        self.expr.entry.parseString('  @journal{key, name = {abcd}}')
+        self.expr.entry.parse_string('  @journal{key, name = {abcd}}')
 
     def test_entry_declaration_no_key(self):
         with self.assertRaises(self.expr.ParseException):
-            self.expr.entry.parseString('@misc{name = {abcd}}')
+            self.expr.entry.parse_string('@misc{name = {abcd}}')
 
     def test_entry_declaration_no_key_new_line(self):
         with self.assertRaises(self.expr.ParseException):
-            self.expr.entry.parseString('@misc{\n name = {abcd}}')
+            self.expr.entry.parse_string('@misc{\n name = {abcd}}')
 
     def test_entry_declaration_no_key_comma(self):
         with self.assertRaises(self.expr.ParseException):
-            self.expr.entry.parseString('@misc{, \nname = {abcd}}')
+            self.expr.entry.parse_string('@misc{, \nname = {abcd}}')
 
     def test_entry_declaration_no_key_keyvalue_without_space(self):
         with self.assertRaises(self.expr.ParseException):
-            self.expr.entry.parseString('@misc{\nname=aaa}')
+            self.expr.entry.parse_string('@misc{\nname=aaa}')
 
     def test_entry_declaration_key_with_whitespace(self):
         with self.assertRaises(self.expr.ParseException):
-            self.expr.entry.parseString('@misc{ xx yy, \n name = aaa}')
+            self.expr.entry.parse_string('@misc{ xx yy, \n name = aaa}')
 
     def test_string_declaration_after_space(self):
-        self.expr.string_def.parseString('  @string{ name = {abcd}}')
+        self.expr.string_def.parse_string('  @string{ name = {abcd}}')
 
     def test_preamble_declaration_after_space(self):
-        self.expr.preamble_decl.parseString('  @preamble{ "blah blah " }')
+        self.expr.preamble_decl.parse_string('  @preamble{ "blah blah " }')
 
     def test_declaration_after_space(self):
         keys = []
-        self.expr.entry.addParseAction(
+        self.expr.entry.add_parse_action(
             lambda s, l, t: keys.append(t.get('Key'))
         )
-        self.expr.main_expression.parseString(' @journal{key, name = {abcd}}')
+        self.expr.main_expression.parse_string(' @journal{key, name = {abcd}}')
         self.assertEqual(keys, ['key'])
 
     def test_declaration_after_space_and_comment(self):
         keys = []
-        self.expr.entry.addParseAction(
+        self.expr.entry.add_parse_action(
             lambda s, l, t: keys.append(t.get('Key'))
         )
-        self.expr.main_expression.parseString(
+        self.expr.main_expression.parse_string(
             '% Implicit comment\n @article{key, name={abcd}}'
         )
         self.assertEqual(keys, ['key'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-bibtexparser-1.4.3/requirements.txt 
new/python-bibtexparser-1.4.4/requirements.txt
--- old/python-bibtexparser-1.4.3/requirements.txt      2024-12-19 
21:34:44.000000000 +0100
+++ new/python-bibtexparser-1.4.4/requirements.txt      2026-01-29 
19:51:16.000000000 +0100
@@ -1 +1 @@
-pyparsing>=2.0.3
+pyparsing>=3.0.0

Reply via email to