This file is indexed.

/usr/lib/python2.7/dist-packages/sqlkit/widgets/table/tablewidgets.py is in python-sqlkit 0.9.6.1-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
78
79
80
81
82
83
84
85
86
87
88
89
90
from sqlkit.widgets.common import completion 
from sqlkit import _, exc

class CellWidget(object):

    def __init__(self, field):
        self.field = field
        self.master = master = field.master
        self.field_name = field_name = field.field_name
        

        self.add_completion()
        self._dont_change_real_value = False

        self.master.field_widgets[field_name] = self
        
    def set_not_null_style(self):
        # FIXME: should set label in bold italics...
        pass

    def pop_completion(self):
        ## self.emit('changed') is needed as the only way to pop the completion
        ## when you click on the icon to pop the completion you should not invalidate
        ## self.real_value as it's not an editing action
        self._dont_change_real_value = True
        self.entry.emit('changed')
        self._dont_change_real_value = False
        
    def get_entry(self):
        # CellWidget has an editable only if we're editing...
        if self.field_name == self.master.currently_edited_field_name:
            return self.master.cell_entry.entry
        else:
            msg = _("No current obj for field '%s' in %s")
            raise NotImplementedError(msg  % (self.field_name, self.master))
    
    entry = property(get_entry)

    def add_completion(self, editable=False, force=False):
        """completion is set just for fkey and string fields

        :param editable: the editable widget to which completion should be added
        :param force: (boolen) if True a SimpleCompletion is added even if
                      field is not a Varchar. Used to add completion to other fields,
                      possibly in conjunction with enum.
        """

        
        if self.master.relationship_mode == 'm2m' and editable == False:
            Completion = completion.M2mCompletion
            
        elif self.master.is_fkey(self.field_name):
            Completion = completion.FkeyCompletion

        elif self.master.is_enum(self.field_name):
            Completion = completion.EnumCompletion

        elif force or self.master.get_field_type(self.field_name) in (str, unicode):
            Completion = completion.SimpleCompletion
        else:
            self.completion = None
            return
        
        try:
            self.completion = Completion(self.master, self, self.field_name)
            self.master.completions[self.field_name] = self.completion
        except exc.ColumnWithoutTable, e:
            ## function columns do not have .table so that won't complete
            pass
        
    def set_value_cb(self, field, value, shown=False, initial=False):
        self.set_value(value, initial=initial)   

    def set_value(self, value, shown=False, initial=False):
        self.master.set_value(self.field_name, value, shown=shown, initial=initial)

    def get_value(self, shown=False):
        return self.master.get_value(self.field_name)

    def set_max_length(self, length=None):
        if length is None:
            length = self.field.length
            
        try:
            self.entry.set_max_length(length)
        except:
            pass
            
    def __str__(self):
        return "<CellWidget: %s>" % self.field_name