diff --git a/bin/Packager/PackagerFactory.py b/bin/Packager/PackagerFactory.py index dd8e9170f..e59ba832b 100644 --- a/bin/Packager/PackagerFactory.py +++ b/bin/Packager/PackagerFactory.py @@ -1,49 +1,49 @@ # # copyright (c) 2009 Ralf Habacker # 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 packager.PV = parent.PV 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 isinstance(packagerClass, PackagerBase): + 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