diff --git a/bin/github-backup b/bin/github-backup index 0996092..0245ba1 100755 --- a/bin/github-backup +++ b/bin/github-backup @@ -40,16 +40,17 @@ FNULL = open(os.devnull, 'w') def log_error(message): - if type(message) == str: - message = [message] - - for msg in message: - sys.stderr.write("{0}\n".format(msg)) - + """ + Log message (str) or messages (List[str]) to stderr and exit with status 1 + """ + log_warning(message) sys.exit(1) def log_info(message): + """ + Log message (str) or messages (List[str]) to stdout + """ if type(message) == str: message = [message] @@ -57,6 +58,17 @@ def log_info(message): sys.stdout.write("{0}\n".format(msg)) +def log_warning(message): + """ + Log message (str) or messages (List[str]) to stderr + """ + if type(message) == str: + message = [message] + + for msg in message: + sys.stderr.write("{0}\n".format(msg)) + + def logging_subprocess(popenargs, logger, stdout_log_level=logging.DEBUG, @@ -513,7 +525,6 @@ def check_git_lfs_install(): exit_code = subprocess.call(['git', 'lfs', 'version']) if exit_code != 0: log_error('The argument --lfs requires you to have Git LFS installed.\nYou can get it from https://git-lfs.github.com.') - sys.exit(1) def retrieve_repositories(args, authenticated_user): @@ -524,8 +535,8 @@ def retrieve_repositories(args, authenticated_user): template = 'https://{0}/user/repos'.format( get_github_api_host(args)) else: - if args.private: - log_error('Authenticated user is different from user being backed up, thus private repositories cannot be accessed') + if args.private and not args.organization: + log_warning('Authenticated user is different from user being backed up, thus private repositories cannot be accessed') template = 'https://{0}/users/{1}/repos'.format( get_github_api_host(args), args.user)