annotate sat/core/exceptions.py @ 2716:06160b529da6

core (memory/sqlite): changed history constraint /!\ Database schema change /!\ History was using a unique constraint on `profile_id, timestamp, source, dest, source_res, dest_res`, which can cause trouble because several messages send quickly by the same person can have a common timestamp (specially with delayed messages where precision is second), resulting in message loss. The new constraint use `profile_id, stanza_id, source, dest` where `stanza_id` is XEP-0359 stanza_id, so it's unique by definition, and no message should be lost anymore. Because sqlite doesn't support altering table with a constraint change, we have to create new tables and copy old data to new one, which can be pretty long. Sqlite update mechanism with "specifics" has been fixed when several updates are applied (e.g. moving from v5 to v7) and a specific is in the workflow.
author Goffi <goffi@goffi.org>
date Sun, 09 Dec 2018 14:07:26 +0100
parents e9cd473a2f46
children 181735d1b062
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1934
2daf7b4c6756 use of /usr/bin/env instead of /usr/bin/python in shebang
Goffi <goffi@goffi.org>
parents: 1826
diff changeset
1 #!/usr/bin/env python2
258
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
3
609
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
4 # SàT Exceptions
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
5 # Copyright (C) 2011 Jérôme Poisson (goffi@goffi.org)
258
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
6
609
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
7 # This program is free software: you can redistribute it and/or modify
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
8 # it under the terms of the GNU Affero General Public License as published by
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
9 # the Free Software Foundation, either version 3 of the License, or
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
10 # (at your option) any later version.
258
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
11
609
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
12 # This program is distributed in the hope that it will be useful,
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
15 # GNU Affero General Public License for more details.
258
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
16
609
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
17 # You should have received a copy of the GNU Affero General Public License
84a6e83157c2 fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents: 589
diff changeset
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
258
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
19
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
20
258
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
21 class ProfileUnknownError(Exception):
aac82dee6091 Added a library for custom SàT Exceptions
Goffi <goffi@goffi.org>
parents:
diff changeset
22 pass
486
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
23
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
24
486
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
25 class ProfileNotInCacheError(Exception):
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
26 pass
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
27
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
28
639
99eee75ec1b7 core: better handling of profile_key and don't write the param file anymore
souliane <souliane@mailoo.org>
parents: 631
diff changeset
29 class ProfileNotSetError(Exception):
2495
537a4a8075f8 core (exceptions): added ClientTypeError to deal when a code should not be executed by a client or component profile.
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
30 """This error raises when no profile has been set (value @NONE@ is found, but it should have been replaced)"""
639
99eee75ec1b7 core: better handling of profile_key and don't write the param file anymore
souliane <souliane@mailoo.org>
parents: 631
diff changeset
31
99eee75ec1b7 core: better handling of profile_key and don't write the param file anymore
souliane <souliane@mailoo.org>
parents: 631
diff changeset
32
1624
7e749e8eefd0 core: fixed launchAction:
Goffi <goffi@goffi.org>
parents: 1584
diff changeset
33 class ProfileConnected(Exception):
893
308a96bc7c1b core, frontends: add method asyncDeleteProfile, remove synchronous methods createProfile and deleteProfile
souliane <souliane@mailoo.org>
parents: 853
diff changeset
34 """This error is raised when trying to delete a connected profile."""
308a96bc7c1b core, frontends: add method asyncDeleteProfile, remove synchronous methods createProfile and deleteProfile
souliane <souliane@mailoo.org>
parents: 853
diff changeset
35
308a96bc7c1b core, frontends: add method asyncDeleteProfile, remove synchronous methods createProfile and deleteProfile
souliane <souliane@mailoo.org>
parents: 853
diff changeset
36
1624
7e749e8eefd0 core: fixed launchAction:
Goffi <goffi@goffi.org>
parents: 1584
diff changeset
37 class ProfileNotConnected(Exception):
486
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
38 pass
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
39
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
40
1624
7e749e8eefd0 core: fixed launchAction:
Goffi <goffi@goffi.org>
parents: 1584
diff changeset
41 class ProfileKeyUnknown(Exception):
728
e07afabc4a25 plugin XEP-0050: Ad-Hoc commands first draft (answering part)
Goffi <goffi@goffi.org>
parents: 639
diff changeset
42 pass
e07afabc4a25 plugin XEP-0050: Ad-Hoc commands first draft (answering part)
Goffi <goffi@goffi.org>
parents: 639
diff changeset
43
e07afabc4a25 plugin XEP-0050: Ad-Hoc commands first draft (answering part)
Goffi <goffi@goffi.org>
parents: 639
diff changeset
44
2495
537a4a8075f8 core (exceptions): added ClientTypeError to deal when a code should not be executed by a client or component profile.
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
45 class ClientTypeError(Exception):
537a4a8075f8 core (exceptions): added ClientTypeError to deal when a code should not be executed by a client or component profile.
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
46 """This code is not allowed for this type of client (i.e. component or not)"""
537a4a8075f8 core (exceptions): added ClientTypeError to deal when a code should not be executed by a client or component profile.
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
47
537a4a8075f8 core (exceptions): added ClientTypeError to deal when a code should not be executed by a client or component profile.
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
48
486
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
49 class UnknownEntityError(Exception):
0d9908ac775e core: entity cache misc data management + error moved to core.exceptions in memory
Goffi <goffi@goffi.org>
parents: 480
diff changeset
50 pass
501
e9634d2e7b38 core, quick_frontend, primitivus, wix: Contacts List refactoring phase 1:
Goffi <goffi@goffi.org>
parents: 486
diff changeset
51
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
52
501
e9634d2e7b38 core, quick_frontend, primitivus, wix: Contacts List refactoring phase 1:
Goffi <goffi@goffi.org>
parents: 486
diff changeset
53 class UnknownGroupError(Exception):
e9634d2e7b38 core, quick_frontend, primitivus, wix: Contacts List refactoring phase 1:
Goffi <goffi@goffi.org>
parents: 486
diff changeset
54 pass
538
2c4016921403 core, frontends, bridgen plugins: fixed methods which were unproperly managing multi-profiles
Goffi <goffi@goffi.org>
parents: 501
diff changeset
55
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
56
1535
c9ef16de3f13 core: more robust plugins loading:
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
57 class MissingModule(Exception):
c9ef16de3f13 core: more robust plugins loading:
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
58 # Used to indicate when a plugin dependence is not found
c9ef16de3f13 core: more robust plugins loading:
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
59 # it's nice to indicate when to find the dependence in argument string
c9ef16de3f13 core: more robust plugins loading:
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
60 pass
c9ef16de3f13 core: more robust plugins loading:
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
61
c9ef16de3f13 core: more robust plugins loading:
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
62
538
2c4016921403 core, frontends, bridgen plugins: fixed methods which were unproperly managing multi-profiles
Goffi <goffi@goffi.org>
parents: 501
diff changeset
63 class NotFound(Exception):
2c4016921403 core, frontends, bridgen plugins: fixed methods which were unproperly managing multi-profiles
Goffi <goffi@goffi.org>
parents: 501
diff changeset
64 pass
562
0bb2e0d1c878 core, plugin XEP-0054: avatar upload:
Goffi <goffi@goffi.org>
parents: 559
diff changeset
65
589
d1b4805124a1 Fix pep8 support in src/core.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 562
diff changeset
66
2674
60c9e163f1df core (exceptions): new ConfigError exception
Goffi <goffi@goffi.org>
parents: 2624
diff changeset
67 class ConfigError(Exception):
60c9e163f1df core (exceptions): new ConfigError exception
Goffi <goffi@goffi.org>
parents: 2624
diff changeset
68 pass
60c9e163f1df core (exceptions): new ConfigError exception
Goffi <goffi@goffi.org>
parents: 2624
diff changeset
69
60c9e163f1df core (exceptions): new ConfigError exception
Goffi <goffi@goffi.org>
parents: 2624
diff changeset
70
562
0bb2e0d1c878 core, plugin XEP-0054: avatar upload:
Goffi <goffi@goffi.org>
parents: 559
diff changeset
71 class DataError(Exception):
0bb2e0d1c878 core, plugin XEP-0054: avatar upload:
Goffi <goffi@goffi.org>
parents: 559
diff changeset
72 pass
627
d207c2186519 core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
Goffi <goffi@goffi.org>
parents: 609
diff changeset
73
631
694f118d0cd5 plugin XEP-0055: implementation of Jabber Search
Goffi <goffi@goffi.org>
parents: 627
diff changeset
74
751
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
75 class ConflictError(Exception):
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
76 pass
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
77
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
78
1584
b57b4683dc33 plugin XEP-0065: session cleaning and timeout + log choosed candidate when using SI File Transfer
Goffi <goffi@goffi.org>
parents: 1535
diff changeset
79 class TimeOutError(Exception):
b57b4683dc33 plugin XEP-0065: session cleaning and timeout + log choosed candidate when using SI File Transfer
Goffi <goffi@goffi.org>
parents: 1535
diff changeset
80 pass
b57b4683dc33 plugin XEP-0065: session cleaning and timeout + log choosed candidate when using SI File Transfer
Goffi <goffi@goffi.org>
parents: 1535
diff changeset
81
b57b4683dc33 plugin XEP-0065: session cleaning and timeout + log choosed candidate when using SI File Transfer
Goffi <goffi@goffi.org>
parents: 1535
diff changeset
82
751
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
83 class CancelError(Exception):
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
84 pass
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
85
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
86
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
87 class InternalError(Exception):
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
88 pass
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
89
1def5b7edf9f core, bridge: better GenericException handling
Goffi <goffi@goffi.org>
parents: 728
diff changeset
90
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2562
diff changeset
91 class FeatureNotFound(
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2562
diff changeset
92 Exception
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2562
diff changeset
93 ): # a disco feature/identity which is needed is not present
944
e1842ebcb2f3 core, plugin XEP-0115: discovery refactoring:
Goffi <goffi@goffi.org>
parents: 893
diff changeset
94 pass
e1842ebcb2f3 core, plugin XEP-0115: discovery refactoring:
Goffi <goffi@goffi.org>
parents: 893
diff changeset
95
e1842ebcb2f3 core, plugin XEP-0115: discovery refactoring:
Goffi <goffi@goffi.org>
parents: 893
diff changeset
96
627
d207c2186519 core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
Goffi <goffi@goffi.org>
parents: 609
diff changeset
97 class BridgeInitError(Exception):
d207c2186519 core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
Goffi <goffi@goffi.org>
parents: 609
diff changeset
98 pass
d207c2186519 core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
Goffi <goffi@goffi.org>
parents: 609
diff changeset
99
631
694f118d0cd5 plugin XEP-0055: implementation of Jabber Search
Goffi <goffi@goffi.org>
parents: 627
diff changeset
100
627
d207c2186519 core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
Goffi <goffi@goffi.org>
parents: 609
diff changeset
101 class BridgeExceptionNoService(Exception):
d207c2186519 core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
Goffi <goffi@goffi.org>
parents: 609
diff changeset
102 pass
853
c2f6ada7858f core (sqlite): automatic database update:
Goffi <goffi@goffi.org>
parents: 751
diff changeset
103
1019
6a16ec17a458 better PEP-8 compliance
souliane <souliane@mailoo.org>
parents: 944
diff changeset
104
853
c2f6ada7858f core (sqlite): automatic database update:
Goffi <goffi@goffi.org>
parents: 751
diff changeset
105 class DatabaseError(Exception):
c2f6ada7858f core (sqlite): automatic database update:
Goffi <goffi@goffi.org>
parents: 751
diff changeset
106 pass
1030
15f43b54d697 core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents: 1019
diff changeset
107
15f43b54d697 core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents: 1019
diff changeset
108
15f43b54d697 core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents: 1019
diff changeset
109 class PasswordError(Exception):
15f43b54d697 core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents: 1019
diff changeset
110 pass
1052
e88bff4c8b77 core (XMPP): sendMessage refactoring:
Goffi <goffi@goffi.org>
parents: 1030
diff changeset
111
1262
f8a8434dbac7 core: improved roster management + misc:
Goffi <goffi@goffi.org>
parents: 1052
diff changeset
112
1290
faa1129559b8 core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
Goffi <goffi@goffi.org>
parents: 1262
diff changeset
113 class PermissionError(Exception):
faa1129559b8 core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
Goffi <goffi@goffi.org>
parents: 1262
diff changeset
114 pass
faa1129559b8 core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
Goffi <goffi@goffi.org>
parents: 1262
diff changeset
115
faa1129559b8 core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
Goffi <goffi@goffi.org>
parents: 1262
diff changeset
116
1826
d80ccf4bf201 plugin blog import dotclear: this plugin import Dotclear 2 backups
Goffi <goffi@goffi.org>
parents: 1624
diff changeset
117 class ParsingError(Exception):
d80ccf4bf201 plugin blog import dotclear: this plugin import Dotclear 2 backups
Goffi <goffi@goffi.org>
parents: 1624
diff changeset
118 pass
1970
200cd707a46d plugin XEP-0045, quick_frontend + primitivus (chat): cleaning of XEP-0045 (first pass):
Goffi <goffi@goffi.org>
parents: 1934
diff changeset
119
200cd707a46d plugin XEP-0045, quick_frontend + primitivus (chat): cleaning of XEP-0045 (first pass):
Goffi <goffi@goffi.org>
parents: 1934
diff changeset
120
200cd707a46d plugin XEP-0045, quick_frontend + primitivus (chat): cleaning of XEP-0045 (first pass):
Goffi <goffi@goffi.org>
parents: 1934
diff changeset
121 # Something which need to be done is not available yet
200cd707a46d plugin XEP-0045, quick_frontend + primitivus (chat): cleaning of XEP-0045 (first pass):
Goffi <goffi@goffi.org>
parents: 1934
diff changeset
122 class NotReady(Exception):
200cd707a46d plugin XEP-0045, quick_frontend + primitivus (chat): cleaning of XEP-0045 (first pass):
Goffi <goffi@goffi.org>
parents: 1934
diff changeset
123 pass
2687
e9cd473a2f46 core (xmpp): server certificate validation:
Goffi <goffi@goffi.org>
parents: 2674
diff changeset
124
e9cd473a2f46 core (xmpp): server certificate validation:
Goffi <goffi@goffi.org>
parents: 2674
diff changeset
125
e9cd473a2f46 core (xmpp): server certificate validation:
Goffi <goffi@goffi.org>
parents: 2674
diff changeset
126 class InvalidCertificate(Exception):
e9cd473a2f46 core (xmpp): server certificate validation:
Goffi <goffi@goffi.org>
parents: 2674
diff changeset
127 """A TLS certificate is not valid"""
e9cd473a2f46 core (xmpp): server certificate validation:
Goffi <goffi@goffi.org>
parents: 2674
diff changeset
128 pass