Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-Faker for openSUSE:Factory 
checked in at 2023-05-29 22:47:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Faker (Old)
 and      /work/SRC/openSUSE:Factory/.python-Faker.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Faker"

Mon May 29 22:47:33 2023 rev:43 rq:1089351 version:18.9.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Faker/python-Faker.changes        
2023-05-15 16:53:59.792065845 +0200
+++ /work/SRC/openSUSE:Factory/.python-Faker.new.1533/python-Faker.changes      
2023-05-29 22:47:36.562241805 +0200
@@ -1,0 +2,7 @@
+Sat May 27 21:11:53 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 18.9.0:
+  * Add `xml` provider
+  * Add `zh_CN` bank locale
+
+-------------------------------------------------------------------

Old:
----
  Faker-18.7.0.tar.gz

New:
----
  Faker-18.9.0.tar.gz

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

Other differences:
------------------
++++++ python-Faker.spec ++++++
--- /var/tmp/diff_new_pack.EKlBDA/_old  2023-05-29 22:47:37.294245753 +0200
+++ /var/tmp/diff_new_pack.EKlBDA/_new  2023-05-29 22:47:37.298245774 +0200
@@ -16,11 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python3-%{**}}
-%global skip_python2 1
 %{?sle15_python_module_pythons}
 Name:           python-Faker
-Version:        18.7.0
+Version:        18.9.0
 Release:        0
 Summary:        Python package that generates fake data
 License:        MIT

++++++ Faker-18.7.0.tar.gz -> Faker-18.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/CHANGELOG.md 
new/Faker-18.9.0/CHANGELOG.md
--- old/Faker-18.7.0/CHANGELOG.md       2023-05-08 20:06:50.000000000 +0200
+++ new/Faker-18.9.0/CHANGELOG.md       2023-05-16 18:38:09.000000000 +0200
@@ -1,5 +1,13 @@
 ## Changelog
 
