
    iM                          G d  d      Z y)c                       e Zd Zi dfdZd Zy)CmfPluginCsvLocationsMixinNc                 @   |j                         D ]  \  }}i }|j                  |       d }|r?|||d   <   | j                  j                  j	                  d|        t
        j                  | j                  d      }|j                         D ]  \  }	}
t        ||	|
        |j                          t
        j                  j                  t        |j                        ddg      }|r|n|}|j                  rq|j                  re||_        |j                  d       |j                   j#                          | j                  j                  j	                  d	|j                          |j                  d
      sq| j%                  |d
   ||xs |        y )Ntypeu"   Обработка локации T)
cmf_importimport_original*parent)namefields)save_importu   Создана локация children)itemsupdater   loggerinfomodelsCmfLocationsetattr
_calc_namegetstrr
   
is_changedr   r	   savedpcommit_process_locations)self	locationsparent_location_dataparent_location_objr
   datacurrent_locationlocationnew_location
field_namevalueexisting_locations               <./modules/settings/models/cmf_plugin_csv_mixins/locations.pyr   z-CmfPluginCsvLocationsMixin._process_locations   s   #//+ 	mJD$!##$89H15 f.&&++.PQaPb,cd%11#$(  2   *:)?)?)A =%JL*e<='')$*$6$6$:$:\../? %; %!
 1B,|&&8+C+C&9HOMMdM3KK&&(OO**//2PQYQ^Q^P_0`axx
#''Z(8:JHLkXkl=	m    c                    |j                  d      }|j                  d      }|j                  d      }|j                  d      }|j                  d      }|j                  d      }|j                  d      }|j                  d      }	| j                  j                  |d|i d	      }
|
d
   j                  |d|i d	      }|d
   j                  |d|i d	      }|d
   j                  |d|i d	      }|d
   j                  |d|i d	      }|d
   j                  |d|i d	      }|d
   j                  |d|i d	      }|	rd|	d|d
   |	<   y y )Ncountryareacitystreethouse_numberfloorflatroom)r   r
   r   r   )r   r
   )r   r   
setdefault)r   location_datacountry_name	area_name	city_namestreet_namer/   floor_numberflat_numberroom_numberr+   r,   r-   r.   s                 r(   _prepare_location_dataz1CmfPluginCsvLocationsMixin._prepare_location_data#   s   $((3!%%f-	!%%f-	#''1$((8$((1#''/#''/..++!$
 z"--!
 J**!
 j!,, #
 j)44&$
 $J/::$
 #:.99#
 #4K
#K0 r)   )__name__
__module____qualname__r   r<    r)   r(   r   r      s    ACY] mBMr)   r   N)r   r@   r)   r(   <module>rA      s   o or)   