o
    Si                     @   sL   d dl mZmZ d dlmZ d dlmZ defddZdee fddZ	d	S )
    )SetPattern)compile)all_cities_datareturnc                  C   sD   t  } t D ]\}}| | |D ]}| | d|  qq| S )N/)setr   itemsadd)citiesprovincep_valuecity r   D/home/ubuntu/.local/lib/python3.10/site-packages/proces/util/data.pyget_all_cities   s   
r   c                     s  i ddddfdd} i  i ddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(i d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdM fdNdO}t  }t D ]I}dP|v r|dP\}}| |\}}||\}}	|| dQ| dR| dQ|	 dR || dQ|	 dR q|}| |\}}|| dQ| dR qt|dSdT dUdV}dW|}
tdQ|
 dXS )YNu   新疆(维吾尔)?u   宁夏(回族)?u   广西(壮族)?)u   新疆维吾尔u   宁夏回族u   广西壮族c                    s   |    vrl| dd  dv r| d d | dd  }}nF| dd  dv rL| d d   v r>| d d  | dd  }}n$| d d | dd  }}n| d dv r^| d d | d }}nt| ||f | < ||fS  |  \}}||fS )N)u   特别行政区)u	   自治区)u   省   市keys	Exception)province_dataitemunit)province_cachespecial_province_mapr   r   get_province_item_unit   s    z0get_city_pattern.<locals>.get_province_item_unitu   临夏回族u   临夏(回族)?u   黔南布依族苗族u   黔南(布依族)?(苗族)?u   黔东南苗族侗族u   黔东南(苗族)?(侗族)?u   红河哈尼族彝族u   红河(哈尼族)?(彝族)?u   恩施土家族苗族u   恩施(土家族)?(苗族)?u   延边朝鲜族u   延边(朝鲜族)?u   巴音郭楞蒙古u   巴音郭楞(蒙古)?u   白沙黎族u   白沙(黎族)?u   黄南藏族u   黄南(藏族)?u   琼中黎族苗族u   琼中(黎族)?(苗族)?u   大理白族u   大理(白族)?u   保亭黎族苗族u   保亭(黎族)?(苗族)?u   湘西土家族苗族u   湘西(土家族)?(苗族)?u   海北藏族u   海北(藏族)?u   怒江傈僳族u   怒江(傈僳族)?u   阿坝藏族羌族u   阿坝(藏族)?(羌族)?u   果洛藏族u   果洛(藏族)?u   海西蒙古族藏族u   海西(蒙古族)?(藏族)?u   玉树藏族u   玉树(藏族)?u   博尔塔拉蒙古u   博尔塔拉(蒙古)?u   甘孜藏族u   甘孜(藏族)?u   迪庆藏族u   迪庆(藏族)?u   德宏傣族景颇族u   德宏(傣族)?(景颇族)?u   昌吉回族u   昌吉(回族)?u   伊犁哈萨克u   伊犁(哈萨克)?u   昌江黎族u   昌江(黎族)?u   凉山彝族u   凉山(彝族)?u   陵水黎族u   陵水(黎族)?u   海南藏族u   海南(藏族)?u   西双版纳傣族u   西双版纳(傣族)?u   克孜勒苏柯尔克孜u   克孜勒苏(柯尔克孜)?u   甘南藏族u   甘南(藏族)?u   文山壮族苗族u   文山(壮族)?(苗族)?u   黔西南布依族苗族u   黔西南(布依族)?(苗族)?u   乐东(黎族)?u   楚雄(彝族)?)u   乐东黎族u   楚雄彝族c                    s   |    vrn| dd  dv r8| d d   v r)| d d  d| d  }}n;| d d d| d  }}n,| dd  dv rN| d d | dd  }}n| d dv r`| d d | d }}nt| ||f | < ||fS  |  \}}||fS )Nr   )u	   自治县u	   自治州u	   (自治)?r   )u   林区u   地区)u   县r   u   盟r   )	city_datar   r   )
city_cachespecial_city_mapr   r   get_city_item_unitS   s   "z,get_city_pattern.<locals>.get_city_item_unitr   (z)?c                 S   s   t | S )N)len)xr   r   r   <lambda>r   s    z"get_city_pattern.<locals>.<lambda>T)keyreverse|))r   r   splitr
   sortedjoinr   )r   r#   patternsliner   r   p_itemp_unitc_itemc_unitptn_strr   )r!   r   r"   r   r   get_city_pattern   s   	
 !"#'
"
r6   N)
typingr   r   rer   proces.data.province_cityr   r   strr6   r   r   r   r   <module>   s
    	