Mercurial > libervia-pubsub
comparison sat_pubsub/error.py @ 405:c56a728412f1
file organisation + setup refactoring:
- `/src` has been renamed to `/sat_pubsub`, this is the recommended naming convention
- revamped `setup.py` on the basis of SàT's `setup.py`
- added a `VERSION` which is the unique place where version number will now be set
- use same trick as in SàT to specify dev version (`D` at the end)
- use setuptools_scm to retrieve Mercurial hash when in dev version
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 16 Aug 2019 12:00:02 +0200 |
parents | src/error.py@aa3a464df605 |
children | ccb2a22ea0fc |
comparison
equal
deleted
inserted
replaced
404:105a0772eedd | 405:c56a728412f1 |
---|---|
1 #!/usr/bin/python | |
2 #-*- coding: utf-8 -*- | |
3 | |
4 # Copyright (c) 2012-2019 Jérôme Poisson | |
5 # Copyright (c) 2013-2016 Adrien Cossa | |
6 # Copyright (c) 2003-2011 Ralph Meijer | |
7 | |
8 | |
9 # This program is free software: you can redistribute it and/or modify | |
10 # it under the terms of the GNU Affero General Public License as published by | |
11 # the Free Software Foundation, either version 3 of the License, or | |
12 # (at your option) any later version. | |
13 | |
14 # This program is distributed in the hope that it will be useful, | |
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 # GNU Affero General Public License for more details. | |
18 | |
19 # You should have received a copy of the GNU Affero General Public License | |
20 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
21 # -- | |
22 | |
23 # This program is based on Idavoll (http://idavoll.ik.nu/), | |
24 # originaly written by Ralph Meijer (http://ralphm.net/blog/) | |
25 # It is sublicensed under AGPL v3 (or any later version) as allowed by the original | |
26 # license. | |
27 | |
28 # -- | |
29 | |
30 # Here is a copy of the original license: | |
31 | |
32 # Copyright (c) 2003-2011 Ralph Meijer | |
33 | |
34 # Permission is hereby granted, free of charge, to any person obtaining | |
35 # a copy of this software and associated documentation files (the | |
36 # "Software"), to deal in the Software without restriction, including | |
37 # without limitation the rights to use, copy, modify, merge, publish, | |
38 # distribute, sublicense, and/or sell copies of the Software, and to | |
39 # permit persons to whom the Software is furnished to do so, subject to | |
40 # the following conditions: | |
41 | |
42 # The above copyright notice and this permission notice shall be | |
43 # included in all copies or substantial portions of the Software. | |
44 | |
45 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
46 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
47 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
48 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
49 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
50 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
51 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
52 | |
53 | |
54 class Error(Exception): | |
55 msg = '' | |
56 | |
57 def __init__(self, msg=None): | |
58 self.msg = msg or self.msg | |
59 | |
60 | |
61 def __str__(self): | |
62 return self.msg | |
63 | |
64 | |
65 class Deprecated(Exception): | |
66 pass | |
67 | |
68 | |
69 class NodeNotFound(Error): | |
70 pass | |
71 | |
72 | |
73 class NodeExists(Error): | |
74 pass | |
75 | |
76 | |
77 class NotSubscribed(Error): | |
78 """ | |
79 Entity is not subscribed to this node. | |
80 """ | |
81 | |
82 | |
83 class SubscriptionExists(Error): | |
84 """ | |
85 There already exists a subscription to this node. | |
86 """ | |
87 | |
88 | |
89 def NotLeafNodeError(Error): | |
90 """a leaf node is expected but we have a collection""" | |
91 | |
92 | |
93 class Forbidden(Error): | |
94 pass | |
95 | |
96 | |
97 class NotAuthorized(Error): | |
98 pass | |
99 | |
100 | |
101 class NotInRoster(Error): | |
102 pass | |
103 | |
104 | |
105 class ItemNotFound(Error): | |
106 pass | |
107 | |
108 | |
109 class ItemForbidden(Error): | |
110 pass | |
111 | |
112 | |
113 class ItemRequired(Error): | |
114 pass | |
115 | |
116 | |
117 class NoInstantNodes(Error): | |
118 pass | |
119 | |
120 | |
121 class InvalidConfigurationOption(Error): | |
122 msg = 'Invalid configuration option' | |
123 | |
124 | |
125 class InvalidConfigurationValue(Error): | |
126 msg = 'Bad configuration value' | |
127 | |
128 | |
129 class NodeNotPersistent(Error): | |
130 pass | |
131 | |
132 | |
133 class NoRootNode(Error): | |
134 pass | |
135 | |
136 | |
137 class NoCallbacks(Error): | |
138 """ | |
139 There are no callbacks for this node. | |
140 """ | |
141 | |
142 class NoCollections(Error): | |
143 pass | |
144 | |
145 | |
146 class NoPublishing(Error): | |
147 """ | |
148 This node does not support publishing. | |
149 """ | |
150 | |
151 class BadAccessTypeError(Error): | |
152 pass |