summaryrefslogtreecommitdiff
path: root/common/src/leap/soledad/common/__init__.py
blob: 23d28e764deba2e55bfe6a5872e679a601029a8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# -*- coding: utf-8 -*-
# __init__.py
# Copyright (C) 2013 LEAP
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.


"""
Soledad routines common to client and server.
"""


from hashlib import sha256


#
# Global constants
#


SHARED_DB_NAME = 'shared'
SHARED_DB_LOCK_DOC_ID_PREFIX = 'lock-'
USER_DB_PREFIX = 'user-'


#
# Global functions
#

# we want to use leap.common.check.leap_assert in case it is available,
# because it also logs in a way other parts of leap can access log messages.

try:
    from leap.common.check import leap_assert as soledad_assert

except ImportError:

    def soledad_assert(condition, message):
        """
        Asserts the condition and displays the message if that's not
        met.

        @param condition: condition to check
        @type condition: bool
        @param message: message to display if the condition isn't met
        @type message: str
        """
        assert condition, message

try:
    from leap.common.check import leap_assert_type as soledad_assert_type

except ImportError:

    def soledad_assert_type(var, expectedType):
        """
        Helper assert check for a variable's expected type

        @param var: variable to check
        @type var: any
        @param expectedType: type to check agains
        @type expectedType: type
        """
        soledad_assert(isinstance(var, expectedType),
                       "Expected type %r instead of %r" %
                       (expectedType, type(var)))


from ._version import get_versions
__version__ = get_versions()['version']
del get_versions