Ë
    ¹ûàgk  ã                   ó’   — d dl mZ d dlmZmZ  G d„ d«      Z G d„ dee«      Z G d„ dee«      Z G d	„ d
ee«      Z	 G d„ de«      Zy)é    )ÚFeed)Ú	Atom1FeedÚRss201rev2Feedc                   ó&   — e Zd ZdZd„ Zdd„Zdd„Zy)ÚGeoFeedMixinz…
    This mixin provides the necessary routines for SyndicationFeed subclasses
    to produce simple GeoRSS or W3C Geo elements.
    c                 ó2   — dj                  d„ |D «       «      S )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   ó6   K  — | ]  }d |d   |d   fz  –— Œ y­w)z%f %fé   r   N© )Ú.0Úcoords     úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/gis/feeds.pyú	<genexpr>z-GeoFeedMixin.georss_coords.<locals>.<genexpr>   s"   è ø€ ÒK¸5˜ 5¨¡8¨U°1©XÐ"6Õ6ÑKùs   ‚)Újoin)ÚselfÚcoordss     r   Úgeorss_coordszGeoFeedMixin.georss_coords   s   € ð �x‰xÑKÀFÔKÓKÐKó    c                 ó²   — |r3|dd \  }}|j                  dd|z  «       |j                  dd|z  «       y|j                  d| j                  |f«      «       y)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é   zgeo:latz%fzgeo:lonzgeorss:point)ÚaddQuickElementr   )r   Úhandlerr   Úw3c_geoÚlonÚlats         r   Úadd_georss_pointzGeoFeedMixin.add_georss_point   s[   € ñ Ø˜b˜q�z‰HˆC�Ø×#Ñ# I¨t°c©zÔ:Ø×#Ñ# I¨t°c©zÕ:à×#Ñ# N°D×4FÑ4FÈÀyÓ4QÕRr   c                 óV  — |j                  d«      }|��•t        |t        t        f«      r°d}t        |d   t        t        f«      rt	        |«      dk(  r|}nRt        d«      ‚t	        |«      dk(  r| j                  |||¬«       n$t	        |«      dk(  r|dd |dd f}nt        d«      ‚|�/|rt        d	«      ‚|j                  d
| j                  |«      «       yyt        |j                  «      j                  «       }|dk(  r| j                  ||j                  |¬«       y|rt        d«      ‚|dv r,|j                  d| j                  |j                  «      «       y|dv r/|j                  d| j                  |d   j                  «      «       yt        d|j                  z  «      ‚y)z:Add a GeoRSS XML element using the given item and handler.ÚgeometryNr   r   z'Only should be two sets of coordinates.©r   é   z'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.)Ú
linestringÚ
linearringzgeorss:line)Úpolygonzgeorss:polygonz!Geometry type "%s" not supported.)ÚgetÚ
isinstanceÚlistÚtupleÚlenÚ
ValueErrorr   r   r   ÚstrÚ	geom_typeÚlowerr   )r   r   Úitemr   ÚgeomÚ
box_coordsÚgtypes          r   Úadd_georss_elementzGeoFeedMixin.add_georss_element    s­  € ð �x‰x˜
Ó#ˆØÑÜ˜$¤¤u Ô.ð "�
Ü˜d 1™g¬¬e }Ô5ä˜4“y A’~Ø%)™
ä(Ð)RÓSÐSä˜4“y A’~à×-Ñ-¨g°tÀWÐ-ÕMÜ˜T› ašà&*¨2¨A h°°Q°R°Ð%9™
ä(Ð)RÓSÐSàÐ)ÙÜ(ØLóð ð ×+Ñ+Ø$ d×&8Ñ&8¸Ó&Dõð *ô ˜DŸN™NÓ+×1Ñ1Ó3�Ø˜GÒ#Ø×)Ñ)¨'°4·;±;ÈÐ)ÕPáÜ(Ð)RÓSÐSð Ð <Ñ<Ø×/Ñ/Ø)¨4×+=Ñ+=¸d¿k¹kÓ+Jõð  ,Ñ.à×/Ñ/Ø,¨d×.@Ñ.@ÀÀaÁÇÁÓ.Põô )Ø?À$Ç.Á.ÑPóð ðc r   N)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r3   r   r   r   r   r      s   „ ñò
LóSô7r   r   c                   ó2   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )Ú
GeoRSSFeedc                 ó.   •— t         ‰| �  «       }d|d<   |S ©Nzhttp://www.georss.org/georsszxmlns:georss©ÚsuperÚrss_attributes©r   ÚattrsÚ	__class__s     €r   r>   zGeoRSSFeed.rss_attributes\   s   ø€ Ü‘Ñ&Ó(ˆØ >ˆˆnÑØˆr   c                 óJ   •— t         ‰| �  ||«       | j                  ||«       y ©N©r=   Úadd_item_elementsr3   ©r   r   r/   rA   s      €r   rE   zGeoRSSFeed.add_item_elementsa   ó"   ø€ Ü‰Ñ! '¨4Ô0Ø×Ñ ¨Õ.r   c                 ó\   •— t         ‰| �  |«       | j                  || j                  «       y rC   ©r=   Úadd_root_elementsr3   Úfeed©r   r   rA   s     €r   rJ   zGeoRSSFeed.add_root_elementse   ó$   ø€ Ü‰Ñ! 'Ô*Ø×Ñ ¨¯©Õ3r   ©r4   r5   r6   r>   rE   rJ   Ú__classcell__©rA   s   @r   r9   r9   [   ó   ø„ ôô
/÷4ð 4r   r9   c                   ó2   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )ÚGeoAtom1Feedc                 ó.   •— t         ‰| �  «       }d|d<   |S r;   )r=   Úroot_attributesr?   s     €r   rU   zGeoAtom1Feed.root_attributesk   s   ø€ Ü‘Ñ'Ó)ˆØ >ˆˆnÑØˆr   c                 óJ   •— t         ‰| �  ||«       | j                  ||«       y rC   rD   rF   s      €r   rE   zGeoAtom1Feed.add_item_elementsp   rG   r   c                 ó\   •— t         ‰| �  |«       | j                  || j                  «       y rC   rI   rL   s     €r   rJ   zGeoAtom1Feed.add_root_elementst   rM   r   )r4   r5   r6   rU   rE   rJ   rO   rP   s   @r   rS   rS   j   rQ   r   rS   c                   ó2   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )Ú
W3CGeoFeedc                 ó.   •— t         ‰| �  «       }d|d<   |S )Nz(http://www.w3.org/2003/01/geo/wgs84_pos#z	xmlns:geor<   r?   s     €r   r>   zW3CGeoFeed.rss_attributesz   s   ø€ Ü‘Ñ&Ó(ˆØGˆˆkÑØˆr   c                 óN   •— t         ‰| �  ||«       | j                  ||d¬«       y ©NTr    rD   rF   s      €r   rE   zW3CGeoFeed.add_item_elements   s'   ø€ Ü‰Ñ! '¨4Ô0Ø×Ñ ¨°tÐÕ<r   c                 ó`   •— t         ‰| �  |«       | j                  || j                  d¬«       y r\   rI   rL   s     €r   rJ   zW3CGeoFeed.add_root_elementsƒ   s)   ø€ Ü‰Ñ! 'Ô*Ø×Ñ ¨¯©¸DÐÕAr   rN   rP   s   @r   rY   rY   y   s   ø„ ôô
=÷Bð Br   rY   c                   ó    — e Zd ZdZeZd„ Zd„ Zy)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                 ó*   — d| j                  d|«      iS )Nr   ©Ú_get_dynamic_attr)r   Úobjs     r   Úfeed_extra_kwargszFeed.feed_extra_kwargs“   s   € Ø˜D×2Ñ2°:¸sÓCÐDÐDr   c                 ó*   — d| j                  d|«      iS )Nr   Úitem_geometryr`   )r   r/   s     r   Úitem_extra_kwargszFeed.item_extra_kwargs–   s   € Ø˜D×2Ñ2°?ÀDÓIÐJÐJr   N)r4   r5   r6   r7   r9   Ú	feed_typerc   rf   r   r   r   r   r   ‰   s   „ ñð €IòEóKr   r   N)
Ú django.contrib.syndication.viewsr   ÚBaseFeedÚdjango.utils.feedgeneratorr   r   r   r9   rS   rY   r   r   r   ú<module>rk      sR   ðÝ =ß @÷Rñ Rôl4� ô 4ô4�9˜lô 4ôB� ô Bô Kˆ8õ Kr   