From d907167713da2073e5c071eb6311aaad9d5a1c5a Mon Sep 17 00:00:00 2001 From: Richard Mwewa <74001397+rly0nheart@users.noreply.github.com> Date: Sun, 25 Dec 2022 02:46:18 +0200 Subject: [PATCH] Update csv_loggers.py --- octosuite/csv_loggers.py | 419 +++++++++++++-------------------------- 1 file changed, 139 insertions(+), 280 deletions(-) diff --git a/octosuite/csv_loggers.py b/octosuite/csv_loggers.py index b46901f..ef39394 100644 --- a/octosuite/csv_loggers.py +++ b/octosuite/csv_loggers.py @@ -21,22 +21,16 @@ def log_org_profile(response): response.json()['is_verified'], response.json()['has_organization_projects'], response.json()['has_repository_projects'], response.json()['created_at'], response.json()['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{response.json()['name']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(org_profile_fields) - write_csv.writerow(org_profile_row) + + with open(os.path.join("output", f"{response.json()['name']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(org_profile_fields) + write_csv.writerow(org_profile_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Creating a .csv file of a user' profile def log_user_profile(response): user_profile_fields = ['Profile photo', 'Name', 'Username', 'ID', 'Node ID', 'Bio', 'Blog', 'Location', 'Followers', @@ -49,21 +43,15 @@ def log_user_profile(response): response.json()['public_gists'], response.json()['public_repos'], response.json()['company'], response.json()['hireable'], response.json()['site_admin'], response.json()['created_at'], response.json()['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{response.json()['login']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_profile_fields) - write_csv.writerow(user_profile_row) + + with open(os.path.join("output", f"{response.json()['login']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_profile_fields) + write_csv.writerow(user_profile_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - # create .csv for repository profile def log_repo_profile(response): @@ -81,66 +69,47 @@ def log_repo_profile(response): response.json()['has_pages'], response.json()['has_projects'], response.json()['has_issues'], response.json()['has_downloads'], response.json()['pushed_at'], response.json()['created_at'], response.json()['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{response.json()['name']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(repo_profile_fields) - write_csv.writerow(repo_profile_row) - + + with open(os.path.join("output", f"{response.json()['name']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(repo_profile_fields) + write_csv.writerow(repo_profile_row) + logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - + # create .csv for repository path contents def log_repo_path_contents(content, repo_name): path_content_fields = ['Filename', 'Size (bytes)', 'Type', 'Path', 'SHA', 'URL'] path_content_row = [content['name'], content['size'], content['type'], content['path'], content['sha'], content['html_url']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{content['name']}_content_from_{repo_name}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(path_content_fields) - write_csv.writerow(path_content_row) + + with open(os.path.join("output", f"{content['name']}_content_from_{repo_name}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(path_content_fields) + write_csv.writerow(path_content_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # create .csv for repository stargazer def log_repo_stargazers(stargazer, repo_name): user_follower_fields = ['Profile photo', 'Username', 'ID', 'Node ID', 'Gravatar ID', 'Account type', 'Is site admin?', 'URL'] user_follower_row = [stargazer['avatar_url'], stargazer['login'], stargazer['id'], stargazer['node_id'], stargazer['gravatar_id'], stargazer['type'], stargazer['site_admin'], stargazer['html_url']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{stargazer['login']}_stargazer_of_{repo_name}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_follower_fields) - write_csv.writerow(user_follower_row) + + with open(os.path.join("output", f"{stargazer['login']}_stargazer_of_{repo_name}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_follower_fields) + write_csv.writerow(user_follower_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - -# create .csv for repository forks + # create .csv for repository forks def log_repo_forks(fork, count): repo_fork_fields = ['Name', 'ID', 'About', 'Forks', 'Stars', 'Watchers', 'License', 'Branch', 'Visibility', 'Language(s)', 'Open issues', 'Topics', 'Homepage', 'Clone URL', 'SSH URL', 'Is fork?', @@ -152,22 +121,16 @@ def log_repo_forks(fork, count): fork['fork'], fork['allow_forking'], fork['private'], fork['archived'], fork['is_template'], fork['has_wiki'], fork['has_pages'], fork['has_projects'], fork['has_issues'], fork['has_downloads'], fork['pushed_at'], fork['created_at'], fork['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{fork['name']}_fork_{count}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(repo_fork_fields) - write_csv.writerow(repo_fork_row) + + with open(os.path.join("output", f"{fork['name']}_fork_{count}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(repo_fork_fields) + write_csv.writerow(repo_fork_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # create .csv for repository issues def log_repo_issues(issue, repo_name): repo_issue_fields = ['Title', 'ID', 'Node ID', 'Number', 'State', 'Reactions', 'Comments', 'Milestone', 'Assignee', @@ -177,22 +140,16 @@ def log_repo_issues(issue, repo_name): issue['reactions'], issue['comments'], issue['milestone'], issue['assignee'], issue['assignees'], issue['author_association'], issue['labels'], issue['locked'], issue['active_lock_reason'], issue['closed_at'], issue['created_at'], issue['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{repo_name}_issue_{issue['id']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(repo_issue_fields) - write_csv.writerow(repo_issue_row) + + with open(os.path.join("output", f"{repo_name}_issue_{issue['id']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(repo_issue_fields) + write_csv.writerow(repo_issue_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # create .csv for repository releases def log_repo_releases(release, repo_name): repo_release_fields = ['Name', 'ID', 'Node ID', 'Tag', 'Branch', 'Assets', 'Is draft?', 'Is prerelease?', @@ -200,22 +157,16 @@ def log_repo_releases(release, repo_name): repo_release_row = [release['name'], release['id'], release['node_id'], release['tag_name'], release['target_commitish'], release['assets'], release['draft'], release['prerelease'], release['created_at'], release['published_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{repo_name}_release_{release['name']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(repo_release_fields) - write_csv.writerow(repo_release_row) + + with open(os.path.join("output", f"{repo_name}_release_{release['name']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(repo_release_fields) + write_csv.writerow(repo_release_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Create .csv file for repository contributors def log_repo_contributors(contributor, repo_name): repo_contributor_fields = ['Profile photo', 'Username', 'ID', 'Node ID', 'Gravatar ID', 'Account type', @@ -223,42 +174,30 @@ def log_repo_contributors(contributor, repo_name): repo_contributor_row = [contributor['avatar_url'], contributor['login'], contributor['id'], contributor['node_id'], contributor['gravatar_id'], contributor['type'], contributor['site_admin'], contributor['html_url']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{contributor['login']}_contributor_of_{repo_name}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(repo_contributor_fields) - write_csv.writerow(repo_contributor_row) + + with open(os.path.join("output", f"{contributor['login']}_contributor_of_{repo_name}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(repo_contributor_fields) + write_csv.writerow(repo_contributor_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - print(f"{INFO} {logging_skipped}\n") - - + # Create .csv for organization' events def log_repo_events(event, organization): org_event_fields = ['ID', 'Type', 'Created at', 'Payload'] org_event_row = [event['id'], event['type'], event['created_at'], event['payload']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{organization}_event_{event['id']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(org_event_fields) - write_csv.writerow(org_event_row) + + with open(os.path.join("output", f"{organization}_event_{event['id']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(org_event_fields) + write_csv.writerow(org_event_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Create .csv for organization' repositories def log_org_repos(repository, organization): org_repo_fields = ['Name', 'ID', 'About', 'Forks', 'Stars', 'Watchers', 'License', 'Branch', 'Visibility', @@ -273,22 +212,16 @@ def log_org_repos(repository, organization): repository['archived'], repository['is_template'], repository['has_wiki'], repository['has_pages'], repository['has_projects'], repository['has_issues'], repository['has_downloads'], repository['pushed_at'], repository['created_at'], repository['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{repository['name']}_repository_of_{organization}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(org_repo_fields) - write_csv.writerow(org_repo_row) + + with open(os.path.join("output", f"{repository['name']}_repository_of_{organization}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(org_repo_fields) + write_csv.writerow(org_repo_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user' repositories def log_user_repos(repository, username): user_repo_fields = ['Name', 'ID', 'About', 'Forks', 'Stars', 'Watchers', 'License', 'Branch', 'Visibility', @@ -303,109 +236,79 @@ def log_user_repos(repository, username): repository['archived'], repository['is_template'], repository['has_wiki'], repository['has_pages'], repository['has_projects'], repository['has_issues'], repository['has_downloads'], repository['pushed_at'], repository['created_at'], repository['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{repository['name']}_{username}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_repo_fields) - write_csv.writerow(user_repo_row) + + with open(os.path.join("output", f"{repository['name']}_{username}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_repo_fields) + write_csv.writerow(user_repo_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user events def log_user_events(event): user_event_fields = ['Actor', 'Type', 'Repository', 'Created at', 'Payload'] user_event_row = [event['actor']['login'], event['type'], event['repo']['name'], event['created_at'], event['payload']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{event['actor']['login']}_event_{event['id']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_event_fields) - write_csv.writerow(user_event_row) + + with open(os.path.join("output", f"{event['actor']['login']}_event_{event['id']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_event_fields) + write_csv.writerow(user_event_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user gists def log_user_gists(gist): user_gist_fields = ['ID', 'Node ID', 'About', 'Comments', 'Files', 'Git Push URL', 'Is public?', 'Is truncated?', 'Updated at'] user_gist_row = [gist['id'], gist['node_id'], gist['description'], gist['comments'], gist['files'], gist['git_push_url'], gist['public'], gist['truncated'], gist['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{gist['id']}_gists_{gist['owner']['login']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_gist_fields) - write_csv.writerow(user_gist_row) + + with open(os.path.join("output", f"{gist['id']}_gists_{gist['owner']['login']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_gist_fields) + write_csv.writerow(user_gist_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user followers def log_user_followers(follower, username): user_follower_fields = ['Profile photo', 'Username', 'ID', 'Node ID', 'Gravatar ID', 'Account type', 'Is site admin?', 'URL'] user_follower_row = [follower['avatar_url'], follower['login'], follower['id'], follower['node_id'], follower['gravatar_id'], follower['type'], follower['site_admin'], follower['html_url']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(f"output/{follower['login']}_follower_of_{username}.csv", 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_follower_fields) - write_csv.writerow(user_follower_row) + + with open(f"output/{follower['login']}_follower_of_{username}.csv", 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_follower_fields) + write_csv.writerow(user_follower_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user following def log_user_following(user, username): user_following_fields = ['Profile photo', 'Username', 'ID', 'Node ID', 'Gravatar ID', 'Account type', 'Is site admin?', 'URL'] user_following_row = [user['avatar_url'], user['login'], user['id'], user['node_id'], user['gravatar_id'], user['type'], user['site_admin'], user['html_url']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{user['login']}_followed_by_{username}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_following_fields) - write_csv.writerow(user_following_row) + + with open(os.path.join("output", f"{user['login']}_followed_by_{username}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_following_fields) + write_csv.writerow(user_following_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user' subscriptions def log_user_subscriptions(repository, username): user_subscription_fields = ['Name', 'ID', 'About', 'Forks', 'Stars', 'Watchers', 'License', 'Branch', 'Visibility', @@ -422,65 +325,47 @@ def log_user_subscriptions(repository, username): repository['is_template'], repository['has_wiki'], repository['has_pages'], repository['has_projects'], repository['has_issues'], repository['has_downloads'], repository['pushed_at'], repository['created_at'], repository['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{username}_subscriptions_{repository['name']}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_subscription_fields) - write_csv.writerow(user_subscription_row) + + with open(os.path.join("output", f"{username}_subscriptions_{repository['name']}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_subscription_fields) + write_csv.writerow(user_subscription_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # .csv for user organizations def log_user_orgs(organization, username): user_org_fields = ['Profile photo', 'Name', 'ID', 'Node ID', 'URL', 'About'] user_org_row = [organization['avatar_url'], organization['login'], organization['id'], organization['node_id'], organization['url'], organization['description']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{organization['login']}_{username}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_org_fields) - write_csv.writerow(user_org_row) + + with open(os.path.join("output", f"{organization['login']}_{username}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_org_fields) + write_csv.writerow(user_org_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Create .csv for user search def log_users_search(user, query): user_search_fields = ['Profile photo', 'Username', 'ID', 'Node ID', 'Gravatar ID', 'Account type', 'Is site admin?', 'URL'] user_search_row = [user['avatar_url'], user['login'], user['id'], user['node_id'], user['gravatar_id'], user['type'], user['site_admin'], user['html_url']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{user['login']}_user_search_result_for_{query}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(user_search_fields) - write_csv.writerow(user_search_row) + + with open(os.path.join("output", f"{user['login']}_user_search_result_for_{query}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(user_search_fields) + write_csv.writerow(user_search_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Create .csv for repository search def log_repos_search(repository, query): repo_search_fields = ['Name', 'ID', 'About', 'Forks', 'Stars', 'Watchers', 'License', 'Branch', 'Visibility', @@ -496,46 +381,32 @@ def log_repos_search(repository, query): repository['has_pages'], repository['has_projects'], repository['has_issues'], repository['has_downloads'], repository['pushed_at'], repository['created_at'], repository['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{repository['name']}_repository_search_result_for_{query}.csv"), - 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(repo_search_fields) - write_csv.writerow(repo_search_row) + + with open(os.path.join("output", f"{repository['name']}_repository_search_result_for_{query}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(repo_search_fields) + write_csv.writerow(repo_search_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - # Create .csv for topic search - - + +# Create .csv for topic search def log_topics_search(topic, query): topic_search_fields = ['Name', 'Score', 'Curated', 'Featured', 'Display name', 'Created by', 'Created at', 'Updated at'] topic_search_row = [topic['name'], topic['score'], topic['curated'], topic['featured'], topic['display_name'], topic['created_by'], topic['created_at'], topic['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{topic['name']}_topic_search_result_for_{query}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(topic_search_fields) - write_csv.writerow(topic_search_row) + + with open(os.path.join("output", f"{topic['name']}_topic_search_result_for_{query}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(topic_search_fields) + write_csv.writerow(topic_search_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Create .csv for issues search def log_issues_search(issue, query): issue_search_fields = ['Title', 'ID', 'Node ID', 'Number', 'State', 'Reactions', 'Comments', 'Milestone', @@ -545,40 +416,28 @@ def log_issues_search(issue, query): issue['reactions'], issue['comments'], issue['milestone'], issue['assignee'], issue['assignees'], issue['author_association'], issue['labels'], issue['locked'], issue['active_lock_reason'], issue['closed_at'], issue['created_at'], issue['updated_at']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{issue['id']}_issue_search_result_for_{query}.csv"), 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(issue_search_fields) - write_csv.writerow(issue_search_row) + + with open(os.path.join("output", f"{issue['id']}_issue_search_result_for_{query}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(issue_search_fields) + write_csv.writerow(issue_search_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") - - + # Create .csv for commits search def log_commits_search(commit, query): commit_search_fields = ['SHA', 'Author', 'Username', 'Email', 'Committer', 'Repository', 'URL', 'Description'] commit_search_row = [commit['commit']['tree']['sha'], commit['commit']['author']['name'], commit['author']['login'], commit['commit']['author']['email'], commit['commit']['committer']['name'], commit['repository']['full_name'], commit['html_url'], commit['commit']['message']] - xprint(f"\n{PROMPT} {prompt_log_csv}", end=""); - prompt = input().lower() - if prompt == "yes": - with open(os.path.join("output", f"{commit['commit']['tree']['sha']}_commit_search_result_for_{query}.csv"), - 'w') as file: - write_csv = csv.writer(file) - write_csv.writerow(commit_search_fields) - write_csv.writerow(commit_search_row) + + with open(os.path.join("output", f"{commit['commit']['tree']['sha']}_commit_search_result_for_{query}.csv"), 'w') as file: + write_csv = csv.writer(file) + write_csv.writerow(commit_search_fields) + write_csv.writerow(commit_search_row) logging.info(logged_to_csv.format(file.name)) xprint(f"{POSITIVE} {logged_to_csv.format(file.name)}") - - else: - logging.info(logging_skipped.format(prompt)) - xprint(f"{INFO} {logging_skipped.format(prompt)}") +