B
    ๊น`,  ใ               @   sึ  d Z ddlmZ ddlmZmZmZ ddlm	Z	 G dd dejZ
G dd	 d	e
ZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZG d(d) d)eZG d*d+ d+eZG d,d- d-eZG d.d/ d/eZG d0d1 d1eZG d2d3 d3eZ G d4d5 d5e Z!G d6d7 d7e Z"G d8d9 d9e Z#d:S );z<Exceptions for PGWUI_Common, shared by all PGWUI components
้    )ฺ
exceptions)ฺ
PGWUIErrorฺUploadErrorฺ
SetupError้   )ฺ	constantsc               @   s   e Zd ZdZdS )ฺInfozInformational exceptions
    N)ฺ__name__ฺ
__module__ฺ__qualname__ฺ__doc__ฉ r   r   ๚_/home/kop/projects/devel/pgwui/test_venv/lib/python3.7/site-packages/pgwui_common/exceptions.pyr   #   s   r   c                   s   e Zd Z fddZ  ZS )ฺMenuPageInRoutesc                s   t   dก d S )NzbThe pgwui_menu in the pgwui.routes setting is ignored and the pgwui.menu_page setting used instead)ฺsuperฺ__init__)ฺself)ฺ	__class__r   r   r   *   s    zMenuPageInRoutes.__init__)r	   r
   r   r   ฺ__classcell__r   r   )r   r   r   )   s   r   c               @   s   e Zd ZdS )ฺBadHMACErrorN)r	   r
   r   r   r   r   r   r   0   s   r   c                   s   e Zd Z fddZ  ZS )ฺNoHMACErrorc                s   t   dก d S )Nz$Missing session.secret configuration)r   r   )r   )r   r   r   r   5   s    zNoHMACError.__init__)r	   r
   r   r   r   r   r   )r   r   r   4   s   r   c                   s   e Zd Z fddZ  ZS )ฺHMACLengthErrorc                s   t   d tjกก d S )Nz7The session.secret value is not {} characters in length)r   r   ฺformatr   ZHMAC_LEN)r   )r   r   r   r   :   s    zHMACLengthError.__init__)r	   r
   r   r   r   r   r   )r   r   r   9   s   r   c                   s   e Zd Z fddZ  ZS )ฺUnknownSettingKeyErrorc                s   t   d |กก d S )NzUnknown PGWUI setting: {})r   r   r   )r   ฺkey)r   r   r   r   A   s    zUnknownSettingKeyError.__init__)r	   r
   r   r   r   r   r   )r   r   r   @   s   r   c                   s   e Zd Z fddZ  ZS )ฺMissingSettingErrorc                s   t   d |กก d S )NzMissing PGWUI setting: {})r   r   r   )r   r   )r   r   r   r   F   s    zMissingSettingError.__init__)r	   r
   r   r   r   r   r   )r   r   r   E   s   r   c                   s   e Zd Z fddZ  ZS )ฺBadPageTypeErrorc                s   t   d| d| dก d S )NzBad z
 setting (๚))r   r   )r   r   ฺval)r   r   r   r   K   s    zBadPageTypeError.__init__)r	   r
   r   r   r   r   r   )r   r   r   J   s   r   c                   s   e Zd Z fddZ  ZS )ฺBadPageSourceErrorc                s   t   |ก d S )N)r   r   )r   ฺmsg)r   r   r   r   P   s    zBadPageSourceError.__init__)r	   r
   r   r   r   r   r   )r   r   r   O   s   r   c                   s   e Zd Z fddZ  ZS )ฺBadURLSourceErrorc                s   t   d| d| dก d S )NzBad z setting for the "URL" type, (z) does not look like an URL)r   r   )r   r   r   )r   r   r   r   U   s    zBadURLSourceError.__init__)r	   r
   r   r   r   r   r   )r   r   r!   T   s   r!   c                   s   e Zd Z fddZ  ZS )ฺBadFileSourceErrorc                s   t   d| d| dก d S )NzBad z setting for a "file" type, (z:) does not look like a file system path beginning with "/")r   r   )r   r   r   )r   r   r   r   \   s    zBadFileSourceError.__init__)r	   r
   r   r   r   r   r   )r   r   r"   [   s   r"   c                   s   e Zd Z fddZ  ZS )ฺBadFileURLPathErrorc                s   t   d| d| dก d S )NzBad z setting for a "file" type, (zF) does not look like a "path" component of an URL that begins with "/")r   r   )r   r   r   )r   r   r   r   c   s    zBadFileURLPathError.__init__)r	   r
   r   r   r   r   r   )r   r   r#   b   s   r#   c                   s   e Zd Z fddZ  ZS )ฺBadRouteSourceErrorc                s   t   d| d| dก d S )NzBad z setting for a "route" type, (z)) does not look like a Pyramid route name)r   r   )r   r   r   )r   r   r   r   k   s    zBadRouteSourceError.__init__)r	   r
   r   r   r   r   r   )r   r   r$   j   s   r$   c                   s   e Zd Z fddZ  ZS )ฺBadAssetSourceErrorc                s   t   d| d| dก d S )NzBad z setting for an "asset" type, (z2) does not look like a Pyramid asset specification)r   r   )r   r   r   )r   r   r   r   r   s    zBadAssetSourceError.__init__)r	   r
   r   r   r   r   r   )r   r   r%   q   s   r%   c                   s   e Zd Z fddZ  ZS )ฺNotBooleanSettingErrorc                s&   t   d| d| dd |กก d S )NzBad value (z
) for the z settingz0The "{}" PGWUI setting must be "True" or "False")r   r   r   )r   r   ฺvalue)r   r   r   r   y   s    zNotBooleanSettingError.__init__)r	   r
   r   r   r   r   r   )r   r   r&   x   s   r&   c                   s   e Zd Z fddZ  ZS )ฺNotBooleanChoiceSettingErrorc                s(   t   d| d| dd| dก d S )NzBad value (z
) for the z settingzThe "zS" PGWUI setting must be one of: "yes-always", "choice-yes", "choice-no", "no-never")r   r   )r   r   r'   )r   r   r   r      s    z%NotBooleanChoiceSettingError.__init__)r	   r
   r   r   r   r   r   )r   r   r(      s   r(   c                   s   e Zd Z fddZ  ZS )ฺBadAssetOverrideErrorc                s"   t   d| d| d| ก d S )NzThe asset (z) cannot be overridden with (z): )r   r   )r   ZassetZ	new_assetฺexp)r   r   r   r      s    zBadAssetOverrideError.__init__)r	   r
   r   r   r   r   r   )r   r   r)      s   r)   c                   s   e Zd Z fddZ  ZS )ฺBadSettingErrorc                s   t   d| dก d S )NzBad settings caused an error: z<
Hint: Overriding non-existant assets can cause this problem)r   r   )r   r*   )r   r   r   r      s    zBadSettingError.__init__)r	   r
   r   r   r   r   r   )r   r   r+      s   r+   c               @   s   e Zd ZdS )ฺBadPathErrorN)r	   r
   r   r   r   r   r   r,      s   r,   c                   s   e Zd Z fddZ  ZS )ฺBadRouteErrorc                s   t   ||d| dก d S )NzThe "pgwui:zD:source" configuration setting refers to a route that does not exist)r   r   )r   ฺpageฺex)r   r   r   r      s    zBadRouteError.__init__)r	   r
   r   r   r   r   r   )r   r   r-      s   r-   c                   s   e Zd Z fddZ  ZS )ฺBadAssetErrorc                s   t   ||d| dก d S )NzThe "pgwui:zE:source" configuration setting refers to an asset that does not exist)r   r   )r   r.   r/   )r   r   r   r   ฃ   s    zBadAssetError.__init__)r	   r
   r   r   r   r   r   )r   r   r0   ข   s   r0   c               @   s   e Zd ZdS )ฺ	ViewErrorN)r	   r
   r   r   r   r   r   r1   ช   s   r1   c                   s   e Zd Z fddZ  ZS )ฺBadPageErrorc                s   || _ || _t  |ก d S )N)r.   r/   r   r   )r   r.   r/   r    )r   r   r   r   ฏ   s    zBadPageError.__init__)r	   r
   r   r   r   r   r   )r   r   r2   ฎ   s   r2   c                   s   e Zd Z fddZ  ZS )ฺBadPageFileNotFoundErrorc          	      s$   t   ||d| d|j dก d S )NzThe "pgwui:z1:source" configuration setting refers to a file (z) that does not exist)r   r   ฺfilename)r   r.   r/   )r   r   r   r   ถ   s    z!BadPageFileNotFoundError.__init__)r	   r
   r   r   r   r   r   )r   r   r3   ต   s   r3   c                   s   e Zd Z fddZ  ZS )ฺBadPageFilePermissionErrorc          	      s$   t   ||d| d|j dก d S )NzThe "pgwui:z1:source" configuration setting refers to a file (z5) which cannot be read due to file system permissions)r   r   r4   )r   r.   r/   )r   r   r   r   พ   s    z#BadPageFilePermissionError.__init__)r	   r
   r   r   r   r   r   )r   r   r5   ฝ   s   r5   c                   s   e Zd Z fddZ  ZS )ฺBadPageIsADirectoryErrorc          	      s$   t   ||d| d|j dก d S )NzThe "pgwui:z6:source" configuration setting refers to a directory (z), not a file)r   r   r4   )r   r.   r/   )r   r   r   r   ว   s    z!BadPageIsADirectoryError.__init__)r	   r
   r   r   r   r   r   )r   r   r6   ฦ   s   r6   N)$r   Z
pgwui_corer   Zcore_exZpgwui_core.exceptionsr   r   r   ฺ r   r   r   r   r   r   r   r   r   r   r!   r"   r#   r$   r%   r&   r(   r)   r+   r,   r-   r0   r1   r2   r3   r5   r6   r   r   r   r   ฺ<module>   s:   	