Compare commits
1 Commits
v0.2.7
...
c1385f22fd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1385f22fd |
@@ -93,6 +93,10 @@ EOF
|
||||
|
||||
ensure_dirs() {
|
||||
mkdir -p "$SESSIONS_DIR"
|
||||
mkdir -p "$LOGS_DIR"
|
||||
mkdir -p "$WORKTREES_DIR"
|
||||
mkdir -p "$QUEUE_DIR"
|
||||
mkdir -p "$QUEUE_ITEMS_DIR"
|
||||
}
|
||||
|
||||
ensure_worktree_dir() {
|
||||
@@ -257,7 +261,9 @@ PYEOF
|
||||
}
|
||||
|
||||
ensure_queue_dirs() {
|
||||
mkdir -p "$QUEUE_DIR"
|
||||
mkdir -p "$QUEUE_ITEMS_DIR"
|
||||
mkdir -p "$LOGS_DIR"
|
||||
}
|
||||
|
||||
generate_queue_id() {
|
||||
@@ -855,21 +861,20 @@ parse_issue_ref_from_message() {
|
||||
local repo=""
|
||||
local issue_number=""
|
||||
|
||||
if echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/(issues|pull)/[0-9]+'; then
|
||||
gitserver=$(echo "$message" | grep -oE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+' | head -1 | sed 's/\/[^/]*\/[^/]*$//')
|
||||
local full_path=$(echo "$message" | grep -oE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/(issues|pull)/[0-9]+' | head -1)
|
||||
owner=$(echo "$full_path" | cut -d'/' -f2)
|
||||
repo=$(echo "$full_path" | cut -d'/' -f3)
|
||||
issue_number=$(echo "$full_path" | grep -oE '[0-9]+$' | head -1)
|
||||
elif echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#[0-9]+'; then
|
||||
gitserver=$(echo "$message" | grep -oE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+' | head -1)
|
||||
owner=$(echo "$gitserver" | cut -d'/' -f2)
|
||||
repo=$(echo "$gitserver" | cut -d'/' -f3)
|
||||
issue_number=$(echo "$message" | grep -oE '#[0-9]+' | grep -oE '[0-9]+' | head -1)
|
||||
elif echo "$message" | grep -qE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#([0-9]+)'; then
|
||||
owner=$(echo "$message" | grep -oE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#' | sed 's/#$//' | cut -d'/' -f1)
|
||||
repo=$(echo "$message" | grep -oE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#' | sed 's/#$//' | cut -d'/' -f2)
|
||||
issue_number=$(echo "$message" | grep -oE '#[0-9]+' | grep -oE '[0-9]+' | head -1)
|
||||
if [[ "$message" =~ (https?://)?([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/([a-zA-Z0-9._-]+)/([a-zA-Z0-9._-]+)/(issues|pull)/([0-9]+) ]]; then
|
||||
gitserver="${BASH_REMATCH[2]}"
|
||||
owner="${BASH_REMATCH[3]}"
|
||||
repo="${BASH_REMATCH[4]}"
|
||||
issue_number="${BASH_REMATCH[6]}"
|
||||
elif [[ "$message" =~ (https?://)?([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/([a-zA-Z0-9._-]+)/([a-zA-Z0-9._-]+)#([0-9]+) ]]; then
|
||||
gitserver="${BASH_REMATCH[2]}"
|
||||
owner="${BASH_REMATCH[3]}"
|
||||
repo="${BASH_REMATCH[4]}"
|
||||
issue_number="${BASH_REMATCH[5]}"
|
||||
elif [[ "$message" =~ ([a-zA-Z0-9._-]+)/([a-zA-Z0-9._-]+)#([0-9]+) ]]; then
|
||||
owner="${BASH_REMATCH[1]}"
|
||||
repo="${BASH_REMATCH[2]}"
|
||||
issue_number="${BASH_REMATCH[3]}"
|
||||
fi
|
||||
|
||||
echo "${gitserver}|${owner}|${repo}|${issue_number}"
|
||||
|
||||
@@ -43,15 +43,24 @@ kugetsu_add_notification() {
|
||||
notifications=$(cat "$NOTIFICATIONS_FILE")
|
||||
fi
|
||||
|
||||
local new_notification=$(python3 -c "import json; print(json.dumps({
|
||||
'type': '$notification_type',
|
||||
'message': '$message',
|
||||
'issue_ref': '$issue_ref',
|
||||
'timestamp': '$timestamp',
|
||||
'read': False
|
||||
}))")
|
||||
notifications=$(echo "$notifications" | python3 -c "
|
||||
import json
|
||||
import sys
|
||||
|
||||
notifications=$(python3 -c "import json; n=json.loads('$notifications'); n.append(json.loads('$new_notification')); print(json.dumps(n[-50:] if len(n)>50 else n, indent=2))")
|
||||
notifications = json.load(sys.stdin)
|
||||
new_notification = {
|
||||
'type': '$notification_type',
|
||||
'message': '''$message'''.replace('\"', '\"'),
|
||||
'issue_ref': '$issue_ref' if '$issue_ref' else None,
|
||||
'timestamp': '$timestamp',
|
||||
'read': False
|
||||
}
|
||||
|
||||
notifications.append(new_notification)
|
||||
notifications = notifications[-50:] if len(notifications) > 50 else notifications
|
||||
|
||||
print(json.dumps(notifications, indent=2))
|
||||
")
|
||||
|
||||
echo "$notifications" > "$NOTIFICATIONS_FILE"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user