This file is indexed.

/usr/share/pyshared/gluon/contrib/minify/minify.py is in python-gluon 1.99.7-1.

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
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
High-level CSS and JS minification class for web2py.
Called by response.include_files()
Created by: Ross Peoples <ross.peoples@gmail.com>
Modified by: Massimo Di Pierro <massimo.dipierro@gmail.com>
"""

import cssmin
import jsmin
import os

def read_binary_file(filename):
    f = open(filename,'rb')
    data = f.read()
    f.close()
    return data

def write_binary_file(filename,data):
    f =open(filename,'wb')
    f.write(data)
    f.close()

def fix_links(css,static_path):    
    return css.replace('../',static_path+'/')

def minify(files, path_info, folder, optimize_css, optimize_js,
           ignore_concat = [],
           ignore_minify = ['/jquery.js', '/anytime.js']):

    """
    Input:
    files: is a list of URLs to JS and CSS files (not repeated)
    path_info: is the URL of a temp static folder
    folder: is the application folder
    optimize_css: is a string of the form 'concat|minify|inline'
    optimize_js: is a string of the form 'concat|minify|inline'
    (minify requires concat, inline requires concat also)

    Returns a new list of:
    - filename (absolute or relative, css or js, actual or temporary) or
    - ('css:inline','...css..')
    - ('js:inline','...js..')    
    """
    optimize_css = optimize_css or ''
    optimize_js = optimize_js or ''
    concat_css = 'concat' in optimize_css
    minify_css = 'minify' in optimize_css
    inline_css = 'inline' in optimize_css
    concat_js = 'concat' in optimize_js
    minify_js = 'minify' in optimize_js
    inline_js = 'inline' in optimize_js
    static_path,temp = path_info.rsplit('/',1)
    new_files = []
    css = []
    js = []
    for k,filename in enumerate(files):
        if not filename.startswith('/') or \
                any(filename.endswith(x) for x in ignore_concat):
            new_files.append(filename)
            continue

        abs_filename = os.path.join(folder,'static',
                                    filename[len(static_path)+1:])        

        if filename.lower().endswith('.css'):
            if concat_css:
                contents = read_binary_file(abs_filename)
                if minify_css:
                    css.append(cssmin.cssmin(contents))
                else:
                    css.append(contents)
            else:
                css.append(filename)
        elif filename.lower().endswith('.js'):
            if concat_js:
                contents = read_binary_file(abs_filename)            
                if minify_js and not filename.endswith('.min.js') and \
                        not any(filename.endswith(x) for x in ignore_minify):
                    js.append(jsmin.jsmin(contents))
                else:
                    js.append(contents)
            else:
                js.append(filename)
    if css and concat_css:
        css = '\n\n'.join(contents for contents in css)
        if inline_css:
            css = ('css:inline',fix_links(css,static_path))
        else:
            temppath = os.path.join(folder,'static',temp)
            if not os.path.exists(temppath): os.mkdir(temppath)
            tempfile = os.path.join(temppath,'compressed.css')
            write_binary_file(tempfile,css)
            css = path_info+'/compressed.css'
        new_files.append(css)
    else:
        new_files += css    
    if js and concat_js:
        js = '\n'.join(contents for contents in js)
        if inline_js:
            js = ('js:inline',js)
        else:
            temppath = os.path.join(folder,'static',temp)
            if not os.path.exists(temppath): os.mkdir(temppath)
            tempfile = os.path.join(folder,'static',temp,'compressed.js')
            write_binary_file(tempfile,js)
            js = path_info+'/compressed.js'
        new_files.append(js)
    else:
        new_files += js
    return new_files