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 2022-12-08 16:50:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Faker (Old)
 and      /work/SRC/openSUSE:Factory/.python-Faker.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Faker"

Thu Dec  8 16:50:49 2022 rev:35 rq:1041185 version:15.3.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Faker/python-Faker.changes        
2022-12-02 15:47:32.000605199 +0100
+++ /work/SRC/openSUSE:Factory/.python-Faker.new.1835/python-Faker.changes      
2022-12-08 16:51:13.859496951 +0100
@@ -1,0 +2,12 @@
+Wed Dec  7 14:05:18 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to v15.3.4 - 2022-11-30
+  * Fix it_IT SSN generation with latin chars in name or surname. Thanks 
@panicofr.
+
+- Update to v15.3.3 - 2022-11-22
+  * Fix seeding with multiple locales. Thanks @johntmyers.
+
+- Update to v15.3.2 - 2022-11-14
+  * Fix implicit Optional issues. Thanks @palfrey.
+
+-------------------------------------------------------------------

Old:
----
  Faker-15.3.1.tar.gz

New:
----
  Faker-15.3.4.tar.gz

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

Other differences:
------------------
++++++ python-Faker.spec ++++++
--- /var/tmp/diff_new_pack.naJ387/_old  2022-12-08 16:51:14.355499489 +0100
+++ /var/tmp/diff_new_pack.naJ387/_new  2022-12-08 16:51:14.359499510 +0100
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %global skip_python2 1
 Name:           python-Faker
-Version:        15.3.1
+Version:        15.3.4
 Release:        0
 Summary:        Python package that generates fake data
 License:        MIT

++++++ Faker-15.3.1.tar.gz -> Faker-15.3.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/CHANGELOG.md 
new/Faker-15.3.4/CHANGELOG.md
--- old/Faker-15.3.1/CHANGELOG.md       2022-11-07 19:23:29.000000000 +0100
+++ new/Faker-15.3.4/CHANGELOG.md       2022-11-30 20:12:04.000000000 +0100
@@ -1,5 +1,17 @@
 ## Changelog
 
