This file is indexed.

/usr/share/pyshared/weboob/tools/application/formatters/webkit/webkitgtk.py is in python-weboob-core 0.g-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
# -*- coding: utf-8 -*-

# Copyright(C) 2010-2011 Christophe Benz
#
# This file is part of weboob.
#
# weboob is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# weboob is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.


import os

import gtk
import webkit

from weboob.tools.application.javascript import get_javascript
from ..table import HTMLTableFormatter


__all__ = ['WebkitGtkFormatter']


class WebBrowser(gtk.Window):
    def __init__(self):
        gtk.Window.__init__(self)
        self.connect('destroy', gtk.main_quit)
        self.set_default_size(800, 600)
        self.web_view = webkit.WebView()
        sw = gtk.ScrolledWindow()
        sw.add(self.web_view)
        self.add(sw)
        self.show_all()


class WebkitGtkFormatter(HTMLTableFormatter):
    def flush(self):
        table_string = self.get_formatted_table()
        js_filepaths = []
        js_filepaths.append(get_javascript('jquery'))
        js_filepaths.append(get_javascript('tablesorter'))
        scripts = ['<script type="text/javascript" src="%s"></script>' % js_filepath for js_filepath in js_filepaths]
        html_string_params = dict(table=table_string)
        if scripts:
            html_string_params['scripts'] = ''.join(scripts)
        html_string = """
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        %(scripts)s
    </head>
    <body>
        <style type="text/css">
*
{
    font-size: 10pt;
}
        </style>
        <script type="text/javascript">
$(function() {
    var $table = $("table");
    $table
        .prepend(
            $("<thead>")
                .append(
                    $table.find("tr:first")
                )
        )
        .tablesorter();
});
        </script>
        %(table)s
    </body>
</html>
""" % html_string_params
        web_browser = WebBrowser()
        web_browser.web_view.load_html_string(html_string, 'file://%s' % os.path.abspath(os.getcwd()))
        gtk.main()