def close(self): """ This should be handled by __del__() but YumBase objects never seem to completely go out of scope and garbage collected. """ YumBase.close(self) self.closeRpmDB() self.cleanLoggers()
def close(self): """ This should be handled by __del__() but YumBase objects never seem to completely go out of scope and garbage collected. """ YumBase.close(self) self.closeRpmDB() self.cleanLoggers()
def generate(repofn): """ Generate the report content. :param repofn: The .repo file basename used to filter the report. :type repofn: str :return: The report content :rtype: dict """ yb = YumBase() try: return dict(enabled_repos=EnabledReport.find_enabled(yb, repofn)) finally: yb.close()
packages = ["python2-iml-agent"] if "IML_PROFILE_PACKAGES" in os.environ: packages += os.environ["IML_PROFILE_PACKAGES"].split(",") ypl = yp.doPackageLists(pkgnarrow="updates", patterns=packages) has_updates = len(ypl.updates) > 0 if "IML_PROFILE_REPOS" in os.environ: for bundle in os.environ["IML_PROFILE_REPOS"].split(","): if bundle == "external": continue ypl = yp.doPackageLists(pkgnarrow=["updates"], repoid=bundle) has_updates |= len(ypl.updates) > 0 yp.close() yp.closeRpmDB() yp.doUnlock() resp = requests.post( urljoin(os.environ["IML_MANAGER_URL"], "iml_has_package_updates"), cert=(os.environ["IML_CERT_PATH"], os.environ["IML_PRIVATE_KEY_PATH"]), verify=False, headers={"Content-Type": "application/json"}, data=json.dumps(has_updates), ) print("Manager responded, status code: {0}".format(resp.status_code))