+### [v15.3.4 - 
2022-11-30](https://github.com/joke2k/faker/compare/v15.3.3...v15.3.4)
+
+* Fix `it_IT` `SSN` generation with latin chars in name or surname. Thanks 
@panicofr. 
+
+### [v15.3.3 - 
2022-11-22](https://github.com/joke2k/faker/compare/v15.3.2...v15.3.3)
+
+* Fix seeding with multiple locales. Thanks @johntmyers.
+
+### [v15.3.2 - 
2022-11-14](https://github.com/joke2k/faker/compare/v15.3.1...v15.3.2)
+
+* Fix implicit Optional issues. Thanks @palfrey.
+
 ### [v15.3.1 - 
2022-11-07](https://github.com/joke2k/faker/compare/v15.3.0...v15.3.1)
 
 * Update the `word_list` for `pl_PL`. Thanks @BeRT2me.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/Faker.egg-info/PKG-INFO 
new/Faker-15.3.4/Faker.egg-info/PKG-INFO
--- old/Faker-15.3.1/Faker.egg-info/PKG-INFO    2022-11-07 19:24:00.000000000 
+0100
+++ new/Faker-15.3.4/Faker.egg-info/PKG-INFO    2022-11-30 20:12:33.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Faker
-Version: 15.3.1
+Version: 15.3.4
 Summary: Faker is a Python package that generates fake data for you.
 Home-page: https://github.com/joke2k/faker
 Author: joke2k
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/PKG-INFO new/Faker-15.3.4/PKG-INFO
--- old/Faker-15.3.1/PKG-INFO   2022-11-07 19:24:02.158607000 +0100
+++ new/Faker-15.3.4/PKG-INFO   2022-11-30 20:12:35.047217600 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Faker
-Version: 15.3.1
+Version: 15.3.4
 Summary: Faker is a Python package that generates fake data for you.
 Home-page: https://github.com/joke2k/faker
 Author: joke2k
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/VERSION new/Faker-15.3.4/VERSION
--- old/Faker-15.3.1/VERSION    2022-11-07 19:23:46.000000000 +0100
+++ new/Faker-15.3.4/VERSION    2022-11-30 20:12:18.000000000 +0100
@@ -1 +1 @@
-15.3.1
+15.3.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/__init__.py 
new/Faker-15.3.4/faker/__init__.py
--- old/Faker-15.3.1/faker/__init__.py  2022-11-07 19:23:46.000000000 +0100
+++ new/Faker-15.3.4/faker/__init__.py  2022-11-30 20:12:18.000000000 +0100
@@ -2,6 +2,6 @@
 from faker.generator import Generator
 from faker.proxy import Faker
 
-VERSION = "15.3.1"
+VERSION = "15.3.4"
 
 __all__ = ("Factory", "Generator", "Faker")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/factory.py 
new/Faker-15.3.4/faker/factory.py
--- old/Faker-15.3.1/faker/factory.py   2022-03-07 17:46:40.000000000 +0100
+++ new/Faker-15.3.4/faker/factory.py   2022-11-14 16:56:33.000000000 +0100
@@ -25,7 +25,7 @@
         cls,
         locale: Optional[str] = None,
         providers: Optional[List[str]] = None,
-        generator: Generator = None,
+        generator: Optional[Generator] = None,
         includes: Optional[List[str]] = None,
         # Should we use weightings (more realistic) or weight every element 
equally (faster)?
         # By default, use weightings for backwards compatibility & realism
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/providers/__init__.py 
new/Faker-15.3.4/faker/providers/__init__.py
--- old/Faker-15.3.1/faker/providers/__init__.py        2022-11-04 
16:59:35.000000000 +0100
+++ new/Faker-15.3.4/faker/providers/__init__.py        2022-11-14 
16:56:33.000000000 +0100
@@ -22,7 +22,7 @@
 class BaseProvider:
 
     __provider__ = "base"
-    __lang__ = None
+    __lang__: Optional[str] = None
     __use_weighting__ = False
 
     # Locales supported by Linux Mint from `/usr/share/i18n/SUPPORTED`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/providers/date_time/__init__.py 
new/Faker-15.3.4/faker/providers/date_time/__init__.py
--- old/Faker-15.3.1/faker/providers/date_time/__init__.py      2022-11-04 
16:59:35.000000000 +0100
+++ new/Faker-15.3.4/faker/providers/date_time/__init__.py      2022-11-14 
16:56:33.000000000 +0100
@@ -1900,7 +1900,7 @@
         """
         return self.date_time(end_datetime=end_datetime).strftime(pattern)
 
-    def date_object(self, end_datetime: datetime = None) -> dtdate:
+    def date_object(self, end_datetime: Optional[datetime] = None) -> dtdate:
         """
         Get a date object between January 1, 1970 and now
         :example: datetime.date(2016, 9, 20)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/providers/geo/el_GR/__init__.py 
new/Faker-15.3.4/faker/providers/geo/el_GR/__init__.py
--- old/Faker-15.3.1/faker/providers/geo/el_GR/__init__.py      2022-02-14 
18:03:11.000000000 +0100
+++ new/Faker-15.3.4/faker/providers/geo/el_GR/__init__.py      2022-11-30 
20:10:46.000000000 +0100
@@ -17,13 +17,13 @@
         return str(self.local_latitude()), str(self.local_longitude())
 
     def local_latitude(self) -> Decimal:
-        latitudes = list(map(lambda t: int(Decimal(t[0]) * 10000000), 
self.poly))
+        latitudes = [int(Decimal(t[0]) * 10000000) for t in self.poly]
         return Decimal(str(self.generator.random.randint(min(latitudes), 
max(latitudes)) / 10000000)).quantize(
             Decimal(".000001")
         )
 
     def local_longitude(self) -> Decimal:
-        longitudes = list(map(lambda t: int(Decimal(t[1]) * 10000000), 
self.poly))
+        longitudes = [int(Decimal(t[1]) * 10000000) for t in self.poly]
         return Decimal(str(self.generator.random.randint(min(longitudes), 
max(longitudes)) / 10000000)).quantize(
             Decimal(".000001")
         )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/providers/internet/__init__.py 
new/Faker-15.3.4/faker/providers/internet/__init__.py
--- old/Faker-15.3.1/faker/providers/internet/__init__.py       2022-11-04 
16:59:35.000000000 +0100
+++ new/Faker-15.3.4/faker/providers/internet/__init__.py       2022-11-30 
20:10:46.000000000 +0100
@@ -592,7 +592,7 @@
 
     def mac_address(self) -> str:
         mac = [self.generator.random.randint(0x00, 0xFF) for _ in range(0, 6)]
-        return ":".join(map(lambda x: "%02x" % x, mac))
+        return ":".join("%02x" % x for x in mac)
 
     def port_number(self, is_system: bool = False, is_user: bool = False, 
is_dynamic: bool = False) -> int:
         """Returns a network port number
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Faker-15.3.1/faker/providers/internet/el_GR/__init__.py 
new/Faker-15.3.4/faker/providers/internet/el_GR/__init__.py
--- old/Faker-15.3.1/faker/providers/internet/el_GR/__init__.py 2022-02-14 
18:03:11.000000000 +0100
+++ new/Faker-15.3.4/faker/providers/internet/el_GR/__init__.py 2022-11-30 
20:10:46.000000000 +0100
@@ -68,7 +68,7 @@
 
     def replace_greek_character(match):
         matched = list(match.group(0))
-        value = map(lambda l: replace[search.find(l)], matched)
+        value = (replace[search.find(char)] for char in matched)
         return "".join(value)
 
     return re.sub(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/providers/lorem/__init__.py 
new/Faker-15.3.4/faker/providers/lorem/__init__.py
--- old/Faker-15.3.1/faker/providers/lorem/__init__.py  2022-05-09 
16:03:42.000000000 +0200
+++ new/Faker-15.3.4/faker/providers/lorem/__init__.py  2022-11-14 
16:56:33.000000000 +0100
@@ -26,7 +26,7 @@
     def words(
         self,
         nb: int = 3,
-        part_of_speech: str = None,
+        part_of_speech: Optional[str] = None,
         ext_word_list: Optional[Sequence[str]] = None,
         unique: bool = False,
     ) -> List[str]:
@@ -73,7 +73,7 @@
         samples = cast(List[str], self.random_choices(word_list, length=nb))
         return samples
 
-    def word(self, part_of_speech: str = None, ext_word_list: 
Optional[Sequence[str]] = None) -> str:
+    def word(self, part_of_speech: Optional[str] = None, ext_word_list: 
Optional[Sequence[str]] = None) -> str:
         """Generate a word.
 
         This method uses |words| under the hood with the ``nb`` argument set to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/providers/misc/__init__.py 
new/Faker-15.3.4/faker/providers/misc/__init__.py
--- old/Faker-15.3.1/faker/providers/misc/__init__.py   2022-03-07 
17:46:46.000000000 +0100
+++ new/Faker-15.3.4/faker/providers/misc/__init__.py   2022-11-22 
19:56:52.000000000 +0100
@@ -70,9 +70,9 @@
         return res.hexdigest()
 
     def sha1(self, raw_output: bool = False) -> Union[bytes, str]:
-        """Generate a random SHA1 hash.
+        """Generate a random SHA-1 hash.
 
-        If ``raw_output`` is ``False`` (default), a hexadecimal string 
representation of the SHA1 hash
+        If ``raw_output`` is ``False`` (default), a hexadecimal string 
representation of the SHA-1 hash
         will be returned. If ``True``, a ``bytes`` object representation will 
be returned instead.
 
         :sample: raw_output=False
@@ -84,9 +84,9 @@
         return res.hexdigest()
 
     def sha256(self, raw_output: bool = False) -> Union[bytes, str]:
-        """Generate a random SHA256 hash.
+        """Generate a random SHA-256 hash.
 
-        If ``raw_output`` is ``False`` (default), a hexadecimal string 
representation of the SHA56 hash
+        If ``raw_output`` is ``False`` (default), a hexadecimal string 
representation of the SHA-256 hash
         will be returned. If ``True``, a ``bytes`` object representation will 
be returned instead.
 
         :sample: raw_output=False
@@ -488,7 +488,7 @@
             delimiter="|",
         )
 
