diff options
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU')
2 files changed, 321 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__init__.py new file mode 100644 index 0000000..cce4ba0 --- /dev/null +++ b/venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__init__.py @@ -0,0 +1,321 @@ +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``ru_RU`` locale. + + Sources: + + - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Russia + - https://ru.wikipedia.org/wiki/Категории_транспортных_средств + """ + + license_plate_letters = ("A", "B", "E", "K", "M", "Н", "О", "Р", "С", "Т", "У", "Х") + + vehicle_categories = ( + "M", + "A", + "A1", + "B", + "B1", + "BE", + "C", + "C1", + "C1E", + "CE", + "D", + "D1", + "DE", + "Tm", + "Tb", + ) + + license_plate_suffix = ( + # Republic of Adygea + "01", + # Republic of Bashkortostan + "02", + "102", + # Republic of Buryatia + "03", + # Altai Republic + "04", + # Republic of Dagestan + "05", + # Republic of Ingushetia + "06", + # Kabardino-Balkar Republic + "07", + # Republic of Kalmykia + "08", + # Karachay-Cherkess Republic + "09", + # Republic of Karelia + "10", + # Komi Republic + "11", + # Mari El Republic + "12", + # Republic of Mordovia + "13", + "113", + # Sakha Republic + "14", + # Republic of North Ossetia–Alania + "15", + # Republic of Tatarstan + "16", + "116", + "716", + # Tuva Republic + "17", + # Udmurt Republic + "18", + # Republic of Khakassia + "19", + # Chechen Republic + "20", + "95", + # Chuvash Republic + "21", + "121", + # Altai Krai + "22", + # Krasnodar Krai + "23", + "93", + "123", + # Krasnoyarsk Krai + "24", + "84", + "88", + "124", + # Primorsky Krai + "25", + "125", + # Stavropol Krai + "26", + "126", + # Khabarovsk Krai + "27", + # Amur Oblast + "28", + # Arkhangelsk Oblast + "29", + # Astrakhan Oblast + "30", + # Belgorod Oblast + "31", + # Bryansk Oblast + "32", + # Vladimir Oblast + "33", + # Volgograd Oblast + "34", + "134", + # Vologda Oblast + "35", + # Voronezh Oblast + "36", + "136", + # Ivanovo Oblast + "37", + # Irkutsk Oblast + "38", + "85", + "38", + # Kaliningrad Oblast + "39", + "91", + # Kaluga Oblast + "40", + # Kamchatka Krai + "41", + "82", + # Kemerovo Oblast + "42", + "142", + # Kirov Oblast + "43", + # Kostroma Oblast + "44", + # Kurgan Oblast + "45", + # Kursk Oblast + "46", + # Leningrad Oblast + "47", + # Lipetsk Oblast + "48", + # Magadan Oblast + "49", + # Moscow Oblast + "50", + "90", + "150", + "190", + "750", + # Murmansk Oblast + "51", + # Nizhny Novgorod Oblast + "52", + "152", + # Novgorod Oblast + "53", + # Novosibirsk Oblast + "54", + "154", + # Omsk Oblast + "55", + # Orenburg Oblast + "56", + # Oryol Oblast + "57", + # Penza Oblast + "58", + # Perm Krai + "59", + "81", + "159", + # Pskov Oblast + "60", + # Rostov Oblast + "61", + "161", + # Ryazan Oblast + "62", + # Samara Oblast + "63", + "163", + "763", + # Saratov Oblast + "64", + "164", + # Sakhalin Oblast + "65", + # Sverdlovsk Oblast + "66", + "96", + "196", + # Smolensk Oblast + "67", + # Tambov Oblast + "68", + # Tver Oblast + "69", + # Tomsk Oblast + "70", + # Tula Oblast + "71", + # Tyumen Oblast + "72", + # Ulyanovsk Oblast + "73", + "173", + # Chelyabinsk Oblast + "74", + "174", + # Zabaykalsky Krai + "75", + "80", + # Yaroslavl Oblast + "76", + # Moscow + "77", + "97", + "99", + "177", + "197", + "199", + "777", + "799", + # St. Petersburg + "78", + "98", + "178", + "198", + # Jewish Autonomous Oblast + "79", + # Agin-Buryat Okrug / "Former Buryat Autonomous District of Aginskoye" + "80", + # Komi-Permyak Okrug / "Former Komi-Permyak Autonomous District" + "81", + # Republic of Crimea / De jure part of Ukraine as Autonomous Republic. Annexed by Russia in 2014. + "82", + # Koryak Okrug / "Former Koryak Autonomous District" + "82", + # Nenets Autonomous Okrug (Nenetsia) + "83", + # Taymyr Autonomous Okrug / "Former Taymyr (Dolgan-Nenets) Autonomous District" + "84", + # Ust-Orda Buryat Okrug / "Former Buryat Autonomous District of Ust-Ordynskoy" + "85", + # Khanty-Mansi Autonomous Okrug + "86", + "186", + # Chukotka Autonomous Okrug + "87", + # Evenk Autonomous Okrug / "Former Evenk Autonomous District" + "88", + # Yamalo-Nenets Autonomous Okrug + "89", + # Sevastopol / De jure part of Ukraine as City with special status. Annexed by Russia in 2014. + "92", + # Territories outside of the Russian Federation, + # served by the bodies of internal affairs of the Russian Federation, such as Baikonur + "94", + ) + + license_plate_formats = ( + # Private vehicle plate + "{{plate_letter}}{{plate_number}}{{plate_letter}}{{plate_letter}} {{plate_suffix}}", + # Public transport plate + "{{plate_letter}}{{plate_letter}}{{plate_number}} {{plate_suffix}}", + # Trailer plate + "{{plate_letter}}{{plate_letter}}{{plate_number_extra}} {{plate_suffix}}", + # Police forces vehicle plate + "{{plate_letter}}{{plate_number_extra}} {{plate_suffix}}", + # Military vehicle plate + "{{plate_number_extra}}{{plate_letter}}{{plate_letter}} {{plate_suffix}}", + # Diplomatic vehicles + "{{plate_number_special}} {{plate_suffix}}", + ) + + plate_number_formats = ("###",) + + plate_extra_formats = ("####",) + + plate_special_formats = ( + "00#CD#", + "00#D###", + "00#T###", + ) + + def license_plate(self) -> str: + """Generate a license plate.""" + pattern: str = self.random_element(self.license_plate_formats) + return self.generator.parse(pattern) + + def plate_letter(self) -> str: + """Generate a letter for license plates.""" + return self.random_element(self.license_plate_letters) + + def plate_number(self) -> str: + """Generate a number for license plates.""" + return self.numerify(self.random_element(self.plate_number_formats)) + + def plate_number_extra(self) -> str: + """Generate extra numerical code for license plates.""" + return self.numerify(self.random_element(self.plate_extra_formats)) + + def plate_number_special(self) -> str: + """Generate a special code for license plates.""" + return self.numerify(self.random_element(self.plate_special_formats)) + + def plate_suffix(self) -> str: + """Generate a suffix code for license plates.""" + return self.random_element(self.license_plate_suffix) + + def vehicle_category(self) -> str: + """Generate a vehicle category code for license plates.""" + return self.random_element(self.vehicle_categories) diff --git a/venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__pycache__/__init__.cpython-311.pyc Binary files differnew file mode 100644 index 0000000..d8ef63d --- /dev/null +++ b/venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__pycache__/__init__.cpython-311.pyc |