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
|
#!/usr/bin/python
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
### BEGIN LICENSE
# Copyright (C) 2010 Артём Попов <artfwo@gmail.com>
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 3, as published
# by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranties of
# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
### END LICENSE
import logging
import optparse
import os
import sys
import gettext
from gettext import gettext as _
gettext.textdomain('indicator-cpufreq')
# Add project root directory (enable symlink, and trunk execution).
PROJECT_ROOT_DIRECTORY = os.path.abspath(
os.path.dirname(os.path.dirname(os.path.realpath(sys.argv[0]))))
python_path = []
if os.path.abspath(__file__).startswith('/opt'):
syspath = sys.path[:] # copy to avoid infinite loop in pending objects
for path in syspath:
opt_path = path.replace('/usr', '/opt/extras.ubuntu.com/indicator_cpufreq')
python_path.insert(0, opt_path)
sys.path.insert(0, opt_path)
python_path = []
if os.path.abspath(__file__).startswith('/opt'):
syspath = sys.path[:] # copy to avoid infinite loop in pending objects
for path in syspath:
opt_path = path.replace('/usr', '/opt/extras.ubuntu.com/indicator_cpufreq')
python_path.insert(0, opt_path)
sys.path.insert(0, opt_path)
if (os.path.exists(os.path.join(PROJECT_ROOT_DIRECTORY, 'indicator_cpufreq'))
and PROJECT_ROOT_DIRECTORY not in sys.path):
python_path.insert(0, PROJECT_ROOT_DIRECTORY)
sys.path.insert(0, PROJECT_ROOT_DIRECTORY)
if python_path:
os.putenv('PYTHONPATH', "%s:%s" % (os.getenv('PYTHONPATH', ''), ':'.join(python_path))) # for subprocesses os.putenv('PYTHONPATH', "%s:%s" % (os.getenv('PYTHONPATH', ''), ':'.join(python_path))) # for subprocesses os.putenv('PYTHONPATH', PROJECT_ROOT_DIRECTORY) # for subprocesses
from indicator_cpufreq import indicator_cpufreqconfig
LEVELS = ( logging.ERROR,
logging.WARNING,
logging.INFO,
logging.DEBUG,
)
if __name__ == "__main__":
version = indicator_cpufreqconfig.__indicator_cpufreq_data_directory__
# Support for command line options.
usage = _("indicator-cpufreq [options]")
parser = optparse.OptionParser(version="indicator-cpufreq %s" % version, usage=usage)
parser.add_option('-d', '--debug', dest='debug_mode', action='store_true',
help=_('Print the maximum debugging info (implies -vv)'))
parser.add_option('-v', '--verbose', dest='logging_level', action='count',
help=_('set error_level output to warning, info, and then debug'))
parser.set_defaults(logging_level=0, foo=None)
(options, args) = parser.parse_args()
# set the verbosity
if options.debug_mode:
options.logging_level = 3
logging.basicConfig(level=LEVELS[options.logging_level], format='%(asctime)s %(levelname)s %(message)s')
# Run your cli application there.
from indicator_cpufreq.indicator import MyIndicator
import gtk
ind = MyIndicator()
gtk.main()
|