File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/jid.cpython-310.pyc
o
�N�g� � @ sz d Z ddlZddlZddlZddlmZ ddlZda dd� Z
dd� Zdd � Zd
d� Z
dd
� Zdd� Zdd� Zddd�ZdS )z1
Functions for creating and working with job IDs
� N)�
month_abbrc C s
t j �� S )zJ
Helper method so tests do not have to patch the built-in method.
)�datetime�utcnow� r r �B/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/jid.py�_utc_now s
r c C sN t � }| �dd�s
|d�S trt|krttjdd� }|a|d�dt�� � �S )z
Generate a jid
Z
unique_jidFz%Y%m%d%H%M%S%f� )�microseconds�_)r �get�LAST_JID_DATETIMEr � timedelta�os�getpid)�optsZjid_dtr r r �gen_jid s r c C sb t | t�sdS t| �dkrt| �dks| d dkrdS zt| dd� � W dS ty0 Y dS w )z9
Returns True if the passed in value is a job id
F� � r
NT)�
isinstance�str�len�int�
ValueError)�jidr r r �is_jid% s
$�r c C s� t | �} t| �dkrt| �dks| d dkrdS | dd� }| dd� }| dd� }| dd � }| d d
� }| d
d� }| dd� }d�|tt|� |||||�}|S )
zF
Convert a salt job id into the time when the job was invoked
r r r
� N� � � �
� � z{}, {} {} {}:{}:{}.{})r r �format�monthsr ) r �year�month�day�hour�minute�second�micro�retr r r �jid_to_time4 s $�r, c C s� | � dd�t| � dg ��| � dd�| � dd�| � dd �d
�}d| v r,| � di �|d<