def find_milestone(self, module: str, version: str) -> Milestone: milestones: PaginatedList = self.__request_milestone_list() search_title = self.__config.expected_raw_milestone_names.get(module) + version log_debug("Trying to search milestone: " + search_title) for milestone in milestones: if milestone.title == search_title: return milestone return None
def __is_tracked_and_dirty(self, path: str) -> bool: changed = [item.a_path for item in self.__repo.index.diff(None)] changedAbs = [os.path.abspath(os.path.join(self.__repo.working_tree_dir, item.a_path)) for item in self.__repo.index.diff(None)] log_debug("Untracked and Dirty files: " + str(changed)) if path in changed or path in changedAbs: # modified return True else: return False
def find_issue(self, issue_number: int) -> Issue: '''Search for the Release issue to be used, if not found, exit''' # caching! if issue_number in self.__cache.issues: log_info("Issue with number " + str(issue_number) + " found.") return self.__cache.issues[issue_number] else: log_debug("Issue not found in cache, retrieving from GitHub...") try: self.__cache.issues.update({issue_number: self.__repo.get_issue(issue_number)}) log_info("Issue with number " + str(issue_number) + " found.") return self.__cache.issues[issue_number] except UnknownObjectException: return None
def __request_milestone_list(self) -> PaginatedList: # caching! try: return self.__cache.milestones except AttributeError: log_debug("Milestones not found in cache, retrieving from GitHub...") try: milestones: PaginatedList = self.__repo.get_milestones(state="all") self.__cache.milestones = milestones return milestones except GithubException as e: log_error('Could not retrieve milestones') print(str(e)) sys.exit()
def __initialize_repository_object(self): self.__cache = GitHubCache() try: org = self.__github.get_organization(self.__config.git_repo_org) if self.__config.debug: log_debug("Organization found.") except UnknownObjectException: if self.__config.debug: log_debug("Organization not found. Try interpreting " + self.__config.git_repo_org + " as user...") org = self.__github.get_user(self.__config.git_repo_org) if self.__config.debug: log_debug("User found.") self.__repo: Repository = org.get_repo(self.__config.git_repo_name)
check_running_in_bash() exit_if_not_executed_in_ide_environment() config = Config() init_non_git_config(config) git_repo = GitRepo(config) git_repo.assure_clean_working_copy() github = GitHub(config) init_git_dependent_config(config, github, git_repo) exit_if_origin_is_not_correct(config) if (config.debug): log_debug("Current config:") pprint(vars(config)) if not prompt_yesno_question("[DEBUG] Continue?"): sys.exit() maven = Maven(config, github) input( "\nPlease close all eclipse instances as of potential race conditions on maven builds causing errors. Press return if done..." ) input( "\nPlease close SourceTree for Git performance reasons. Press return if done...\n" ) report_messages = []