This file is indexed.

/usr/lib/python3/dist-packages/sqlobject/constraints.py is in python3-sqlobject 3.1.0+dfsg-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
"""
Constraints
"""

from sqlobject.compat import PY2

if not PY2:
    # alias for python 3 compatability
    long = int


class BadValue(ValueError):

    def __init__(self, desc, obj, col, value, *args):
        self.desc = desc
        self.col = col

        # I want these objects to be garbage-collectable, so
        # I just keep their repr:
        self.obj = repr(obj)
        self.value = repr(value)
        fullDesc = "%s.%s %s (you gave: %s)" \
                   % (obj, col.name, desc, value)
        ValueError.__init__(self, fullDesc, *args)


def isString(obj, col, value):
    if not isinstance(value, str):
        raise BadValue("only allows strings", obj, col, value)


def notNull(obj, col, value):
    if value is None:
        raise BadValue("is defined NOT NULL", obj, col, value)


def isInt(obj, col, value):
    if not isinstance(value, (int, long)):
        raise BadValue("only allows integers", obj, col, value)


def isFloat(obj, col, value):
    if not isinstance(value, (int, long, float)):
        raise BadValue("only allows floating point numbers", obj, col, value)


def isBool(obj, col, value):
    if not isinstance(value, bool):
        raise BadValue("only allows booleans", obj, col, value)


class InList:

    def __init__(self, l):
        self.list = l

    def __call__(self, obj, col, value):
        if value not in self.list:
            raise BadValue("accepts only values in %s" % repr(self.list),
                           obj, col, value)


class MaxLength:

    def __init__(self, length):
        self.length = length

    def __call__(self, obj, col, value):
        try:
            length = len(value)
        except TypeError:
            raise BadValue("object does not have a length",
                           obj, col, value)
        if length > self.length:
            raise BadValue("must be shorter in length than %s"
                           % self.length,
                           obj, col, value)