]>
git.ipfire.org Git - pakfire.git/blob - tools/pakfire-multicall.py
7 log
= logging
.getLogger("pakfire")
10 from pakfire
.cli
import *
11 from pakfire
.i18n
import _
13 except ImportError, e
:
14 # Catch ImportError and show a more user-friendly message about what
17 # Try to load at least the i18n support, but when this fails as well we can
18 # go with an English error message.
20 from pakfire
.i18n
import _
24 # XXX Maybe we can make a more beautiful message here?!
25 print _("There has been an error when trying to import one or more of the"
26 " modules, that are required to run Pakfire.")
27 print _("Please check your installation of Pakfire.")
29 print _("The error that lead to this:")
38 "pakfire-builder" : CliBuilder
,
39 "pakfire-client" : CliClient
,
40 "pakfire-daemon" : CliDaemon
,
41 "pakfire-key" : CliKey
,
42 "pakfire-server" : CliServer
,
43 "builder" : CliBuilderIntern
,
46 # Get the basename of the program
47 basename
= os
.path
.basename(sys
.argv
[0])
49 # Check if the program was called with a weird basename.
50 # If so, we exit immediately.
51 if not basename2cls
.has_key(basename
):
54 # Return code for the shell.
58 # Creating command line interface
59 cli
= basename2cls
[basename
]()
63 except KeyboardInterrupt:
64 log
.critical("Recieved keyboard interupt (Ctrl-C). Exiting.")
67 # Catch all errors and show a user-friendly error message.
70 log
.critical(_("An error has occured when running Pakfire."))
73 log
.error(_("Error message:"))
74 log
.error(" %s: %s" % (e
.__class
__.__name
__, e
.message
))
77 # Log the traceback when in debugging mode.
78 log
.debug("", exc_info
=True)
80 log
.error(_("Further description:"))
82 for line
in msg
.splitlines():
83 log
.error(" %s" % line
)