summaryrefslogtreecommitdiff
path: root/portato/db/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'portato/db/__init__.py')
-rw-r--r--portato/db/__init__.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/portato/db/__init__.py b/portato/db/__init__.py
new file mode 100644
index 0000000..05dbfcf
--- /dev/null
+++ b/portato/db/__init__.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+#
+# File: portato/db/__init__.py
+# This file is part of the Portato-Project, a graphical portage-frontend.
+#
+# Copyright (C) 2006-2009 René 'Necoro' Neumann
+# This is free software. You may redistribute copies of it under the terms of
+# the GNU General Public License version 2.
+# There is NO WARRANTY, to the extent permitted by law.
+#
+# Written by René 'Necoro' Neumann <necoro@necoro.net>
+
+from __future__ import absolute_import
+
+from ..session import Session, SectionDict
+from ..helper import debug, warning
+
+_SESSION = None
+_TYPE = None
+
+def _set_type(t):
+ global _TYPE
+ _TYPE = t
+
+def Database():
+ global _SESSION, _TYPE
+
+ if _SESSION is None:
+ _SESSION = Session("db.cfg", name = "DB")
+ _SESSION.add_handler((["type"], _set_type, lambda: _TYPE), default = ["sql"])
+ _SESSION.load()
+
+ if _TYPE == "sql":
+ debug("Using SQLDatabase")
+ try:
+ from .sql import SQLDatabase
+ except ImportError:
+ warning(_("Cannot load SQLDatabase."))
+ _TYPE = "dict"
+ return Database()
+ else:
+ return SQLDatabase(SectionDict(_SESSION, "SQL"))
+
+ elif _TYPE == "dict":
+ debug("Using DictDatabase")
+ from .dict import DictDatabase
+ return DictDatabase(SectionDict(_SESSION, "dict"))
oro' Neumann3-128/+138 2008-03-25Added option to disable console title updateRené 'Necoro' Neumann4-99/+117 2008-03-25New package header layoutRené 'Necoro' Neumann1-122/+128 2008-03-25Updated translationRené 'Necoro' Neumann2-789/+777 2008-03-25Changed from svn to bzr in TRANSLATINGRené 'Necoro' Neumann1-1/+1 2008-03-24Removed the nasty 'expand' bugRené 'Necoro' Neumann1-98/+98 2008-03-24Removed button labels in the package notebookRené 'Necoro' Neumann1-102/+96 2008-03-19install dbus_init pluginRené 'Necoro' Neumann1-1/+1 2008-03-19Init dbus threads using a pluginRené 'Necoro' Neumann3-1/+20 2008-03-19Make logger thread-safeRené 'Necoro' Neumann1-3/+6 2008-03-18Fixed new_use_flag creation errorRené 'Necoro' Neumann1-3/+3 2008-03-18keep i18n up2dateRené 'Necoro' Neumann3-326/+366 2008-03-18corrected header commentRené 'Necoro' Neumann1-2/+2 2008-03-18Removed gtk subdirRené 'Necoro' Neumann21-134/+79 2008-03-18Removed wrapperRené 'Necoro' Neumann2-238/+184 2008-03-18Split and renamed gui_helperRené 'Necoro' Neumann4-249/+266 2008-03-18Splitted windows.pyRené 'Necoro' Neumann10-424/+549 2008-03-12Moved get_dependencies to top package classRené 'Necoro' Neumann4-50/+85 2008-03-11improved performance by caching the use_expand queriesRené 'Necoro' Neumann1-5/+14 2008-03-11use catapult varsRené 'Necoro' Neumann2-4/+6 2008-03-11Updated catapult stuffRené 'Necoro' Neumann5-56/+108 2008-03-10Generate correct KeyNotFoundExceptionRené 'Necoro' Neumann1-2/+2 2008-03-09Small changesRené 'Necoro' Neumann3-1/+4 2008-03-07Better session handlingRené 'Necoro' Neumann1-5/+54 2008-03-07Small changesRené 'Necoro' Neumann1-1/+4 2008-03-07Updated shm module to 1.2René 'Necoro' Neumann1-8/+21 2008-03-07Update TODORené 'Necoro' Neumann1-3/+1 2008-03-07hmm ... yesRené 'Necoro' Neumann1-1/+1 2008-03-06Used better exceptions for configuration parserRené 'Necoro' Neumann1-26/+114 2008-03-06Update translationRené 'Necoro' Neumann2-349/+393 2008-03-06Update createpot.shRené 'Necoro' Neumann1-3/+2 2008-03-06Use 'nofork' instead of 'nolistener'René 'Necoro' Neumann1-3/+3 2008-03-05Install glade files into template dir and not data dirRené 'Necoro' Neumann2-2/+1 2008-03-05Added dependency listRené 'Necoro' Neumann3-117/+237