+
    Tjj                         ^ RI Ht ^ RIHtHt  ! R R4      t ! R R]]4      t ! R R]]4      t ! R	 R
]]4      t	 ! R R]4      tR# )    )Feed)	Atom1FeedRss201rev2Feedc                   >   a  ] tR t^t o RtR tRR ltRR ltRtV t	R# )GeoFeedMixinzy
This mixin provides the necessary routines for SyndicationFeed subclasses
to produce simple GeoRSS or W3C Geo elements.
c                2    RP                  R V 4       4      # )z
In GeoRSS coordinate pairs are ordered by lat/lon and separated by
a single white space. Given a tuple of coordinates, return a string
GeoRSS representation.
 c              3   T   "   T F  pR V^,          V^ ,          3,          x  K   	  R# 5i)z%f %fN ).0coords   & M/var/www/idalgo/venv/lib/python3.14/site-packages/django/contrib/gis/feeds.py	<genexpr>-GeoFeedMixin.georss_coords.<locals>.<genexpr>   s%     KF558U1X"666Fs   &()join)selfcoordss   &&r   georss_coordsGeoFeedMixin.georss_coords   s     xxKFKKK    c                    V'       d@   VR,          w  rEVP                  RRV,          4       VP                  RRV,          4       R# VP                  RV P                  V34      4       R# )z
Adds a GeoRSS point with the given coords using the given handler.
Handles the differences between simple GeoRSS and the more popular
W3C Geo specification.
N   Nzgeo:latz%fzgeo:lonzgeorss:pointN)addQuickElementr   )r   handlerr   w3c_geolonlats   &&&&  r   add_georss_pointGeoFeedMixin.add_georss_point   sW     bzHC##Itcz:##Itcz:##ND4F4Fy4QRr   c                   VP                  R4      pVEe   \        V\        \        34      '       d   Rp\        V^ ,          \        \        34      '       d   \	        V4      ^8X  d   TpM]\        R4      h\	        V4      ^8X  d   V P                  WVR7       M.\	        V4      ^8X  d   VR,          VR,          3pM\        R4      hVe7   V'       d   \        R4      hVP                  R	V P                  V4      4       R# R# \        VP                  4      P                  4       pVR
8X  d    V P                  WP                  VR7       R# V'       d   \        R4      hVR9   d.   VP                  RV P                  VP                  4      4       R# VR9   d5   VP                  RV P                  V^ ,          P                  4      4       R# \        RVP                  ,          4      hR# )z:Add a GeoRSS XML element using the given item and handler.geometryNz'Only should be two sets of coordinates.r   r   :r   NNz'Only should be 2 or 4 numeric elements.z.Cannot use simple GeoRSS box in W3C Geo feeds.z
georss:boxpointz'W3C Geo only supports Point geometries.zgeorss:linezgeorss:polygonz!Geometry type "%s" not supported.)
linestring
linearring)polygon)get
isinstancelisttuplelen
ValueErrorr   r   r   str	geom_typelowerr   )r   r   itemr   geom
box_coordsgtypes   &&&&   r   add_georss_elementGeoFeedMixin.add_georss_element    s    xx
#$u.. "
d1ge}554yA~%)
()RSS4yA~--gW-MTa&*2hR%9
()RSS)(L  ++$d&8&8&D * DNN+113G#))';;)P()RSS  <<//)4+=+=dkk+J ,.//,d.@.@a.P )?$..P c r   r   N)F)
__name__
__module____qualname____firstlineno____doc__r   r   r5   __static_attributes____classdictcell____classdict__s   @r   r   r      s      
LS7 7r   r   c                   J   a a ] tR t^[t oV 3R ltV 3R ltV 3R ltRtVtV ;t	# )
GeoRSSFeedc                .   < \         SV `  4       pR VR&   V# zhttp://www.georss.org/georsszxmlns:georsssuperrss_attributesr   attrs	__class__s   & r   rF   GeoRSSFeed.rss_attributes\   s    &( >nr   c                H   < \         SV `  W4       V P                  W4       R # NrE   add_item_elementsr5   r   r   r1   rI   s   &&&r   rN   GeoRSSFeed.add_item_elementsa       !'0.r   c                \   < \         SV `  V4       V P                  WP                  4       R # rL   rE   add_root_elementsr5   feedr   r   rI   s   &&r   rT   GeoRSSFeed.add_root_elementse   "    !'*3r   r   
r7   r8   r9   r:   rF   rN   rT   r<   r=   __classcell__rI   r?   s   @@r   rA   rA   [        
/4 4r   rA   c                   J   a a ] tR t^jt oV 3R ltV 3R ltV 3R ltRtVtV ;t	# )GeoAtom1Feedc                .   < \         SV `  4       pR VR&   V# rC   )rE   root_attributesrG   s   & r   r`   GeoAtom1Feed.root_attributesk   s    ') >nr   c                H   < \         SV `  W4       V P                  W4       R # rL   rM   rO   s   &&&r   rN   GeoAtom1Feed.add_item_elementsp   rQ   r   c                \   < \         SV `  V4       V P                  WP                  4       R # rL   rS   rV   s   &&r   rT   GeoAtom1Feed.add_root_elementst   rX   r   r   )
r7   r8   r9   r:   r`   rN   rT   r<   r=   rZ   r[   s   @@r   r^   r^   j   r\   r   r^   c                   J   a a ] tR t^yt oV 3R ltV 3R ltV 3R ltRtVtV ;t	# )
W3CGeoFeedc                .   < \         SV `  4       pR VR&   V# )z(http://www.w3.org/2003/01/geo/wgs84_pos#z	xmlns:georD   rG   s   & r   rF   W3CGeoFeed.rss_attributesz   s    &(Gkr   c                L   < \         SV `  W4       V P                  WR R7       R# Tr#   NrM   rO   s   &&&r   rN   W3CGeoFeed.add_item_elements   s#    !'0t<r   c                `   < \         SV `  V4       V P                  WP                  R R7       R# rk   rS   rV   s   &&r   rT   W3CGeoFeed.add_root_elements   s'    !'*DAr   r   rY   r[   s   @@r   rg   rg   y   s     
=B Br   rg   c                   4   a  ] tR t^t o Rt]tR tR tRt	V t
R# )r   z
This is a subclass of the `Feed` from `django.contrib.syndication`.
This allows users to define a `geometry(obj)` and/or `item_geometry(item)`
methods on their own subclasses so that geo-referenced information may
placed in the feed.
c                *    R V P                  R V4      /# )r"   _get_dynamic_attr)r   objs   &&r   feed_extra_kwargsFeed.feed_extra_kwargs   s    D22:sCDDr   c                *    R V P                  RV4      /# )r"   item_geometryrq   )r   r1   s   &&r   item_extra_kwargsFeed.item_extra_kwargs   s    D22?DIJJr   r   N)r7   r8   r9   r:   r;   rA   	feed_typert   rx   r<   r=   r>   s   @r   r   r      s#      IEK Kr   r   N)
 django.contrib.syndication.viewsr   BaseFeeddjango.utils.feedgeneratorr   r   r   rA   r^   rg   r   r   r   <module>r~      sR    = @R Rl4 449l 4B B K8 Kr   