o
    i                  	   @   sH   d dl Z d dlmZ 	ddedededefdd	Zd
edefddZdS )    N)current_app      ?order_number	recipient	weight_kgreturnc           
      C   s   t jd }t jd }|rdnd}| ||d |d |d |d |d	 |d
d|ddd||d}d| dd}tj| d||dd}	|	  |	 d S )ua  Create a DPD shipment.

    Args:
        order_number: e-računi order number
        recipient: dict with keys name, street, city, postal_code, country,
                   and optionally email, phone
        weight_kg: package weight in kilograms
        cod_amount: cash-on-delivery amount, or None

    Returns:
        pl_number barcode string
    DPD_API_URLDPD_API_KEYz	D-COD-B2CzD-B2Cnamestreetcitypostal_codecountryemail phone)r
   r   r   r   r   r   r   )r   parcel_typer   weight
cod_amountBearer zapplication/json)AuthorizationzContent-Typez/parcel/parcel_import   )jsonheaderstimeout	pl_number)r   configgetrequestspostraise_for_statusr   )
r   r   r   r   api_urlapi_keyr   payloadr   resp r%   </var/www/warehouse.soldered.com/app/services/shipping/dpd.pycreate_shipment   s6   



	r'   barcodec                 C   sL   t jd }t jd }dd| i}tj| dd| i|dd}|  |jS )	zHFetch ZPL label for a DPD barcode.

    Returns:
        ZPL string
    r   r	   r   r   z/parcel/parcel_printr   r   )paramsr   r   )r   r   r   r   r    text)r(   r!   r"   r   r$   r%   r%   r&   	get_label4   s   

r+   )r   N)r   flaskr   strdictfloatr'   r+   r%   r%   r%   r&   <module>   s    
/