-    def json(self, data_columns: List = None, num_rows: int = 10, indent: int 
= None) -> str:
+    def json(self, data_columns: Optional[List] = None, num_rows: int = 10, 
indent: Optional[int] = None) -> str:
         """
         Generate random JSON structure values.
 
@@ -590,7 +590,7 @@
         data = [create_json_structure(data_columns) for _ in range(num_rows)]
         return json.dumps(data, indent=indent)
 
-    def fixed_width(self, data_columns: list = None, num_rows: int = 10, 
align: str = "left") -> str:
+    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-15.3.1/faker/providers/ssn/it_IT/__init__.py 
new/Faker-15.3.4/faker/providers/ssn/it_IT/__init__.py
--- old/Faker-15.3.1/faker/providers/ssn/it_IT/__init__.py      2022-05-09 
16:07:11.000000000 +0200
+++ new/Faker-15.3.4/faker/providers/ssn/it_IT/__init__.py      2022-11-30 
20:10:46.000000000 +0100
@@ -1,5 +1,7 @@
 """it_IT ssn provider (yields italian fiscal codes)"""
 
+import unicodedata
+
 from string import ascii_uppercase, digits
 
 from .. import Provider as SsnProvider
@@ -8051,6 +8053,8 @@
         else:
             name = self.generator.first_name_female().upper()
 
+        name = self._transliterate_name(name)
+
         if len(name) < 3:
             return self._pad_shorter(name)
 
@@ -8074,6 +8078,8 @@
             str
         """
         surname = self.generator.last_name().upper()
