o
    iH	                  	   @   sT   d dl Z d dlZd dlmZ d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 }|  tt  }ddg}|r|d d|t||d |d |d	 |d
 |d |dd|ddd||dgi}d| dd}	tj| d||	dd}
|
	  |

 }|d d d S )uj  Create a Paket24 shipment.

    Args:
        order_number: e-računi order number (e.g. 'S1001')
        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:
        barcode string
    PAKET24_API_URLPAKET24_API_KEY       	   	shipmentsnamestreetcitypostal_codecountryemail phone)r   r   r   r   r   r   r   )shipment_idservice_codeadditional_servicesr   weight
cod_amountBearer zapplication/json)AuthorizationzContent-Typez /shipment/create_shipment_orders)jsonheaderstimeoutr   barcode)r   configinttimeappendPAKET24_SERVICE_CODEgetrequestspostraise_for_statusr   )r   r   r   r   api_urlapi_keyr   r   payloadr   respdata r0   @/var/www/warehouse.soldered.com/app/services/shipping/paket24.pycreate_shipment   sD   




	r2   r!   c                 C   sR   t jd }t jd }dd| i}tj| dd| i|dd}|  | d	 S )
zLFetch ZPL label for a Paket24 barcode.

    Returns:
        ZPL string
    r	   r
   r   r   z/shipment/get_shipping_labelsr!   r   )paramsr   r    PackageLabelString)r   r"   r(   r'   r*   r   )r!   r+   r,   r   r.   r0   r0   r1   	get_label?   s   

r5   )r   N)
r(   r$   flaskr   r&   strdictfloatr2   r5   r0   r0   r0   r1   <module>   s    
7