Example #1
0
    def decompose(self):
        ni_obj = NativeImports()
        if not ni_obj.retrieve():
            self.err = ni_obj.getError()
            return False

        native = ni_obj.getImports()

        for gimport in self.imports:
            prefix = gimport.split('/')[0]
            if prefix in native:
                key = "Native"
            else:
                ip_obj = ImportPath(gimport)
                if not ip_obj.parse():
                    self.warn.append(ip_obj.getError())
                    key = "Unknown"
                else:
                    key = ip_obj.getPrefix()

            if key not in self.classes:
                self.classes[key] = [gimport]
            else:
                self.classes[key].append(gimport)

        return True
Example #2
0
	def decompose(self):
		ni_obj = NativeImports()
		if not ni_obj.retrieve():
			self.err = ni_obj.getError()
			return False

		native = ni_obj.getImports()

		for gimport in self.imports:
			prefix = gimport.split('/')[0]
			if prefix in native:
				key = "Native"
			else:
				ip_obj = ImportPath(gimport)
				if not ip_obj.parse():
					self.warn.append(ip_obj.getError())
					key = "Unknown"
				else:
					key = ip_obj.getPrefix()

			if key not in self.classes:
				self.classes[key] = [gimport]
			else:
				self.classes[key].append(gimport)

		return True
Example #3
0
    def readNativeImports(self):
        ni_obj = NativeImports()
        if not ni_obj.retrieve():
            self.err = ni_obj.getError()
            return False

        self.native_imports = ni_obj.getImports()
        return True
Example #4
0
	def readNativeImports(self):
		ni_obj = NativeImports()
		if not ni_obj.retrieve():
			self.err = ni_obj.getError()
			return False

		self.native_imports = ni_obj.getImports()
		return True
Example #5
0
    def load(self):
        """
		For each subpackage return all imported and provided import paths
		"""
        # one package can have more *.xml files
        self.ip_provides = {}
        self.ip_imports = {}
        self.pkg_devel_main_pkg = {}

        ni_obj = NativeImports()
        if not ni_obj.retrieve():
            self.err = ni_obj.getError()
            return False

        native_imports = ni_obj.getImports()

        golang_pkg_path = Config().getGolangPkgdb()

        symbol_files = []

        for dirName, subdirList, fileList in os.walk(golang_pkg_path):
            for fname in fileList:
                if not fname.endswith(".xml"):
                    continue

                symbol_files.append("%s/%s" % (dirName, fname))

        ipdb_cache = ImportPathDBCache()
        if self.cache:
            if not ipdb_cache.load():
                self.err = ipdb_cache.getError()
                return False

            devel_names = ipdb_cache.getDevelNames()
            for name in devel_names:
                self.ip_provides[name] = ipdb_cache.getProvides(name)
                self.ip_imports[name] = ipdb_cache.getImports(name)
                # what package does this build comes from
                self.devel_main_pkg[name] = ipdb_cache.getMainPkg(name)

            return True

        for path in symbol_files:
            spp_obj = SymbolPackageParser(path, read_native_imports=False)

            spp_obj.setNativeImports(native_imports)
            if not spp_obj.parse():
                self.warn.append(spp_obj.getError())
                continue

            devel_name = spp_obj.getDevelName()

            self.ip_provides[devel_name] = spp_obj.getProvides()
            self.ip_imports[devel_name] = spp_obj.getImports()

            # what package does this build comes from
            self.devel_main_pkg[devel_name] = spp_obj.getPkgName()

            ipdb_cache.addBuild(devel_name, self.ip_provides[devel_name],
                                self.ip_imports[devel_name],
                                spp_obj.getPkgName())

        ipdb_cache.flush()

        return True
Example #6
0
	def load(self):
		"""
		For each subpackage return all imported and provided import paths
		"""
		# one package can have more *.xml files
		self.ip_provides = {}
		self.ip_imports = {}
		self.pkg_devel_main_pkg = {}

		ni_obj = NativeImports()
		if not ni_obj.retrieve():
			self.err = ni_obj.getError()
			return False

		native_imports = ni_obj.getImports()

		golang_pkg_path = Config().getGolangPkgdb()

		symbol_files = []

		for dirName, subdirList, fileList in os.walk(golang_pkg_path):
			for fname in fileList:
				if not fname.endswith(".xml"):
					continue

				symbol_files.append("%s/%s" % (dirName,fname))

		ipdb_cache = ImportPathDBCache()
		if self.cache:
			if not ipdb_cache.load():
				self.err = ipdb_cache.getError()
				return False

			devel_names = ipdb_cache.getDevelNames()
			for name in devel_names:
				self.ip_provides[name] = ipdb_cache.getProvides(name)
				self.ip_imports[name] = ipdb_cache.getImports(name)
				# what package does this build comes from
				self.devel_main_pkg[name] = ipdb_cache.getMainPkg(name)

			return True

		for path in symbol_files:
			spp_obj = SymbolPackageParser(path,
					read_native_imports=False)

			spp_obj.setNativeImports(native_imports)
			if not spp_obj.parse():
				self.warn.append(spp_obj.getError())
				continue

			devel_name = spp_obj.getDevelName()

			self.ip_provides[devel_name] = spp_obj.getProvides()
			self.ip_imports[devel_name] = spp_obj.getImports()
				
			# what package does this build comes from
			self.devel_main_pkg[devel_name] = spp_obj.getPkgName()

			ipdb_cache.addBuild(devel_name, self.ip_provides[devel_name], self.ip_imports[devel_name], spp_obj.getPkgName())

		ipdb_cache.flush()

		return True