
    ;\h                         d Z dZdZddlZddlZddlZddlmZmZ ddl	m
Z
mZmZ ddlmZmZ ddlmZ dd	lmZmZ d
ZdZdZdZeZdZ G d d      Zy)zCopyright 2024, 3LizzGPL version 3zinfo@3liz.org    N)QgisQgsNetworkAccessManager)
QByteArray	QDateTimeQUrl)QNetworkReplyQNetworkRequest)Logger)to_boolversioni  3LIZ_SKIP_STATSzplugin.server.lizmap.comz"https://bourbon.3liz.com/api/eventz)https://plausible.snap.3liz.net/api/eventc                   4    e Zd Zd ZdefdZedefd       Zy)	Plausiblec                     d| _         y)z Constructor. N)previous_date)selfs    </var/www/qgis-server/plugins/wfsOutputExtension/plausible.py__init__zPlausible.__init__%   s
    !    returnc                 N   t        t        j                  t              d      ryt        t        j                  d      d      ryt	               j                         }| j                  r#| j                  j                  |      t        k  ry| j                         r|| _        yy)z& Request to send an event to the API. F)default_valueCIT)
r   osgetenvENV_SKIP_STATSr   currentDateTimeUtcr   secsToMIN_SECONDS_send_stat_event)r   currents     r   request_stat_eventzPlausible.request_stat_event)   s}    299^,EB299T?%8+002$"4"4";";G"D{"R   "!(Dr   c            
         d} d}t               }|dv rd} | rt        nt        }dt        j                  dd      j                         v }|rt        j                  dt              }n| rt        nt        }t               }|j                  t        |             |r$|j                  dd	       |j                  d
d       |j                  t        j                  j                  d       t        j                   j#                  d      d   }dj%                  |j#                  d      dd       }t'        j(                         }	dj%                  |	j#                  d      dd       }
d||||	|
t'        j*                         d||d}t-        j.                         j1                  |t3        t4        j7                  t9        j:                  |                        }|syt=               }dt        j>                          d| d| d}|jA                         tB        jD                  jF                  k(  r|jI                  |dz          y|jK                  djM                  ||jA                                      y)z Send stats event to the API. F)masterdevTlizcloudQGIS_SERVER_APPLICATION_NAME !QGIS_SERVER_PLAUSIBLE_DOMAIN_NAMEs   X-Debug-Requests   trues   X-Forwarded-Fors	   127.0.0.1zapplication/json-r   .   zwfsOutputExtension-server)zplugin-versionzqgis-version-fullzqgis-version-branchzpython-version-fullzpython-version-branchzos-name)namepropsurldomainzRequest HTTP OS process 'z' sent to 'z' with domain 'z : OKz{} {})'r   PLAUSIBLE_URL_TESTPLAUSIBLE_URL_PRODr   r   lowerPLAUSIBLE_DOMAIN_PRODPLAUSIBLE_DOMAIN_TESTr	   setUrlr   setRawHeader	setHeaderKnownHeadersContentTypeHeaderr   QGIS_VERSIONsplitjoinplatformpython_versionsystemr   instancepostr   strencodejsondumpsr
   getpiderrorr   NetworkErrorNoErrorinfowarningformat)debugextra_debugplugin_versionplausible_urlis_lizcloudplausible_domainrequestqgis_version_fullqgis_version_branchpython_version_fullpython_version_branchdatarloggermessages                  r   r    zPlausible._send_stat_event?   s3     ..E.3*9K BII.Lb$Q$W$W$YY!yy)LNcd8=4CX!#tM*+  !3W=  !3\B/66HHJ\] !--33C8;!hh'8'>'>s'CAa'HI '557 #)<)B)B3)G!)L M 0 #1%6':':)>#??, !&
& 3;;=BBZ

4::d+; <=?'		}K O !& 	 77922:::KK$'  NN7>>'1779=>r   N)__name__
__module____qualname__r   boolr"   staticmethodr     r   r   r   r   #   s1    "D , Hd H Hr   r   )__copyright____license__	__email__rF   r   r?   	qgis.corer   r   qgis.PyQt.QtCorer   r   r   qgis.PyQt.QtNetworkr   r	   wfsOutputExtension.loggingr
   wfsOutputExtension.toolsr   r   r   r   r5   r3   r6   r2   r   rc   r   r   <module>rl      s]   &	  	  3 8 8 > - 5"2 9 - @ e er   