~bhaveekdesai/computer-janitor/bug-726616

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
#!/usr/bin/python
#
# computer-janitor-gtk - clean up a Unix-like operating system (GTK version)
#
# Copyright (C) 2008-2011  Canonical, Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program 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 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/>.

"""Start the gtk computer janitor."""

from __future__ import absolute_import, unicode_literals

__metaclass__ = type
__all__ = [
    ]


import os
import sys
import logging
import argparse
import traceback
import computerjanitor

from computerjanitorapp import __version__, setup_gettext
from computerjanitorapp.gtk.main import main
from dbus.exceptions import DBusException

_ = setup_gettext()


# Parse some simple command line arguments.
parser = argparse.ArgumentParser(
    description=_("""\
    Find and remove cruft from your system.

    Cruft is anything that shouldn't be on your system, but is.
    Stretching the definition, cruft is also things that should be on
    your system but aren't."""))
parser.add_argument(
    '--version', action='version',
    version=_('Computer Janitor {version}').format(
        version=__version__))
parser.parse_args()
# If --version or --help is given, .parse_args() will not return.

try:
    logging.basicConfig()
    log = logging.getLogger('computerjanitor')
    main()
except KeyboardInterrupt:
    pass
except DBusException as error:
    log.exception('Cannot contact Computer Janitor dbus service; try again.')
    sys.exit(1)
except:
    log.exception('computer-janitor-gtk uncaught exception')
    sys.exit(1)