a
    }hO
                     @   sF   d dl mZ deedddZdd	d
ZdeedddZdd ZdS )    )reduce   enF)decimal_numbersuffix_langc                 C   s   d}| }| dks| dkr:d}|dkr0d}|r0d}| d }nb| d	ksJ| d
krl| d }d}|dkrd}|rd}n0| dks|| dkr| d }d}|dkrd}|rd}t ||tt || dv r|t|S |t ||S )a=  
    convert number to string with suffix.
    :param number: the value will be converted
    :param decimal_number: digits want to be round . example number...(2.1111,decimal_number=2) => 2.11
    :param suffix_lang: type of suffix. options is ['en','fa']
    :return: number is converted to string with suffix.
    z{:,}i ʚ;i 6ez{:,}Bfau   {:,}میلیاردu   {:,} میلیاردg    eAi@B ig    .Az{:,}Mu   {:,}میلیونu   {:,} میلیونi  ig     @@z{:,}ku   {:,}هزارu   {:,} هزار)r           r   )roundintformat)numberr   r   Zseparate_after_suffixZresult_formatZresult_number r   AC:\Users\Administrator\Downloads\futplus_django\utils\__init__.pynumber_convertor_to_milion   s4    
r   Nc                    s   t  fdd|d| S )ak  
    this function search in related dict and return value if find key else return default
    :param dictionary: dict item want to search in keys
    :param keys: related keys want to search in dict. keys separate with '.' .
     example 'data.items.price' for {'data':{'items:{'price':'10'}}}
    :param default: value will return if not found
    :return:
    c                    s   t | tr| | S  S )N)
isinstancedictget)dkeydefaultr   r   <lambda>1       zdeep_get.<locals>.<lambda>.)r   split)
dictionarykeysr   r   r   r   deep_get(   s    	r   )list_objectindexc                 C   s   |t | k r| | S |S )z
    :param list_object:list want to get index
    :param index: index of list want to return
    :param default: default value if index not found. default is None
    :return:
    )len)r   r   r   r   r   r   get_or_default4   s    r!   c                 C   s   t tt| dS )Nr   )tuplemapr
   r   )vr   r   r   version_tuple>   s    r%   )r   r   F)N)N)		functoolsr   r
   strr   r   listr!   r%   r   r   r   r   <module>   s   $

