U
    ô‰Vb¾  ã                   @   s¨   d Z dZd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 ejdkr–ddlmZ G dd„ dƒZdS )zCopyright 2022, 3LizzGPL version 3zinfo@3liz.orgé    )ÚQgis)ÚQgsServerInterfaceÚQgsServerOgcApi)ÚExpressionService)ÚGetFeatureInfoFilter)ÚLizmapAccessControlFilter)ÚLizmapFilter)ÚLizmapService)ÚLogger)Úcheck_environment_variableÚversionéy  )ÚServerInfoHandlerc                   @   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   sL  || _ tƒ | _tƒ | _| j d | j¡¡ | ¡ }tjdk rJ| j 	d¡ n<t
| j ddd| jƒ}| |¡ | tƒ ¡ | j d¡ tƒ  z| tƒ ¡ W n6 tk
rÌ } z| j d |¡¡ ‚ W 5 d }~X Y nX | j d	¡ z| t| j ƒ¡ 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
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¡ d S )NzInit server version "{}"r   up   Not possible to register the API needed for Lizmap Web Client â‰¥ 3.5. QGIS Server/Desktop must be 3.10 minimum.z/lizmapÚ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)r   r
   Úloggerr   ÚinfoÚformatÚserviceRegistryr   ÚQGIS_VERSION_INTÚwarningr   ÚregisterApiÚregisterHandlerr   r   ÚregisterServicer   Ú	ExceptionÚcriticalr	   ÚregisterFilterr   ÚregisterAccessControlr   r   )Úselfr   Zservice_registryZ
lizmap_apiÚe© r%   ú7/var/qgis-server/plugins/lizmap/server/lizmap_server.pyÚ__init__   sd    
ÿû
zLizmapServer.__init__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r'   r%   r%   r%   r&   r      s   r   N)Ú__copyright__Ú__license__Ú	__email__Ú	qgis.corer   Úqgis.serverr   r   Z lizmap.server.expression_servicer   Zlizmap.server.get_feature_infor   Z"lizmap.server.lizmap_accesscontrolr   Zlizmap.server.lizmap_filterr   Zlizmap.server.lizmap_servicer	   Zlizmap.server.loggerr
   Zlizmap.server.toolsr   r   r   Z!lizmap.server.server_info_handlerr   r   r%   r%   r%   r&   Ú<module>   s   
