o
    hw                     @   s<   d dl Z d dlmZ edddZdd Zdd	 Zd
d ZdS )    N)
Salesforcez;https://sitetracker-tillmanfiber2--sitetracker.vf.force.comzp00DDm000000L2eu!AQEAQObkypZDOwvBIMx9oTyIE6ZVvjYhrhyuuiMzmD6g3mO3ODzIRi0tlV54yX58r02WZ_wv1aj9y3XwU0hxVoYo7sIm3b4l)instance_url
session_idc                 C   sN   t d|  }|r%|d}t|d}d| }|d d }||fS dS )NFX4-F([A-Z]{2})-(\d{2})      D-Hd   )zD-HXXr   )rematchuppergroupint)cabinet_namer   letters
suffix_numprefixbase r   +/home/ubuntu/webapp/app/siteTrackerCalls.pyparse_distribution_prefix
   s   

r   c                 C   s"   t d| }|rt|dS dS )Nz(\d+)$r   )r
   searchr   r   )wor   r   r   r   extract_suffix   s   r   c              	      s8  t d|  }|sdS |d}t|d}|}d| | td|  d}|d s0d	S |d d
 d }td| d}|d }fdd|D }	fdd |	sYd}
nt|	 fddd} |d }|d }
 |
d}|	rz|	d n|d
 }||	dd|	dd|	dd|	dd|	dddfS )Nr   )NzInvalid cabinet formatr   r   r   zl
        SELECT Id, Ring_Number__c 
        FROM sitetracker__Project__c 
        WHERE LLD_WO_Number__c = 'z'
        LIMIT 1
    records)NNr   Ring_Number__cz
        SELECT LLD_WO_Number__c, County__c, MO__c, Distribution_Area__c,
               Engineering_Vendor_Assigned_Name__c, Construction_Vendor_Assigned_Name__c
        FROM sitetracker__Project__c 
        WHERE Ring_Number__c = 'z/'
        AND Job_Type__c = 'Distribution'
    c                    s   g | ]}|d    r|qS )LLD_WO_Number__c)
startswith).0rfull_prefixr   r   
<listcomp><   s    z,get_next_distribution_wo.<locals>.<listcomp>c                    s(   t   d| }|rt|dS dS )Nz(\d+)r   r   )r
   r   r   r   )wo_namer   r!   r   r   r   >   s   z0get_next_distribution_wo.<locals>.extract_suffixc                    s    | d S )Nr   r   )r    )r   r   r   <lambda>E   s    z*get_next_distribution_wo.<locals>.<lambda>)keyr   02dr   MO__czN/A	County__cDistribution_Area__c#Engineering_Vendor_Assigned_Name__c$Construction_Vendor_Assigned_Name__c)MOCountyDistribution_AreaEngineering_VendorConstruction_Vendor)
r
   r   r   r   r   sfquery	query_allmaxget)r   r   r   suffixblockresultring_numberdist_result
wo_recordsmatching_wosnext_suffixhighestlast_suffixnext_wometadata_sourcer   )r   r"   r   get_next_distribution_wo   sB   







rC   )r
   simple_salesforcer   r2   r   r   rC   r   r   r   r   <module>   s    
