
    !}g,                     r    d dl mZ ddlmZ  G d de          ZddZddZdd	Zdd
Z	ddZ
ddZg dZdS )    )generator_stop   )FeedParserDictc                        e Zd ZddddZ fdZd ZeZeZeZeZ	d Z
d Zd	 Zd
 Zd Zd ZeZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeZeZeZeZeZ d Z!e!Z" xZ#S )	Namespacegeogeorssgml)z(http://www.w3.org/2003/01/geo/wgs84_pos#zhttp://www.georss.org/georsszhttp://www.opengis.net/gmlc                 d    d| _         t          t          |                                            d S )Nr   )
ingeometrysuperr   __init__)self	__class__s    \/var/www/py-google-trends/myenv/lib/python3.11/site-packages/feedparser/namespaces/georss.pyr   zNamespace.__init__*   s,    i'')))))    c                 |    |                      dd           |                                 }t                      |d<   d S )Ngeometryr   wherepush_get_contextr   r   attrs_dcontexts      r   _start_georssgeomzNamespace._start_georssgeom.   s=    		*a   ##%%)++r   c                 d    |                                  }|d                             |           d S Nr   )r   update)r   r   r   s      r   _save_wherezNamespace._save_where8   s2    ##%%)))))r   c                 |    t          |                     d                    }|r|                     |           d S d S Nr   )_parse_georss_pointpopr    r   r   s     r   _end_georss_pointzNamespace._end_georss_point<   sG    &txx
';';<< 	'X&&&&&	' 	'r   c                 |    t          |                     d                    }|r|                     |           d S d S r"   )_parse_georss_liner$   r    r%   s     r   _end_georss_linezNamespace._end_georss_lineA   sG    %dhhz&:&:;; 	'X&&&&&	' 	'r   c                     |                      d          }t          |          }|r|                     |           d S d S r"   )r$   _parse_georss_polygonr    )r   thisr   s      r   _end_georss_polygonzNamespace._end_georss_polygonF   sL    xx
##(.. 	'X&&&&&	' 	'r   c                 |    t          |                     d                    }|r|                     |           d S d S r"   )_parse_georss_boxr$   r    r%   s     r   _end_georss_boxzNamespace._end_georss_boxL   sG    $TXXj%9%9:: 	'X&&&&&	' 	'r   c                 |    |                      dd           |                                 }t                      |d<   d S )Nr   r   r   r   s      r   _start_wherezNamespace._start_whereQ   s=    		'1##%%)++r   c                    |                     d          }	 t          |                     dd                    }n# t          $ r d}Y nw xY w|                                 }d|vri |d<   ||d         d<   ||d         d<   d S )Nsrsnamesrsdimension2r   r   srsNamesrsDimension)getint
ValueErrorr   )r   r   srs_namesrs_dimensionr   s        r   _parse_srs_attrszNamespace._parse_srs_attrsW   s    ;;y))	NC @ @AAMM 	 	 	MMM	##%%'!!!GG&.#+8(((s   #; A
	A
c                 j    |                      |           d| _        |                     dd           d S )N   r   r   r>   r   r   r   r   s     r   _start_gml_pointzNamespace._start_gml_pointc   s7    g&&&		*a     r   c                 j    |                      |           d| _        |                     dd           d S )N
linestringr   r   rA   rB   s     r   _start_gml_linestringzNamespace._start_gml_linestringh   s7    g&&&&		*a     r   c                 \    |                      |           |                     dd           d S Nr   r   )r>   r   rB   s     r   _start_gml_polygonzNamespace._start_gml_polygonm   s0    g&&&		*a     r   c                 2    |                      dd           d S rH   r   rB   s     r   _start_gml_exteriorzNamespace._start_gml_exteriorq   s    		*a     r   c                 @    d| _         |                     dd           d S )Npolygonr   r   )r   r   rB   s     r   _start_gml_linearringzNamespace._start_gml_linearringt   s#    #		*a     r   c                 2    |                      dd           d S Nposr   rK   rB   s     r   _start_gml_poszNamespace._start_gml_posx       		%r   c                    |                      d          }|                                 }|d                             d          }|d                             dd          }d}|rBd|v r>t          |                    d          d	                   }t          |t          v           }t          |||
          }|r|                     |           d S d S NrR   r   r7   r8   r   TEPSG:)swapdims)	r$   r   r9   r:   splitbool_geogCSr#   r    r   r,   r   r<   r=   rZ   epsgr   s           r   _end_gml_poszNamespace._end_gml_pos{   s    xx##%%7#''	22(,,^Q?? 	)(**x~~c**2.//D((D&t$]KKK 	'X&&&&&	' 	'r   c                 2    |                      dd           d S rQ   rK   rB   s     r   _start_gml_poslistzNamespace._start_gml_poslist   rT   r   c                    |                      d          }|                                 }|d                             d          }|d                             dd          }d}|rBd|v r>t          |                    d          d	                   }t          |t          v           }t          || j        ||
          }|r| 	                    |           d S d S rV   )
