HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/faker/providers/automotive/de_CH/__init__.py
from .. import Provider as AutomotiveProvider


class Provider(AutomotiveProvider):
    """Implement automotive provider for ``de_CH`` locale.

    Sources:

    - https://de.wikipedia.org/wiki/Kontrollschild_(Schweiz)#Kantone
    """

    __canton = (
        ("AG", "%## ###"),
        ("AR", "%# ###"),
        ("AI", "%# ###"),
        ("BL", "%## ###"),
        ("BS", "%## ###"),
        ("BE", "%## ###"),
        ("FR", "%## ###"),
        ("GE", "%## ###"),
        ("GL", "%# ###"),
        ("GR", "%## ###"),
        ("JU", "%# ###"),
        ("LU", "%## ###"),
        ("NE", "%## ###"),
        ("NW", "%# ###"),
        ("OW", "%# ###"),
        ("SH", "%# ###"),
        ("SZ", "%## ###"),
        ("SO", "%## ###"),
        ("SG", "%## ###"),
        ("TI", "%## ###"),
        ("TG", "%## ###"),
        ("UR", "%# ###"),
        ("VD", "%## ###"),
        ("VS", "%## ###"),
        ("ZG", "%## ###"),
        ("ZH", "%## ###"),
    )

    def license_plate(self) -> str:
        """Generate a license plate."""
        plate: tuple = self.random_element(self.__canton)
        return f"{plate[0]}-{self.numerify(plate[1])}".strip()