[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [emerge] bin/Packager: undo 417e95c8328d9b407330428bf7c71a611cfd962e
From:       Patrick Spendrin <ps_ml () gmx ! de>
Date:       2015-09-18 9:02:19
Message-ID: E1ZcrYh-00081V-Lw () scm ! kde ! org
[Download RAW message or body]

Git commit cade3c7a7c75ae741ae33282d8f6f553311578f0 by Patrick Spendrin.
Committed on 18/09/2015 at 09:01.
Pushed by sengels into branch 'master'.

undo 417e95c8328d9b407330428bf7c71a611cfd962e

we shouldn't simply remove API, even if it seems to be not used in here

A  +20   -0    bin/Packager/MultiPackager.py
A  +48   -0    bin/Packager/PackagerFactory.py

http://commits.kde.org/emerge/cade3c7a7c75ae741ae33282d8f6f553311578f0

diff --git a/bin/Packager/MultiPackager.py b/bin/Packager/MultiPackager.py
new file mode 100644
index 0000000..1a98e8c
--- /dev/null
+++ b/bin/Packager/MultiPackager.py
@@ -0,0 +1,20 @@
+#
+# copyright (c) 2009 Ralf Habacker <ralf.habacker@freenet.de>
+#
+
+from Packager.PackagerFactory import *
+
+class MultiPackager(object):
+    def __init__(self, packagerType=None):
+        utils.debug( "MultiPackager __init__ %s" %packagerType, 2 )
+        self.packagers = PackagerFactory(self, packagerType)
+
+    def createPackage(self):
+        result = True
+        for packager in self.packagers:
+            if not packager.createPackage():
+                result = False
+        return result
+
+    def make_package(self):
+        return self.createPackage()
diff --git a/bin/Packager/PackagerFactory.py b/bin/Packager/PackagerFactory.py
new file mode 100644
index 0000000..fce24d6
--- /dev/null
+++ b/bin/Packager/PackagerFactory.py
@@ -0,0 +1,48 @@
+#
+# copyright (c) 2009 Ralf Habacker <ralf.habacker@freenet.de>
+#
+
+from Packager.KDEWinPackager import *
+from Packager.CPackPackager import *
+from Packager.SevenZipPackager import *
+from Packager.MSInstallerPackager import *
+from Packager.InnoSetupPackager import *
+
+def init(packager, parent):
+    packager.subinfo = parent.subinfo
+    packager.parent = parent
+    packager.category = parent.category
+    packager.package = parent.package
+    packager.version = parent.version
+    packager.buildTarget = parent.subinfo.buildTarget
+    return
+
+def PackagerFactory(parent, packagerType):
+    """provides multi packager type api
+    return PackagerBase derived instance for recent settings"""
+    utils.debug( "PackagerFactory called", 2 )
+    packagers = []
+
+    if packagerType:
+        for packagerClass in packagerType:
+            if not issubclass(packagerClass, PackagerBase):
+                utils.die("PackagerFactory: unsupported packager %s" % packagerClass)
+            else:
+                packager = packagerClass()
+                init(packager, parent)
+                packagers.append(packager)
+    else:
+        # automatic detection
+        packager = InnoSetupPackager()
+        init(packager, parent)
+
+        if packager.configFile() != None:
+            packagers.append(packager)
+
+        # default packager
+        if len(packagers) == 0:
+            packager = KDEWinPackager()
+            init(packager, parent)
+            packagers.append(packager)
+    return packagers
+
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic