U
    TGˆh©  ã                   @   sº   d Z dZdZddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZmZ G dd„ dƒZdS )zCopyright 2024, 3LizzGPL version 3zinfo@3liz.orgé    )ÚQgsServerInterfaceÚQgsServerOgcApi)ÚExpressionService)ÚGetFeatureInfoFilter)ÚGetLegendGraphicFilter)ÚLegendOnOffAccessControlÚLegendOnOffFilter)ÚLizmapAccessControlFilter)ÚLizmapFilter)ÚLizmapService)ÚLogger)Ú	Plausible)ÚServerInfoHandler)Úcheck_environment_variableÚversionc                   @   s    e Zd ZdZeddœdd„ZdS )ÚLizmapServerz:Plugin for QGIS server
    this plugin loads Lizmap filterN)Úserver_ifaceÚreturnc              
   C   sž  || _ tƒ | _tƒ | _| j d| j› d¡ ztƒ | _| j ¡  W n: tk
r| } z| j 	|¡ | j 
d¡ W 5 d }~X Y nX | ¡ }t| j ddd| jƒ}| |¡ | tƒ ¡ | j d¡ tƒ  z| tƒ ¡ W n8 tk
r
 } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d	¡ z| t| j ƒ¡ W n8 tk
rd } z| j 
d
|› ¡ ‚ W 5 d }~X Y nX | j d¡ z| t| j ƒd¡ W n8 tk
rÀ } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d¡ z| t| j ƒd¡ W n8 tk
r } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d¡ z| t| j ƒd¡ W n8 tk
rx } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d¡ z| t| j ƒd¡ W n8 tk
rÔ } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d¡ z| t| j ƒd¡ W n8 tk
r0 } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d¡ z| t| j ƒd¡ W n8 tk
rŒ } z| j 
d|› ¡ ‚ W 5 d }~X Y nX | j d¡ d S )NzInit server version "ú"z!Error while calling the API statsz/lizmapZLizmapzThe Lizmap API endpointz1API "/lizmap" loaded with the server info handlerz%Error loading service "expression" : zService "expression" loadedz!Error loading service "lizmap" : zService "lizmap" loadedé2   z Error loading filter "lizmap" : zFilter "lizmap" loadedéd   z(Error loading access control "lizmap" : zAccess control "lizmap" loadedé–   z*Error loading filter "get feature info" : z Filter "get feature info" loadedéª   z,Error loading filter "get legend graphic" : z"Filter "get legend graphic" loadedé¯   z'Error loading filter "legend on/off" : zFilter "legend on/off" loadedz/Error loading access control "legend on/off" : z%Access control "legend on/off" loaded)r   r   Zloggerr   Úinfor   Z	plausibleZrequest_stat_eventÚ	ExceptionZlog_exceptionZcriticalÚserviceRegistryr   ZregisterApiÚregisterHandlerr   r   ZregisterServicer   r   ÚregisterFilterr
   ÚregisterAccessControlr	   r   r   r   r   )Úselfr   ÚeZservice_registryZ
lizmap_api© r"   ú6/var/www/lizmap/lizmap/plugins/lizmap_server/plugin.pyÚ__init__   sŒ    û
zLizmapServer.__init__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r$   r"   r"   r"   r#   r      s   r   N)Ú__copyright__Ú__license__Ú	__email__Úqgis.serverr   r   Z lizmap_server.expression_servicer   Zlizmap_server.get_feature_infor   Z lizmap_server.get_legend_graphicr   Z!lizmap_server.legend_onoff_filterr   r   Z"lizmap_server.lizmap_accesscontrolr	   Zlizmap_server.lizmap_filterr
   Zlizmap_server.lizmap_servicer   Zlizmap_server.loggerr   Zlizmap_server.plausibler   Z!lizmap_server.server_info_handlerr   Zlizmap_server.toolsr   r   r   r"   r"   r"   r#   Ú<module>   s   