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"],