This file is indexed.

/usr/lib/python2.7/dist-packages/trytond/model/fields/sha.py is in tryton-server 3.4.0-3+deb8u3.

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
#This file is part of Tryton.  The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
import hashlib
from sql import Query, Expression

from ... import backend
from .field import SQLType
from .char import Char


class Sha(Char):
    '''
    Define a sha field (``unicode``) of len 40.
    '''
    _type = 'sha'

    def sql_format(self, value):
        if value is not None and not isinstance(value, (Query, Expression)):
            if isinstance(value, unicode):
                value = value.encode('utf-8')
            value = hashlib.sha1(value).hexdigest()
        return super(Sha, self).sql_format(value)

    def sql_type(self):
        db_type = backend.name()
        if db_type == 'mysql':
            return SQLType('CHAR', 'VARCHAR(40)')
        return SQLType('VARCHAR', 'VARCHAR(40)')