def update_bundles(useAuthentication, user, password, tracUrl, parentTicketsField, cwd): res = [] auth_ok = True with common_app_server.logging_redirect_for_webapp() as logs: try: repo = git.Repo(cwd) ensure_clean_git_repo(repo) tracApi = None try: if useAuthentication and user and len( user) > 0 and password and len(password) > 0: tracApi = trac_api.TracApi(tracUrl, user, password) else: logger.warn( "Skipping synchronisation with trac as there are no/empty credentials specified." ) auth_ok = False except KeyError as e: logger.warn( "Missing Key {} in local trac configuration --> no synchronization with trac will be done!" .format(e)) reprepro_bundle_compose.updateBundles( tracApi, parentTicketsField=parentTicketsField, cwd=cwd) git_commit(repo, [BUNDLES_LIST_FILE], "UPDATED {}".format(BUNDLES_LIST_FILE)) except GitNotCleanException as e: logger.error(e) except Exception as e: auth_ok = False logger.error(e) finally: res = logs.toBackendLogEntryList() return res, auth_ok
def undo_last_change(cwd): res = [] with common_app_server.logging_redirect_for_webapp() as logs: try: repo = git.Repo(cwd) ensure_clean_git_repo(repo) repo.git.reset('--hard', "HEAD^1") logger.info("Undoing last Change was successfull") except GitCommandError as e: logger.error("Undoing last Change failed:\n{}".format(e)) except GitNotCleanException as e: logger.error(e) finally: res = logs.toBackendLogEntryList() return res
def mark_bundles_for_target(bundleIds, target, ignoreTargetFromInfoFile, cwd): res = [] with common_app_server.logging_redirect_for_webapp() as logs: try: repo = git.Repo(cwd) ensure_clean_git_repo(repo) bundles = parseBundles(getBundleRepoSuites(bundleIds, cwd=cwd), cwd=cwd) reprepro_bundle_compose.markBundlesForTarget( bundles, bundleIds, target, cwd, ignoreTargetFromInfoFile) msg = "MARKED for target '{}'\n\n - {}".format( target, "\n - ".join(sorted(bundleIds))) if len(bundleIds) == 1: msg = "MARKED {} for target '{}'".format( "".join(bundleIds), target) git_commit(repo, [BUNDLES_LIST_FILE], msg) except GitNotCleanException as e: logger.error(e) finally: res = logs.toBackendLogEntryList() return res
def mark_bundles_for_status(bundleIds, status, cwd): res = [] with common_app_server.logging_redirect_for_webapp() as logs: try: repo = git.Repo(cwd) ensure_clean_git_repo(repo) bundles = parseBundles(cwd=cwd) reprepro_bundle_compose.markBundlesForStatus(bundles, bundleIds, status, force=True, checkOwnSuite=False, cwd=cwd) msg = "MARKED for status '{}'\n\n - {}".format( status, "\n - ".join(sorted(bundleIds))) if len(bundleIds) == 1: msg = "MARKED {} for status '{}'".format( "".join(bundleIds), status) git_commit(repo, [BUNDLES_LIST_FILE], msg) except GitNotCleanException as e: logger.error(e) finally: res = logs.toBackendLogEntryList() return res