+        surname = self._transliterate_name(surname)
+
         if len(surname) < 3:
             return self._pad_shorter(surname)
 
@@ -8087,6 +8093,11 @@
         return surname_part
 
     @staticmethod
+    def _transliterate_name(name: str) -> str:
+        nfkd_form: str = unicodedata.normalize("NFKD", name)
+        return "".join([c for c in nfkd_form if unicodedata.combining(c) == 0])
+
+    @staticmethod
     def _get_vowels(sequence: str) -> list:
         """
         Returns list of vowels in provided string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/faker/proxy.py 
new/Faker-15.3.4/faker/proxy.py
--- old/Faker-15.3.1/faker/proxy.py     2022-05-06 16:26:13.000000000 +0200
+++ new/Faker-15.3.4/faker/proxy.py     2022-11-22 19:56:52.000000000 +0100
@@ -9,7 +9,7 @@
 from .config import DEFAULT_LOCALE
 from .exceptions import UniquenessException
 from .factory import Factory
-from .generator import Generator, Sentinel, random
+from .generator import Generator, random
 from .typing import SeedType
 from .utils.distribution import choices_distribution
 
@@ -153,8 +153,6 @@
         elif len(factories) == 1:
             return factories[0]
 
-        if Generator._global_seed is not Sentinel:
-            random.seed(Generator._global_seed)  # type: ignore
         if weights:
             factory = self._select_factory_distribution(factories, weights)
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/mypy.ini new/Faker-15.3.4/mypy.ini
--- old/Faker-15.3.1/mypy.ini   2022-02-14 18:03:11.000000000 +0100
+++ new/Faker-15.3.4/mypy.ini   2022-11-14 16:56:33.000000000 +0100
@@ -8,4 +8,5 @@
 pretty = True
 follow_imports=silent
 ignore_missing_imports = True
-show_error_codes = True
\ No newline at end of file
+show_error_codes = True
+show_column_numbers = True
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/tests/providers/test_person.py 
new/Faker-15.3.4/tests/providers/test_person.py
--- old/Faker-15.3.1/tests/providers/test_person.py     2022-10-24 
20:37:32.000000000 +0200
+++ new/Faker-15.3.4/tests/providers/test_person.py     2022-11-30 
20:10:46.000000000 +0100
@@ -211,22 +211,22 @@
         first_name_pair = self.fake.first_name_pair()
         assert first_name_pair
         assert len(first_name_pair) == 3
-        assert all(map(lambda s: isinstance(s, str), first_name_pair))
+        assert all(isinstance(s, str) for s in first_name_pair)
 
         first_name_male_pair = self.fake.first_name_male_pair()
         assert first_name_male_pair
         assert len(first_name_male_pair) == 3
-        assert all(map(lambda s: isinstance(s, str), first_name_male_pair))
+        assert all(isinstance(s, str) for s in first_name_male_pair)
 
         first_name_female_pair = self.fake.first_name_female_pair()
         assert first_name_female_pair
         assert len(first_name_female_pair) == 3
-        assert all(map(lambda s: isinstance(s, str), first_name_female_pair))
+        assert all(isinstance(s, str) for s in first_name_female_pair)
 
         last_name_pair = self.fake.last_name_pair()
         assert last_name_pair
         assert len(last_name_pair) == 3
-        assert all(map(lambda s: isinstance(s, str), last_name_pair))
+        assert all(isinstance(s, str) for s in last_name_pair)
 
 
 class TestNeNP(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/tests/providers/test_ssn.py 
new/Faker-15.3.4/tests/providers/test_ssn.py
--- old/Faker-15.3.1/tests/providers/test_ssn.py        2022-11-04 
15:32:09.000000000 +0100
+++ new/Faker-15.3.4/tests/providers/test_ssn.py        2022-11-30 
20:10:46.000000000 +0100
@@ -14,7 +14,7 @@
 from validators.i18n.es import es_nie as is_nie
 from validators.i18n.es import es_nif as is_nif
 
-from faker import Faker
+from faker import Factory, Faker
 from faker.providers.ssn.el_GR import tin_checksum as gr_tin_checksum
 from faker.providers.ssn.en_CA import checksum as ca_checksum
 from faker.providers.ssn.es_CL import rut_check_digit as cl_rut_checksum
@@ -904,6 +904,13 @@
     def test_checksum(self) -> None:
         assert it_checksum("MDDMRA80L41H501") == "R"
 
+    def test_ssn_with_latin_chars(self):
+        generator = Factory.create("it_IT")
+        generator.last_name = mock.MagicMock(return_value="Foà")
+        ssn = generator.ssn()
+        self.assertEqual(len(ssn), 16)
+        self.assertEqual(ssn[:3], "FOA")
+
 
 class TestPtBR(unittest.TestCase):
     def setUp(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Faker-15.3.1/tests/test_proxy.py 
new/Faker-15.3.4/tests/test_proxy.py
--- old/Faker-15.3.1/tests/test_proxy.py        2022-03-23 19:57:42.000000000 
+0100
+++ new/Faker-15.3.4/tests/test_proxy.py        2022-11-22 19:56:52.000000000 
+0100
@@ -130,11 +130,18 @@
 
     def test_seed_class_locales(self):
         Faker.seed(2043)
+        count = 5
         fake = Faker(["en_GB", "fr_FR", "en_IN"])
-        name = fake.name()
+        first_list = [fake.name() for _ in range(count)]
+        # We convert the list to a set to remove duplicates and ensure
+        # that we have exactly `count` unique fake values
+        assert len(set(first_list)) == count
 
-        for _ in range(5):
-            assert fake.name() == name
+        Faker.seed(2043)
+        fake = Faker(["en_GB", "fr_FR", "en_IN"])
+        second_list = [fake.name() for _ in range(count)]
+
+        assert first_list == second_list
 
     def test_seed_instance(self):
         locale = ["de_DE", "en-US", "en-PH", "ja_JP"]

Reply via email to