
    [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    4/var/www/qgis-server/plugins/atlasprint/plausible.py__init__zPlausible.__init__$   s
    !    returnc                 F   t        t        j                  t                    ryt        t        j                  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CIT)
r   osgetenvENV_SKIP_STATSr   currentDateTimeUtcr   secsToMIN_SECONDS_send_stat_event)r   currents     r   request_stat_eventzPlausible.request_stat_event(   sy    299^,-299T?#+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                  ||jA                         z          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atlasPrint-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 : OK)&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)debugextra_debugatlas_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>   s+    &y#44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 ( #7%6':':)>#??, !&
& 3;;=BB7JWZWaWabfblblmqbrWsLtu'		}Ko^n]oors 	77922:::KK$'  NN7QWWY./r   N)__name__
__module____qualname__r   boolr!   staticmethodr    r   r   r   r   "   s1    "D , Fd F Fr   r   )__copyright____license__	__email__rE   r   r>   	qgis.corer   r   qgis.PyQt.QtCorer   r   r   qgis.PyQt.QtNetworkr   r	   atlasprint.loggerr
   atlasprint.toolsr   r   r   r   r4   r2   r5   r1   r   ra   r   r   <module>rj      s]   &	  	  3 8 8 > $ -"2 9 - @ c cr   