gitea_get_notifications: improved to display open/open_mine/merged_mine
This commit is contained in:
		
							parent
							
								
									84e727ef68
								
							
						
					
					
						commit
						d092346c1f
					
				|  | @ -1,3 +1,53 @@ | |||
| #!/bin/bash | ||||
| echo "Gitea: $(tea notification ls --mine | grep -E "^\| [0-9]+.*Pull.*merged" | wc -l)" | ||||
| exit 0 | ||||
| myuser="${1}" | ||||
| markmineread=false | ||||
| open_count=0 | ||||
| merge_count=0 | ||||
| open_notis_count=0 | ||||
| 
 | ||||
| open_noti=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g') | ||||
| 
 | ||||
| for merged_noti in $(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* merged " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g'); do | ||||
|     mark_read=false | ||||
|     noti_id="$(grep -oE "^[0-9]+" <<<"${merged_noti}")" | ||||
|     noti_pr_id="$(grep -oE '@@#[0-9]+@@' <<<"${merged_noti}" | sed -e 's/[@#]//g')" | ||||
|     noti_repo="$(grep -oE '@[a-z0-9]+/[a-z0-9]+$' <<<"${merged_noti}" | sed -e 's/@//g')" | ||||
| 
 | ||||
|     pr_info=$(tea pr ls --state all --repo "${noti_repo}" | grep -E "^\| +${noti_pr_id} .* closed ") | ||||
|     if grep -qE " closed +\| +${myuser} +\|" <<<"${pr_info}"; then | ||||
|         if $markmineread ; then | ||||
|             mark_read=true | ||||
|         else | ||||
|             let merge_count+=1 | ||||
|         fi | ||||
|     elif grep -qE " closed +\| +[a-zA-Z]+ [a-zA-Z]+ +\|" <<<"${pr_info}"; then | ||||
|         mark_read=true | ||||
|     fi | ||||
| 
 | ||||
|     if $mark_read ; then | ||||
|         tea notification read ${noti_id} &>/dev/null | ||||
|     fi | ||||
| 
 | ||||
|     if open_merge_noti=$(grep -q " #${noti_pr_id} " <<<"${open_noti}"); then | ||||
|         tea notification read $(sed -E 's/^\| +([0-9]+) .*/\1/g' <<<"${open_merge_noti}") &>/dev/null | ||||
|     fi | ||||
| 
 | ||||
| done | ||||
| 
 | ||||
| open_notis=$(tea notification ls --mine | grep -E "^\| +[0-9]+.* Pull .* open " | sed -E 's/[ \|]/@@/g;s/@@+/@@/g;s/^@@//g;s/@@$//g') | ||||
| if [ -n "${open_notis}" ]; then | ||||
|     open_notis_count=$(wc -l <<<"${open_notis}") | ||||
| fi | ||||
| 
 | ||||
| for open_noti in ${open_notis}; do | ||||
|     noti_id="$(grep -oE "^[0-9]+" <<<"${open_noti}")" | ||||
|     noti_pr_id="$(grep -oE '@@#[0-9]+@@' <<<"${open_noti}" | sed -e 's/[@#]//g')" | ||||
|     noti_repo="$(grep -oE '@[a-z0-9]+/[a-z0-9]+$' <<<"${open_noti}" | sed -e 's/@//g')" | ||||
| 
 | ||||
|     pr_info=$(tea pr ls --state all --repo "${noti_repo}" | grep -E "^\| +${noti_pr_id} .* closed ") | ||||
|     if grep -qE " open +\| +${myuser} +\|" <<<"${pr_info}"; then | ||||
|         let open_count+=1 | ||||
|     fi | ||||
| done | ||||
| 
 | ||||
| echo "GT: ${open_notis_count}/${open_count}/${merge_count}" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue