Mercurial > libervia-pubsub
comparison src/error.py @ 369:dabee42494ac
config file + cleaning:
- SàT Pubsub can now be configured using the same config file as SàT itself (i.e. sat.conf or .sat.conf), in the same locations (/etc, local dir, xdg dir).
Its options must be in the "pubsub" section
- options on command line override config options
- removed tap and http files which are not used anymore
- changed directory structure to put source in src, to be coherent with SàT and Libervia
- changed options name, db* become db_*, secret become xmpp_pwd
- an exception is raised if jid or xmpp_pwd is are not configured
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 02 Mar 2018 12:59:38 +0100 |
parents | sat_pubsub/error.py@618a92080812 |
children | aa3a464df605 |
comparison
equal
deleted
inserted
replaced
368:618a92080812 | 369:dabee42494ac |
---|---|
1 #!/usr/bin/python | |
2 #-*- coding: utf-8 -*- | |
3 | |
4 # Copyright (c) 2012-2018 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 |