+### [v18.9.0 - 
2023-05-16](https://github.com/joke2k/faker/compare/v18.8.0...v18.9.0)
+
+* Add `xml` provider. Thanks @Elihaybe.
+
+### [v18.8.0 - 
2023-05-16](https://github.com/joke2k/faker/compare/v18.7.0...v18.8.0)
+
+* Add `zh_CN` bank locale. Thanks @nehCG.
+
 ### [v18.7.0 - 
2023-05-08](https://github.com/joke2k/faker/compare/v18.6.2...v18.7.0)
 
 * Add `license_plate` for `zh_CN` and `zh_TW`. Thanks @cyanghsieh.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/Faker.egg-info/PKG-INFO 
new/Faker-18.9.0/Faker.egg-info/PKG-INFO
--- old/Faker-18.7.0/Faker.egg-info/PKG-INFO    2023-05-08 20:07:21.000000000 
+0200
+++ new/Faker-18.9.0/Faker.egg-info/PKG-INFO    2023-05-16 18:39:07.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Faker
-Version: 18.7.0
+Version: 18.9.0
 Summary: Faker is a Python package that generates fake data for you.
 Home-page: https://github.com/joke2k/faker
 Author: joke2k
@@ -519,5 +519,3 @@
 .. |license| image:: 
https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
     :target: https://raw.githubusercontent.com/joke2k/faker/master/LICENSE.txt
     :alt: Package license
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/Faker.egg-info/SOURCES.txt 
new/Faker-18.9.0/Faker.egg-info/SOURCES.txt
--- old/Faker-18.7.0/Faker.egg-info/SOURCES.txt 2023-05-08 20:07:22.000000000 
+0200
+++ new/Faker-18.9.0/Faker.egg-info/SOURCES.txt 2023-05-16 18:39:07.000000000 
+0200
@@ -171,6 +171,7 @@
 faker/providers/bank/th_TH/__init__.py
 faker/providers/bank/tl_PH/__init__.py
 faker/providers/bank/tr_TR/__init__.py
+faker/providers/bank/zh_CN/__init__.py
 faker/providers/barcode/__init__.py
 faker/providers/barcode/en_CA/__init__.py
 faker/providers/barcode/en_US/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/PKG-INFO new/Faker-18.9.0/PKG-INFO
--- old/Faker-18.7.0/PKG-INFO   2023-05-08 20:07:22.890436200 +0200
+++ new/Faker-18.9.0/PKG-INFO   2023-05-16 18:39:09.469044700 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Faker
-Version: 18.7.0
+Version: 18.9.0
 Summary: Faker is a Python package that generates fake data for you.
 Home-page: https://github.com/joke2k/faker
 Author: joke2k
@@ -519,5 +519,3 @@
 .. |license| image:: 
https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
     :target: https://raw.githubusercontent.com/joke2k/faker/master/LICENSE.txt
     :alt: Package license
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/VERSION new/Faker-18.9.0/VERSION
--- old/Faker-18.7.0/VERSION    2023-05-08 20:07:06.000000000 +0200
+++ new/Faker-18.9.0/VERSION    2023-05-16 18:38:29.000000000 +0200
@@ -1 +1 @@
-18.7.0
+18.9.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/faker/__init__.py 
new/Faker-18.9.0/faker/__init__.py
--- old/Faker-18.7.0/faker/__init__.py  2023-05-08 20:07:06.000000000 +0200
+++ new/Faker-18.9.0/faker/__init__.py  2023-05-16 18:38:29.000000000 +0200
@@ -2,6 +2,6 @@
 from faker.generator import Generator
 from faker.proxy import Faker
 
-VERSION = "18.7.0"
+VERSION = "18.9.0"
 
 __all__ = ("Factory", "Generator", "Faker")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/faker/providers/bank/zh_CN/__init__.py 
new/Faker-18.9.0/faker/providers/bank/zh_CN/__init__.py
--- old/Faker-18.7.0/faker/providers/bank/zh_CN/__init__.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/Faker-18.9.0/faker/providers/bank/zh_CN/__init__.py     2023-05-16 
17:28:27.000000000 +0200
@@ -0,0 +1,37 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+    """Implement bank provider for ``zh_CN`` locale.
+    Source: https://zh.wikipedia.org/wiki/中国大陆银行列表
+    """
+
+    banks = (
+        "中国人民银行",
+        "国家开发银行",
+        "中国进出口银行",
+        "中国农业发展银行",
+        "交通银行",
+        "中国银行",
+        "中国建设银行",
+        "中国农业银行",
+        "中国工商银行",
+        "中国邮政储蓄银行",
+        "中国光大银行",
+        "中国民生银行",
+        "招商银行",
+        "中信银行",
+        "华夏银行",
+        "上海浦东发展银行",
+        "平安银行",
+        "广发银行",
+        "兴业银行",
+        "浙商银行",
+        "渤海银行",
+        "恒丰银行",
+        "西安银行",
+    )
+
+    def bank(self) -> str:
+        """Generate a bank name."""
+        return self.random_element(self.banks)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/faker/providers/misc/__init__.py 
new/Faker-18.9.0/faker/providers/misc/__init__.py
--- old/Faker-18.7.0/faker/providers/misc/__init__.py   2023-02-24 
17:52:17.000000000 +0100
+++ new/Faker-18.9.0/faker/providers/misc/__init__.py   2023-05-16 
18:36:27.000000000 +0200
@@ -14,6 +14,7 @@
 from faker.exceptions import UnsupportedFeature
 
 from .. import BaseProvider
+from ..python import TypesSpec
 
 localized = True
 
@@ -613,6 +614,35 @@
         data = [create_json_structure(data_columns) for _ in range(num_rows)]
         return json.dumps(data, indent=indent, cls=cls)
 
+    def xml(
+        self,
+        nb_elements: int = 10,
+        variable_nb_elements: bool = True,
+        value_types: Optional[TypesSpec] = None,
+        allowed_types: Optional[TypesSpec] = None,
+    ) -> str:
+        """
+        Returns some XML.
+
+        :nb_elements: number of elements for dictionary
+        :variable_nb_elements: is use variable number of elements for 
dictionary
+        :value_types: type of dictionary values
+
+        Note: this provider required xmltodict library installed
+        """
+        try:
+            import xmltodict
+        except ImportError:
+            raise UnsupportedFeature("`xml` requires the `xmltodict` Python 
library.", "xml")
+        _dict = self.generator.pydict(
+            nb_elements=nb_elements,
+            variable_nb_elements=variable_nb_elements,
+            value_types=value_types,
+            allowed_types=allowed_types,
+        )
+        _dict = {self.generator.word(): _dict}
+        return xmltodict.unparse(_dict)
+
     def fixed_width(self, data_columns: Optional[list] = None, num_rows: int = 
10, align: str = "left") -> str:
         """
         Generate random fixed width values.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/tests/providers/test_bank.py 
new/Faker-18.9.0/tests/providers/test_bank.py
--- old/Faker-18.7.0/tests/providers/test_bank.py       2023-04-24 
17:53:28.000000000 +0200
+++ new/Faker-18.9.0/tests/providers/test_bank.py       2023-05-16 
17:28:27.000000000 +0200
@@ -442,3 +442,11 @@
             assert code[4:6] == NlBeBankProvider.country_code
             assert code[6:8] in NlBeBankProvider.swift_location_codes
             assert code[8:11] in NlBeBankProvider.swift_branch_codes
+
+
+class TestZhCn:
+    """Test zh_CN bank provider"""
+
+    def test_bank(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert re.match(r"[\u4e00-\u9fa5]{2,20}", faker.bank())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-18.7.0/tests/providers/test_misc.py 
new/Faker-18.9.0/tests/providers/test_misc.py
--- old/Faker-18.7.0/tests/providers/test_misc.py       2023-02-09 
21:33:44.000000000 +0100
+++ new/Faker-18.9.0/tests/providers/test_misc.py       2023-05-16 
18:36:27.000000000 +0200
@@ -7,6 +7,7 @@
 import tarfile
 import unittest
 import uuid
+import xml
 import zipfile
 
 try:
@@ -14,6 +15,11 @@
 except ImportError:
     PIL = None
 
+try:
+    import xmltodict
+except ImportError:
+    xmltodict = None
+
 from typing import Pattern
 from unittest.mock import patch
 
@@ -455,6 +461,20 @@
             for args, kwargs in mock_writer.call_args_list:
                 assert kwargs == test_kwargs
 
+    @unittest.skipUnless(xmltodict, "requires the Python xmltodict Library")
+    def test_xml(self, faker):
+        try:
+            xml.etree.ElementTree.fromstring(faker.xml())
+        except xml.etree.ElementTree.ParseError:
+            raise AssertionError("The XML format is invalid.")
+
+    def test_xml_no_xmltodict(self, faker):
+        with patch.dict("sys.modules", {"xmltodict": None}):
+            with pytest.raises(exceptions.UnsupportedFeature) as excinfo:
+                faker.xml()
+
+            assert excinfo.value.name == "xml"
+
     def test_csv_helper_method(self, faker):
         kwargs = {
             "header": ["Column 1", "Column 2"],

Reply via email to