r$   r   r9   r:   r\   r]   r^   _parse_poslistr   r    r_   s           r   _end_gml_poslistzNamespace._end_gml_poslist   s    xx##%%7#''	22(,,^Q?? 	)(**x~~c**2.//D((D!$/=B B B 	'X&&&&&	' 	'r   c                 >    d| _         |                     d           d S )Nr   r   )r   r$   r   s    r   	_end_geomzNamespace._end_geom   s!    r   c                 0    |                      d           d S r   )r$   rh   s    r   
_end_wherezNamespace._end_where   s    r   )$__name__
__module____qualname__supported_namespacesr   r   _start_georss_point_start_georss_line_start_georss_polygon_start_georss_boxr    r&   r)   r-   r0   r2   _start_georss_wherer>   rC   rF   rI   rL   rO   rS   ra   rc   rf   ri   _end_gml_point_end_gml_linestring_end_gml_linearring_end_gml_exterior_end_gml_polygonrk   _end_georss_where__classcell__)r   s   @r   r   r   #   s       49(0&+ * * * * *, , ,
 ,*-)* * *' ' '
' ' '
' ' '' ' '
, , , '
9 
9 
9! ! !
! ! !
! ! !! ! !! ! !  ' ' '  ' ' '   N##!   "r   r   Tc                 z    |dk    rt          | ||          S |dk    rt          | ||          }d|d         fdS d S )NrE   rN   Polygoncoordinatestyper~   )r(   )value	geom_typerZ   r[   rings        r   re   re      sV    L  !%t444	i		!%t44!43F2HIIItr   c              #   \  K   d |                      dd                                          D             }	 	 t          |          t          |          gd d |rdpd         }|dk    r"|                    t          |                     t	          |          V  n# t
          $ r Y d S w xY wx)Nc              3   4   K   | ]}t          |          V  d S )N)float).0lls     r   	<genexpr>z%_gen_georss_coords.<locals>.<genexpr>   s(      CCRuRyyCCCCCCr   , TrY   r@      )replacer\   nextappendtupleStopIteration)r   rZ   r[   latlonsts        r   _gen_georss_coordsr      s       DC5==c#:#:#@#@#B#BCCCG	gW./A/A"1A/ABAqyyg'''((NNNN 	 	 	FF	s   A$B 
B*)B*c                     	 t          t          | ||                    }d|d         dS # t          t          f$ r Y d S w xY w)NPointr   r   listr   
IndexErrorr;   r   rZ   r[   coordss       r   r#   r#      sZ    (d;;<<q	:::
#   tts   (+ A A c                 z    	 t          t          | ||                    }d|dS # t          t          f$ r Y d S w xY w)N
LineStringr   r   r   s       r   r(   r(      sV    (d;;<<$V<<<
#   tts   "% ::c                     	 t          t          | ||                    }n# t          t          f$ r Y d S w xY wt	          |          dk     rd S d|fdS )N   r}   r   )r   r   r   r;   len)r   rZ   r[   r   s       r   r+   r+      sn    
&udD99::
#   tt
4yy1}}ttg666s   ! 66c                     	 t          t          | ||                    }dt          |          dS # t          t          f$ r Y d S w xY w)NBoxr   )r   r   r   r   r;   r   s       r   r/   r/      s\    
(d;;<<eFmm<<<
#   tts   /2 AA(  i  i  i  i1  iB  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  iN  iO  iP  iR  iS  iT  iU  iV  iW  iX  iY  i\  i]  i^  i_  i`  ia  ib  ic  id  ie  if  ig  ih  ii  ij  ik  il  im  in  io  ip  iq  ir  is  it  iu  iv  iw  ix  iz  i{  i|  i}  i~  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  io  iv  i{  i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  iN  iO  iP  iQ  iR  iS  iT  iU  iV  iW  iX  iY  iZ  i[  i\  i]  i^  i_  i`  ia  ib  ic  id  ie  if  ig  ih  ii  ij  ik  il  im  in  io  ip  iq  ir  is  it  iu  iv  iw  ix  iy  iz  i{  i|  i}  i~  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i%  i&  i'  i(  is  N)Tr   )
__future__r   utilr   objectr   re   r   r#   r(   r+   r/   r^    r   r   <module>r      s   < & % % % % % ! ! ! ! ! !A# A# A# A# A# A# A# A#N            7 7 7 7	 	 	 	# # #r   