summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/etc_proposals.py42
-rw-r--r--plugins/exception.py2
-rw-r--r--plugins/gpytage.py14
-rw-r--r--plugins/new_version.py94
-rw-r--r--plugins/notify.py48
-rw-r--r--plugins/reload_portage.py18
-rwxr-xr-xportato.py118
-rw-r--r--portato/TEST_helper.py36
-rw-r--r--portato/__init__.py62
-rw-r--r--portato/backend/__init__.py64
-rw-r--r--portato/backend/exceptions.py16
-rw-r--r--portato/backend/flags.py1308
-rw-r--r--portato/backend/package.py786
-rw-r--r--portato/backend/portage/__init__.py8
-rw-r--r--portato/backend/portage/package.py572
-rw-r--r--portato/backend/portage/package_22.py10
-rw-r--r--portato/backend/portage/sets.py168
-rw-r--r--portato/backend/portage/settings.py78
-rw-r--r--portato/backend/portage/settings_22.py12
-rw-r--r--portato/backend/portage/system.py768
-rw-r--r--portato/backend/portage/system_22.py60
-rw-r--r--portato/backend/system_interface.py492
-rw-r--r--portato/config_parser.py958
-rw-r--r--portato/dependency.py260
-rw-r--r--portato/gui/__init__.py18
-rw-r--r--portato/gui/dialogs.py134
-rw-r--r--portato/gui/exception_handling.py196
-rw-r--r--portato/gui/queue.py1234
-rw-r--r--portato/gui/session.py16
-rw-r--r--portato/gui/updater.py200
-rw-r--r--portato/gui/utils.py530
-rw-r--r--portato/gui/views.py214
-rw-r--r--portato/gui/windows/about.py16
-rw-r--r--portato/gui/windows/basic.py180
-rw-r--r--portato/gui/windows/mailinfo.py106
-rw-r--r--portato/gui/windows/main.py3482
-rw-r--r--portato/gui/windows/plugin.py316
-rw-r--r--portato/gui/windows/preference.py384
-rw-r--r--portato/gui/windows/search.py98
-rw-r--r--portato/gui/windows/splash.py60
-rw-r--r--portato/gui/windows/update.py188
-rw-r--r--portato/gui/wrapper.py622
-rw-r--r--portato/helper.py214
-rw-r--r--portato/plistener.py222
-rw-r--r--portato/plugin.py966
-rw-r--r--portato/session.py202
-rw-r--r--portato/waiting_queue.py88
-rw-r--r--setup.py28
48 files changed, 7854 insertions, 7854 deletions
diff --git a/plugins/etc_proposals.py b/plugins/etc_proposals.py
index c32c8f3..5b4f67a 100644
--- a/plugins/etc_proposals.py
+++ b/plugins/etc_proposals.py
@@ -16,26 +16,26 @@ import os
from subprocess import Popen
class EtcProposals (Plugin):
- __author__ = "René 'Necoro' Neumann"
- __description__ = "Adds support for <b>etc-proposals</b>, a graphical etc-update replacement."
- __dependency__ = ["app-portage/etc-proposals"]
-
- def init (self):
- self.prog = ["/usr/sbin/etc-proposals"]
- self.add_call("after_emerge", self.hook, type = "after")
- self.add_menu("Et_c-Proposals", self.menu)
-
- def launch (self, options = []):
- if os.getuid() == 0:
- Popen(self.prog+options)
- else:
- error("ETC_PROPOSALS :: %s",_("Cannot start etc-proposals. Not root!"))
-
- def hook (self, *args, **kwargs):
- """Entry point for this plugin."""
- self.launch(["--fastexit"])
-
- def menu (self, *args):
- self.launch()
+ __author__ = "René 'Necoro' Neumann"
+ __description__ = "Adds support for <b>etc-proposals</b>, a graphical etc-update replacement."
+ __dependency__ = ["app-portage/etc-proposals"]
+
+ def init (self):
+ self.prog = ["/usr/sbin/etc-proposals"]
+ self.add_call("after_emerge", self.hook, type = "after")
+ self.add_menu("Et_c-Proposals", self.menu)
+
+ def launch (self, options = []):
+ if os.getuid() == 0:
+ Popen(self.prog+options)
+ else:
+ error("ETC_PROPOSALS :: %s",_("Cannot start etc-proposals. Not root!"))
+
+ def hook (self, *args, **kwargs):
+ """Entry point for this plugin."""
+ self.launch(["--fastexit"])
+
+ def menu (self, *args):
+ self.launch()
register(EtcProposals)
diff --git a/plugins/exception.py b/plugins/exception.py
index e653853..ff5a8e9 100644
--- a/plugins/exception.py
+++ b/plugins/exception.py
@@ -11,7 +11,7 @@
# Written by René 'Necoro' Neumann <necoro@necoro.net>
def throw (*args, **kwargs):
- raise Exception, "As requested, Sir!"
+ raise Exception, "As requested, Sir!"
p = Plugin()
p.__name__ = "ExceptionThrower"
diff --git a/plugins/gpytage.py b/plugins/gpytage.py
index d8c2831..5ebd6b4 100644
--- a/plugins/gpytage.py
+++ b/plugins/gpytage.py
@@ -13,14 +13,14 @@
from subprocess import Popen
class GPytage (Plugin):
- __author__ = "René 'Necoro' Neumann"
- __description__ = "Adds a menu entry to directly start <b>gpytage</b>, a config editor."
- __dependency__ = ["app-portage/gpytage"]
+ __author__ = "René 'Necoro' Neumann"
+ __description__ = "Adds a menu entry to directly start <b>gpytage</b>, a config editor."
+ __dependency__ = ["app-portage/gpytage"]
- def init (self):
- self.add_menu("Config _Editor", self.menu)
+ def init (self):
+ self.add_menu("Config _Editor", self.menu)
- def menu (self, *args):
- Popen(["/usr/bin/gpytage"])
+ def menu (self, *args):
+ Popen(["/usr/bin/gpytage"])
register(GPytage)
diff --git a/plugins/new_version.py b/plugins/new_version.py
index f3479b4..5391507 100644
--- a/plugins/new_version.py
+++ b/plugins/new_version.py
@@ -11,9 +11,9 @@
# Written by René 'Necoro' Neumann <necoro@necoro.net>
try:
- from bzrlib import plugin, branch
+ from bzrlib import plugin, branch
except ImportError:
- plugin = branch = None
+ plugin = branch = None
import gobject
from portato.helper import debug, warning
@@ -22,59 +22,59 @@ from portato.constants import VERSION, APP_ICON, APP
from portato.gui.utils import GtkThread
class NewVersionFinder(Plugin):
- """
- Checks for a new version of portato every 30 minutes and on startup.
- """
- __author__ = "René 'Necoro' Neumann"
- __dependency__ = ["dev-util/bzr"]
+ """
+ Checks for a new version of portato every 30 minutes and on startup.
+ """
+ __author__ = "René 'Necoro' Neumann"
+ __dependency__ = ["dev-util/bzr"]
- def init (self):
- self.add_call("main", self.run)
- self.add_menu("Check for new _versions", self.menu)
+ def init (self):
+ self.add_call("main", self.run)
+ self.add_menu("Check for new _versions", self.menu)
- def find_version (self, rev):
- try:
- b = branch.Branch.open("lp:portato")
- except Exception, e:
- warning("NEW_VERSION :: Exception occured while accessing the remote branch: %s", str(e))
- return
+ def find_version (self, rev):
+ try:
+ b = branch.Branch.open("lp:portato")
+ except Exception, e:
+ warning("NEW_VERSION :: Exception occured while accessing the remote branch: %s", str(e))
+ return
- debug("NEW_VERSION :: Installed rev: %s - Current rev: %s", rev, b.revno())
- if int(rev) < int(b.revno()):
- def callback():
- get_listener().send_notify(base = "New Portato Live Version Found", descr = "You have rev. %s, but the most recent revision is %s." % (rev, b.revno()), icon = APP_ICON)
- return False
-
- gobject.idle_add(callback)
+ debug("NEW_VERSION :: Installed rev: %s - Current rev: %s", rev, b.revno())
+ if int(rev) < int(b.revno()):
+ def callback():
+ get_listener().send_notify(base = "New Portato Live Version Found", descr = "You have rev. %s, but the most recent revision is %s." % (rev, b.revno()), icon = APP_ICON)
+ return False
+
+ gobject.idle_add(callback)
- def start_thread(self, rev):
- t = GtkThread(target = self.find_version, name = "Version Updater Thread", args = (rev,))
- t.setDaemon(True)
- t.start()
- return True
+ def start_thread(self, rev):
+ t = GtkThread(target = self.find_version, name = "Version Updater Thread", args = (rev,))
+ t.setDaemon(True)
+ t.start()
+ return True
- def menu (self, *args, **kwargs):
- """
- Run the thread once.
- """
- v = VERSION.split()
- if len(v) != 3 or v[0] != "9999":
- return None
+ def menu (self, *args, **kwargs):
+ """
+ Run the thread once.
+ """
+ v = VERSION.split()
+ if len(v) != 3 or v[0] != "9999":
+ return None
- rev = v[-1]
+ rev = v[-1]
- plugin.load_plugins() # to have lp: addresses parsed
-
- self.start_thread(rev)
- return rev
+ plugin.load_plugins() # to have lp: addresses parsed
+
+ self.start_thread(rev)
+ return rev
- def run (self, *args, **kwargs):
- """
- Run the thread once and add a 30 minutes timer.
- """
- rev = self.menu()
+ def run (self, *args, **kwargs):
+ """
+ Run the thread once and add a 30 minutes timer.
+ """
+ rev = self.menu()
- if rev is not None:
- gobject.timeout_add(30*60*1000, self.start_thread, rev) # call it every 30 minutes
+ if rev is not None:
+ gobject.timeout_add(30*60*1000, self.start_thread, rev) # call it every 30 minutes
register(NewVersionFinder, (branch is None))
diff --git a/plugins/notify.py b/plugins/notify.py
index 6446812..7a3776a 100644
--- a/plugins/notify.py
+++ b/plugins/notify.py
@@ -13,9 +13,9 @@
disable = False
try:
- import pynotify
+ import pynotify
except ImportError:
- disable = True
+ disable = True
from portato import get_listener
@@ -23,27 +23,27 @@ from portato.helper import warning, error, debug
from portato.constants import APP_ICON, APP
class Notify (Plugin):
- __author__ = "René 'Necoro' Neumann"
- __description__ = "Show notifications when an emerge process finishes."
- __dependency__ = ["dev-python/notify-python"]
-
- def init (self):
- self.add_call("after_emerge", self.notify)
-
- def notify (self, retcode, **kwargs):
- if retcode is None:
- warning("NOTIFY :: %s", _("Notify called while process is still running!"))
- else:
- icon = APP_ICON
- if retcode == 0:
- text = _("Emerge finished!")
- descr = ""
- urgency = pynotify.URGENCY_NORMAL
- else:
- text = _("Emerge failed!")
- descr = _("Error Code: %d") % retcode
- urgency = pynotify.URGENCY_CRITICAL
-
- get_listener().send_notify(base = text, descr = descr, icon = icon, urgency = urgency)
+ __author__ = "René 'Necoro' Neumann"
+ __description__ = "Show notifications when an emerge process finishes."
+ __dependency__ = ["dev-python/notify-python"]
+
+ def init (self):
+ self.add_call("after_emerge", self.notify)
+
+ def notify (self, retcode, **kwargs):
+ if retcode is None:
+ warning("NOTIFY :: %s", _("Notify called while process is still running!"))
+ else:
+ icon = APP_ICON
+ if retcode == 0:
+ text = _("Emerge finished!")
+ descr = ""
+ urgency = pynotify.URGENCY_NORMAL
+ else:
+ text = _("Emerge failed!")
+ descr = _("Error Code: %d") % retcode
+ urgency = pynotify.URGENCY_CRITICAL
+
+ get_listener().send_notify(base = text, descr = descr, icon = icon, urgency = urgency)
register(Notify, disable)
diff --git a/plugins/reload_portage.py b/plugins/reload_portage.py
index 280bd92..1aea01f 100644
--- a/plugins/reload_portage.py
+++ b/plugins/reload_portage.py
@@ -13,15 +13,15 @@
from portato.backend import system
class ReloadPortage (Plugin):
- __author__ = "René 'Necoro' Neumann"
- __description__ = """Reloads portage when an emerge process has finished.
+ __author__ = "René 'Necoro' Neumann"
+ __description__ = """Reloads portage when an emerge process has finished.
This can take some time, but sometimes it is necessairy."""
-
- def init(self):
- self.add_call("after_emerge", self.hook, type = "after", dep = "EtcProposals")
- self.status = self.STAT_DISABLED # disable by default
-
- def hook (self, *args, **kwargs):
- system.reload_settings()
+
+ def init(self):
+ self.add_call("after_emerge", self.hook, type = "after", dep = "EtcProposals")
+ self.status = self.STAT_DISABLED # disable by default
+
+ def hook (self, *args, **kwargs):
+ system.reload_settings()
register(ReloadPortage)
diff --git a/portato.py b/portato.py
index cc973be..c2b861e 100755
--- a/portato.py
+++ b/portato.py
@@ -25,73 +25,73 @@ from portato.helper import debug, info
from portato.constants import VERSION, LOCALE_DIR, APP, SU_COMMAND
def main ():
- # set gettext stuff
- locale.setlocale(locale.LC_ALL, '')
- gettext.install(APP, LOCALE_DIR, unicode = True)
+ # set gettext stuff
+ locale.setlocale(locale.LC_ALL, '')
+ gettext.install(APP, LOCALE_DIR, unicode = True)
- # build the parser
- desc = "Portato - A Portage GUI."
- usage = "%prog [options] [frontend]"
- vers = "%%prog v. %s" % VERSION
+ # build the parser
+ desc = "Portato - A Portage GUI."
+ usage = "%prog [options] [frontend]"
+ vers = "%%prog v. %s" % VERSION
- parser = OptionParser(version = vers, prog = "Portato", description = desc, usage = usage)
-
- parser.add_option("--shm", action = "store", nargs = 3, type="long", dest = "shm",
- help = SUPPRESS_HELP)
+ parser = OptionParser(version = vers, prog = "Portato", description = desc, usage = usage)
+
+ parser.add_option("--shm", action = "store", nargs = 3, type="long", dest = "shm",
+ help = SUPPRESS_HELP)
- parser.add_option("-F", "--no-fork", "-L", action = "store_true", dest = "nofork", default = False,
- help = _("do not fork off as root") + (" (%s)" % _("-L is deprecated")))
+ parser.add_option("-F", "--no-fork", "-L", action = "store_true", dest = "nofork", default = False,
+ help = _("do not fork off as root") + (" (%s)" % _("-L is deprecated")))
- # run parser
- (options, args) = parser.parse_args()
+ # run parser
+ (options, args) = parser.parse_args()
- # close listener at exit
- atexit.register(get_listener().close)
+ # close listener at exit
+ atexit.register(get_listener().close)
- if options.nofork or os.getuid() == 0: # start GUI
- from portato.gui import run
- info("%s v. %s", _("Starting Portato"), VERSION)
-
- if options.shm:
- get_listener().set_send(*options.shm)
- else:
- get_listener().set_send()
-
- try:
- run()
- except KeyboardInterrupt:
- debug("Got KeyboardInterrupt.")
-
- else: # start us again in root modus and launch listener
-
- import shm_wrapper as shm
+ if options.nofork or os.getuid() == 0: # start GUI
+ from portato.gui import run
+ info("%s v. %s", _("Starting Portato"), VERSION)
+
+ if options.shm:
+ get_listener().set_send(*options.shm)
+ else:
+ get_listener().set_send()
+
+ try:
+ run()
+ except KeyboardInterrupt:
+ debug("Got KeyboardInterrupt.")
+
+ else: # start us again in root modus and launch listener
+
+ import shm_wrapper as shm
- mem = shm.create_memory(1024, permissions=0600)
- sig = shm.create_semaphore(InitialValue = 0, permissions = 0600)
- rw = shm.create_semaphore(InitialValue = 1, permissions = 0600)
-
- # start listener
- lt = threading.Thread(target=get_listener().set_recv, args = (mem, sig, rw))
- lt.setDaemon(False)
- lt.start()
-
- # set DBUS_SESSION_BUS_ADDRESS to "" to make dbus work as root ;)
- env = os.environ.copy()
- env.update(DBUS_SESSION_BUS_ADDRESS="")
- cmd = SU_COMMAND.split()
-
- sp = subprocess.Popen(cmd+["%s --no-fork --shm %ld %ld %ld" % (sys.argv[0], mem.key, sig.key, rw.key)], env = env)
+ mem = shm.create_memory(1024, permissions=0600)
+ sig = shm.create_semaphore(InitialValue = 0, permissions = 0600)
+ rw = shm.create_semaphore(InitialValue = 1, permissions = 0600)
+
+ # start listener
+ lt = threading.Thread(target=get_listener().set_recv, args = (mem, sig, rw))
+ lt.setDaemon(False)
+ lt.start()
+
+ # set DBUS_SESSION_BUS_ADDRESS to "" to make dbus work as root ;)
+ env = os.environ.copy()
+ env.update(DBUS_SESSION_BUS_ADDRESS="")
+ cmd = SU_COMMAND.split()
+
+ sp = subprocess.Popen(cmd+["%s --no-fork --shm %ld %ld %ld" % (sys.argv[0], mem.key, sig.key, rw.key)], env = env)
- # wait for process to finish
- try:
- sp.wait()
- debug("Subprocess finished")
- except KeyboardInterrupt:
- debug("Got KeyboardInterrupt.")
+ # wait for process to finish
+ try:
+ sp.wait()
+ debug("Subprocess finished")
+ except KeyboardInterrupt:
+ debug("Got KeyboardInterrupt.")
- if lt.isAlive():
- debug("Listener is still running. Close it.")
- get_listener().close()
+ if lt.isAlive():
+ debug("Listener is still running. Close it.")
+ get_listener().close()
if __name__ == "__main__":
- main()
+ main()
diff --git a/portato/TEST_helper.py b/portato/TEST_helper.py
index cce0b61..f0b069b 100644
--- a/portato/TEST_helper.py
+++ b/portato/TEST_helper.py
@@ -5,28 +5,28 @@ import helper
class HelperTest (unittest.TestCase):
- def testFlatten(self):
- list = [[1,2],[3,4],[[5],[6,7,8], 9]]
- flist = helper.flatten(list)
- self.assertEqual(flist, [1,2,3,4,5,6,7,8,9], "List not flattend correctly.")
+ def testFlatten(self):
+ list = [[1,2],[3,4],[[5],[6,7,8], 9]]
+ flist = helper.flatten(list)
+ self.assertEqual(flist, [1,2,3,4,5,6,7,8,9], "List not flattend correctly.")
- def testUniqueArray(self):
+ def testUniqueArray(self):
- def equal (l1, l2):
- for i in l1:
- if i not in l2:
- return False
- l2.remove(i)
- return True
+ def equal (l1, l2):
+ for i in l1:
+ if i not in l2:
+ return False
+ l2.remove(i)
+ return True
- list1 = [1,4,5,2,1,7,9,11,2,4,7,12]
- result1 = [1,4,5,2,7,9,11,12]
+ list1 = [1,4,5,2,1,7,9,11,2,4,7,12]
+ result1 = [1,4,5,2,7,9,11,12]
- list2 = [[x] for x in list1]
- result2 = [[x] for x in result1]
+ list2 = [[x] for x in list1]
+ result2 = [[x] for x in result1]
- self.assert_(equal(helper.unique_array(list1), result1), "Make hashable list unique does not work.")
- self.assert_(equal(helper.unique_array(list2), result2), "Make unhashable list unique does not work.")
+ self.assert_(equal(helper.unique_array(list1), result1), "Make hashable list unique does not work.")
+ self.assert_(equal(helper.unique_array(list2), result2), "Make unhashable list unique does not work.")
if __name__ == "__main__":
- unittest.main()
+ unittest.main()
diff --git a/portato/__init__.py b/portato/__init__.py
index 4b6a808..b5a9859 100644
--- a/portato/__init__.py
+++ b/portato/__init__.py
@@ -18,36 +18,36 @@ import os
class OutputFormatter (logging.Formatter):
- colors = {
- "blue" : 34,
- "green" : 32,
- "red" : 31,
- "yellow": 33
- }
+ colors = {
+ "blue" : 34,
+ "green" : 32,
+ "red" : 31,
+ "yellow": 33
+ }
- def __init__(self, *args, **kwargs):
- logging.Formatter.__init__(self, *args, **kwargs)
+ def __init__(self, *args, **kwargs):
+ logging.Formatter.__init__(self, *args, **kwargs)
- for key, value in self.colors.iteritems():
- self.colors[key] = "\x1b[01;%02dm*\x1b[39;49;00m" % value
+ for key, value in self.colors.iteritems():
+ self.colors[key] = "\x1b[01;%02dm*\x1b[39;49;00m" % value
- def format (self, record):
- string = logging.Formatter.format(self, record)
- color = None
+ def format (self, record):
+ string = logging.Formatter.format(self, record)
+ color = None
- if os.isatty(sys.stderr.fileno()):
- if record.levelno <= logging.DEBUG:
- color = self.colors["blue"]
- elif record.levelno <= logging.INFO:
- color = self.colors["green"]
- elif record.levelno <= logging.WARNING:
- color = self.colors["yellow"]
- else:
- color = self.colors["red"]
- else:
- color = "%s:" % record.levelname
+ if os.isatty(sys.stderr.fileno()):
+ if record.levelno <= logging.DEBUG:
+ color = self.colors["blue"]
+ elif record.levelno <= logging.INFO:
+ color = self.colors["green"]
+ elif record.levelno <= logging.WARNING:
+ color = self.colors["yellow"]
+ else:
+ color = self.colors["red"]
+ else:
+ color = "%s:" % record.levelname
- return "%s %s" % (color, string)
+ return "%s %s" % (color, string)
# set the whole logging stuff
formatter = OutputFormatter("%(message)s (%(filename)s:%(lineno)s)")
@@ -61,9 +61,9 @@ logging.getLogger("portatoLogger").propagate = False
__listener = None
def get_listener():
- global __listener
- if __listener is None:
- from .plistener import PListener
- __listener = PListener()
-
- return __listener
+ global __listener
+ if __listener is None:
+ from .plistener import PListener
+ __listener = PListener()
+
+ return __listener
diff --git a/portato/backend/__init__.py b/portato/backend/__init__.py
index b2a5a43..1f62d6b 100644
--- a/portato/backend/__init__.py
+++ b/portato/backend/__init__.py
@@ -20,52 +20,52 @@ SYSTEM = "portage" # the name of the current system
_sys = None # the SystemInterface-instance
class _Package (object):
- """Wrapping class from which L{portato.backend.Package} inherits. This is used by the flags module to check
- whether an object is a package. It cannot use the normal Package class as this results in cyclic dependencies."""
+ """Wrapping class from which L{portato.backend.Package} inherits. This is used by the flags module to check
+ whether an object is a package. It cannot use the normal Package class as this results in cyclic dependencies."""
- def __init__ (self):
- raise TypeError, "Calling __init__ on portato.backend._Package objects is not allowed."
+ def __init__ (self):
+ raise TypeError, "Calling __init__ on portato.backend._Package objects is not allowed."
class SystemWrapper (SystemInterface):
- """This is a wrapper to the different system interfaces, allowing the direct import via C{from portato.backend import system}.
- With this wrapper a change of the system is propagated to all imports."""
-
- def __getattribute__ (self, name):
- """Just pass all attribute accesses directly to _sys."""
- return getattr(_sys, name)
+ """This is a wrapper to the different system interfaces, allowing the direct import via C{from portato.backend import system}.
+ With this wrapper a change of the system is propagated to all imports."""
+
+ def __getattribute__ (self, name):
+ """Just pass all attribute accesses directly to _sys."""
+ return getattr(_sys, name)
def set_system (new_sys):
- """Sets the current system to a new one.
+ """Sets the current system to a new one.
- @param new_sys: the name of the system to take
- @type new_sys: string"""
+ @param new_sys: the name of the system to take
+ @type new_sys: string"""
- global SYSTEM
- if new_sys != SYSTEM:
- SYSTEM = new_sys
- load_system()
+ global SYSTEM
+ if new_sys != SYSTEM:
+ SYSTEM = new_sys
+ load_system()
def load_system ():
- """Loads the current chosen system.
+ """Loads the current chosen system.
- @raises InvalidSystemError: if an inappropriate system is set"""
-
- global _sys
+ @raises InvalidSystemError: if an inappropriate system is set"""
+
+ global _sys
- if SYSTEM == "portage":
- debug("Setting Portage System")
- from .portage import PortageSystem
- _sys = PortageSystem ()
- elif SYSTEM == "catapult":
- debug("Setting Catapult System")
- from .catapult import CatapultSystem
- _sys = CatapultSystem()
- else:
- raise InvalidSystemError, SYSTEM
+ if SYSTEM == "portage":
+ debug("Setting Portage System")
+ from .portage import PortageSystem
+ _sys = PortageSystem ()
+ elif SYSTEM == "catapult":
+ debug("Setting Catapult System")
+ from .catapult import CatapultSystem
+ _sys = CatapultSystem()
+ else:
+ raise InvalidSystemError, SYSTEM
system = SystemWrapper()
def is_package(what):
- return isinstance(what, _Package)
+ return isinstance(what, _Package)
load_system()
diff --git a/portato/backend/exceptions.py b/portato/backend/exceptions.py
index 42f9d44..37e9bda 100644
--- a/portato/backend/exceptions.py
+++ b/portato/backend/exceptions.py
@@ -11,17 +11,17 @@
# Written by René 'Necoro' Neumann <necoro@necoro.net>
class BlockedException (Exception):
- """An exception marking, that some package is blocking another one."""
- pass
+ """An exception marking, that some package is blocking another one."""
+ pass
class PackageNotFoundException (Exception):
- """An exception marking that a package could not be found."""
- pass
+ """An exception marking that a package could not be found."""
+ pass
class DependencyCalcError (Exception):
- """An error occured during dependency calculation."""
- pass
+ """An error occured during dependency calculation."""
+ pass
class InvalidSystemError (Exception):
- """An invalid system is set."""
- pass
+ """An invalid system is set."""
+ pass
diff --git a/portato/backend/flags.py b/portato/backend/flags.py
index b151665..4aa6b8e 100644
--- a/portato/backend/flags.py
+++ b/portato/backend/flags.py
@@ -20,738 +20,738 @@ from . import system, is_package
from ..helper import debug, error, unique_array
CONFIG = {
- "usefile" : "portato",
- "maskfile" : "portato",
- "testingfile" : "portato",
- "usePerVersion" : True,
- "maskPerVersion" : True,
- "testingPerVersion" : True
- }
+ "usefile" : "portato",
+ "maskfile" : "portato",
+ "testingfile" : "portato",
+ "usePerVersion" : True,
+