summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xscripts/gist15
1 files changed, 10 insertions, 5 deletions
diff --git a/scripts/gist b/scripts/gist
index 69de7f8..0336b5f 100755
--- a/scripts/gist
+++ b/scripts/gist
@@ -59,6 +59,7 @@ config=~/.config/gistrc
59[ "$TRACE" ] && set -x 59[ "$TRACE" ] && set -x
60 60
61# TODO error handling while password is not true 61# TODO error handling while password is not true
62# TODO support access token from input or web
62_auth() { 63_auth() {
63 local data="{\"scopes\":[\"gist\"], \"note\": \"gist-$(date -u +'%Y-%m-%dT%H:%M:%SZ')\"}" 64 local data="{\"scopes\":[\"gist\"], \"note\": \"gist-$(date -u +'%Y-%m-%dT%H:%M:%SZ')\"}"
64 read -p "Github username: " user 65 read -p "Github username: " user
@@ -77,9 +78,13 @@ _auth() {
77 | sed 's/^/token=/' >> $config 78 | sed 's/^/token=/' >> $config
78} 79}
79 80
80while ! source $config || [[ -z "$token" ]] || [[ -z "$user" ]]; do 81case "$1" in
81 _auth 82 config | c) ;;
82done 83 *)
84 while ! source $config 2> /dev/null || [[ -z "$token" ]] || [[ -z "$user" ]]; do
85 _auth
86 done;;
87esac
83 88
84github_api=https://api.github.com 89github_api=https://api.github.com
85auth_header="Authorization: token $token" 90auth_header="Authorization: token $token"
@@ -205,10 +210,10 @@ _clean_repos() {
205# TODO format with simple text 210# TODO format with simple text
206_show_detail() { 211_show_detail() {
207 _gist_id $1 212 _gist_id $1
208 curl -s -H "$auth_header" $github_api/gists/$GIST_ID \ 213 curl -s $github_api/gists/$GIST_ID \
209 | jq '{site: .html_url, description: .description, public: .public, API: .url, created_at: .created_at, updated_at: .updated_at, files: (.files | keys)}' 214 | jq '{site: .html_url, description: .description, public: .public, API: .url, created_at: .created_at, updated_at: .updated_at, files: (.files | keys)}'
210 215
211 curl -s -H "$auth_header" $github_api/gists/$GIST_ID/comments \ 216 curl -s $github_api/gists/$GIST_ID/comments \
212 | jq '.[] | {user: .user.login, created_at: .created_at, updated_at: .updated_at, body: .body}' 217 | jq '.[] | {user: .user.login, created_at: .created_at, updated_at: .updated_at, body: .body}'
213} 218}
214 219