o
    di+                     @   s   d dl Z G dd dZdS )    Nc                   @   s   e Zd ZdZedd Zedd Zedd Zedd	 Zed
d Z	edd Z
edd Zedd Zedd Zedd Zedd ZdS )DocumentsPatha4  
    This class provides methods for generating file paths for various document types.

    Methods:
        get_profile_picture_path(filename, **kwargs): Generate a path for user profile pictures.
        get_station_path(instance, filename, **kwargs): Generate a path for station-related files.
        get_suggest_station_path(instance, filename, **kwargs): Generate a path for suggested station files.
        get_station_rating_path(instance, filename, **kwargs): Generate a path for station rating files.
        get_vehicle_make_path(instance, filename, **kwargs): Generate a path for vehicle make files.
        get_rating_label_path(instance, filename, **kwargs): Generate a path for rating label files.
        get_connector_path(instance, filename, **kwargs): Generate a path for connector-related files.
    c                 K   ,   | dd }dt |f }d| }|S )z
        Generate a path for user profile pictures.

        Args:
            filename (str): The original filename of the profile picture.

        Returns:
            str: The generated file path for profile pictures.
        .%s.%szuser/profile-picture/splituuiduuid4instancefilenamekwargsext	file_path r   N/var/www/html/evchargy.com/django-station-ev/station_ev/base/documents_path.pyget_profile_picture_path   s   
z&DocumentsPath.get_profile_picture_pathc                 K   r   )a  
        Generate a path for station-related files.

        Args:
            instance: The instance of the station.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for station-related files.
        r   r   r   zstation/r   r   r   r   r   get_station_path"      
zDocumentsPath.get_station_pathc                 K   r   )a!  
        Generate a path for suggested station files.

        Args:
            instance: The instance of the suggested station.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for suggested station files.
        r   r   r   zstation/suggest/r   r   r   r   r   get_suggest_station_path3   r   z&DocumentsPath.get_suggest_station_pathc                 K   r   )a  
        Generate a path for station rating files.

        Args:
            instance: The instance of the station rating.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for station rating files.
        r   r   r   zstation/rating/r   r   r   r   r   get_station_rating_pathD   r   z%DocumentsPath.get_station_rating_pathc                 K   r   )a  
        Generate a path for vehicle make files.

        Args:
            instance: The instance of the vehicle make.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for vehicle make files.
        r   r   r   zvehicle/r   r   r   r   r   get_vehicle_make_pathU   r   z#DocumentsPath.get_vehicle_make_pathc                 K   r   )a"  
        Generate a path for network operator files.

        Args:
            instance: The instance of the NetworkOperator make.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for network operator files.
        r   r   r   znetwork_operator/r   r   r   r   r   get_network_operator_pathf   r   z'DocumentsPath.get_network_operator_pathc                 K   r   )a  
        Generate a path for rating label files.

        Args:
            instance: The instance of the rating label.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for rating label files.
        r   r   r   zrating/label/r   r   r   r   r   get_rating_label_pathw   r   z#DocumentsPath.get_rating_label_pathc                 K   r   )a  
        Generate a path for connector-related files.

        Args:
            instance: The instance of the connector.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for connector-related files.
        r   r   r   z
connector/r   r   r   r   r   get_connector_path   r   z DocumentsPath.get_connector_pathc                 K   r   )  
        Generate a path for user-vehicle files.

        Args:
            instance: The instance of the user-vehicle.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for user-vehicle files.
        r   r   r   zuser_vehicle/r   r   r   r   r   get_user_vehicle   r   zDocumentsPath.get_user_vehiclec                 K   r   )a!  
        Generate a path for vehicle-insurance files.

        Args:
            instance: The instance of the vehicle-insurance.
            filename (str): The original filename of the file.

        Returns:
            str: The generated file path for vehicle-insurance files.
        r   r   r   zuser_vehicle/insurance/r   r   r   r   r   get_vehicle_insurance_path   r   z(DocumentsPath.get_vehicle_insurance_pathc                 K   r   )r   r   r   r   zcontact_us/r   r   r   r   r   get_contact_us   r   zDocumentsPath.get_contact_usN)__name__
__module____qualname____doc__staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s0    









r   )r	   r   r   r   r   r   <module>   s    