This file is indexed.

/usr/share/pyshared/kid/compile.py is in python-kid 0.9.6-2.

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

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
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# This module provides the "kidc" command

"""Usage: kidc [OPTIONS] [file...]
Compile kid templates into Python byte-code (.pyc) files.

OPTIONS:

  -f, --force
          Force compilation even if .pyc file already exists.
  -s, --source
          Generate .py source files along with .pyc files.
          This is sometimes useful for debugging.
  -d, --strip-dest-dir <destdir>
          Strips the supplied path from the beginning of source
          filenames stored for error messages in the generated
          .pyc files

The file list may have files and/or directories. If a directory is specified,
all .kid files found in the directory and any sub-directories are compiled.
"""

__revision__ = "$Rev: 492 $"
__date__ = "$Date: 2007-07-06 21:38:45 -0400 (Fri, 06 Jul 2007) $"
__author__ = "Ryan Tomayko (rtomayko@gmail.com)"
__copyright__ = "Copyright 2004-2005, Ryan Tomayko"
__license__ = "MIT <http://www.opensource.org/licenses/mit-license.php>"

import sys
from os.path import isdir
from getopt import getopt, GetoptError as gerror

try:
    from os import EX_OK, EX_DATAERR, EX_USAGE
except ImportError:
    EX_OK, EX_DATAERR, EX_USAGE = 0, 1, 2

import kid.compiler

def main():
    # get options
    try:
        opts, args = getopt(sys.argv[1:],
            'fshd=', ['force', 'source', 'help', 'strip-dest-dir='])
    except gerror, e:
        sys.stderr.write(str(e) + '\n')
        sys.stdout.write(__doc__)
        sys.exit(EX_USAGE)
    force = source = False
    strip_dest_dir = None
    for o, a in opts:
        if o in ('-f', '--force'):
            force = True
        elif o in ('-s', '--source'):
            source = True
        elif o in ('-h', '--help'):
            sys.stdout.write(__doc__)
            sys.exit(EX_OK)
        elif o in ('-d', '--strip-dest-dir'):
            strip_dest_dir = a
    files = args

    if not files:
        sys.stderr.write('kidc: No kid template specified.\n')
        sys.stderr.write("      Try 'kidc --help' for usage information.\n")
        sys.exit(EX_USAGE)

    # a quick function for printing results
    def print_result(res):
        stat, filename = res
        if stat == True:
            msg = 'compile: %s\n' % filename
        elif stat == False:
            msg = 'fresh: %s\n' % filename
        else:
            msg = 'error: %s (%s)\n' % (filename, stat)
        sys.stderr.write(msg)

    # run through files and compile
    err = False
    for f in files:
        if isdir(f):
            for res in kid.compiler.compile_dir(f, force=force,
                    source=source, strip_dest_dir=strip_dest_dir):
                if res[0] not in (True, False):
                    err = True
                print_result(res)
        else:
            try:
                stat = kid.compiler.compile_file(f, force=force,
                    source=source, strip_dest_dir=strip_dest_dir)
            except Exception, e:
                stat, err = e, True
            print_result((stat, f))

    # exit with error status if one compilation failed
    sys.exit(err and EX_DATAERR or EX_OK)

if __name__ == '__main__':
    main()