[+] Script to list unmerged pr
This commit is contained in:
parent
2af034697c
commit
7d26a8e60c
3 changed files with 63 additions and 0 deletions
|
@ -71,6 +71,8 @@ Thank you for your contribution!
|
|||
This PR is [merged into hyfetch](https://github.com/hykilpikonna/hyfetch/commit/{sha}) since this repo (dylanaraps/neofetch) seems no longer maintained.
|
||||
|
||||
[HyFetch](https://github.com/hykilpikonna/hyfetch) is a fork of neofetch with LGBTQ pride flags, but the repo also serves as an updated version of neofetch, addressing many pull requests that are not merged in the original repo.
|
||||
|
||||
Read the ["Running Updated Original Neofetch" section](https://github.com/hykilpikonna/hyfetch#running-updated-original-neofetch) for more info!
|
||||
"""
|
||||
pyperclip.copy(comment.strip())
|
||||
print()
|
48
merging/list_unresolved.py
Normal file
48
merging/list_unresolved.py
Normal file
|
@ -0,0 +1,48 @@
|
|||
import shlex
|
||||
from pathlib import Path
|
||||
from subprocess import check_output
|
||||
|
||||
from github import Github
|
||||
from github.PullRequest import PullRequest
|
||||
import ruamel.yaml as yaml
|
||||
|
||||
|
||||
def obtain_resolved():
|
||||
"""
|
||||
Obtain a list of resolved issues.
|
||||
"""
|
||||
prefix = 'dylanaraps/neofetch#'
|
||||
commits = check_output(shlex.split('git log --pretty=format:"%s"')).decode().strip().split('\n')
|
||||
commits = [(c, c.find(prefix)) for c in commits]
|
||||
commits = [(c, i+len(prefix)) for c, i in commits if i != -1]
|
||||
return sorted([int(c[i:c.find(' ', i)]) for c, i in commits])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Obtain a list of resolved issues
|
||||
resolved = set(obtain_resolved())
|
||||
|
||||
# Read the ignore-list
|
||||
with open(Path(__file__).parent / "pull_request_markings.yaml") as stream:
|
||||
ignore_list = yaml.safe_load(stream)['IgnoreList']
|
||||
|
||||
# Obtain a list of open issues
|
||||
g = Github(per_page=100)
|
||||
repo = g.get_repo('dylanaraps/neofetch')
|
||||
pager = repo.get_pulls(state='open')
|
||||
|
||||
# Filter only unresolved issues
|
||||
unresolved: list[PullRequest] = []
|
||||
for i in range(10000000):
|
||||
pulls: list[PullRequest] = pager.get_page(i)
|
||||
if len(pulls) == 0:
|
||||
break
|
||||
|
||||
unresolved += [p for p in pulls if p.number not in resolved and p.number not in ignore_list and not p.draft]
|
||||
if len(unresolved) > 50:
|
||||
break
|
||||
|
||||
unresolved.sort(key=lambda p: p.number)
|
||||
|
||||
# Print unresolved issues
|
||||
print('\n'.join(f'[{p.number}] {p.title} {p.html_url}' for p in unresolved))
|
13
merging/pull_request_markings.yaml
Normal file
13
merging/pull_request_markings.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Pull request that I don't plan on merging, or already merged pull request that the script didn't
|
||||
# detect.
|
||||
IgnoreList:
|
||||
# [2154] Added Support for Uwuntu
|
||||
2154: merged
|
||||
# [2156] Update neofetch (for macOS 13)
|
||||
2156: duplicate
|
||||
# [2152] created much cleaner void ascii art
|
||||
2152: merged
|
||||
# [2150] Add macOS 13 to version name list
|
||||
2150: merged
|
||||
# [2092] Update neofetch
|
||||
2092: troll
|
Loading…
Reference in a new issue