'
BEGIN {_s = tolower(_s)}
+ # TODO fzf/dmenu select instead of searching:
/^[a-zA-Z]/ && tolower($1) ~ _s && NF >= 2 {
n++
s = $1
printf "%s", p # XXX Intentionally avoiding newline in the result.
}
+
+ END {
+ if (n == 1) {
+ exit 0
+ } else if (n == 0) {
+ printf "[ERROR] Found nothing.\n" > "/dev/stderr"
+ exit 1
+ } else if (n > 1) {
+ # TODO fzf-select which of the records the user (ahem, me) wants.
+ printf "[WARNING] Found more than one record.\n" > "/dev/stderr"
+ exit 0
+ }
+ }
' \
~/._p/p \
| xsel -i -b -t 30000
local -r uri="$2"
local -r opts="$3"
- local -r id=$(youtube-dlc --get-id "$uri")
- local -r title=$(youtube-dlc --get-title "$uri" | sed 's/[^А-Яа-яA-Za-z0-9._-]/_/g')
+ local -r yt=youtube-dl
+ local -r id=$("$yt" --get-id "$uri")
+ local -r title=$("$yt" --get-title "$uri" | sed 's/[^А-Яа-яA-Za-z0-9._-]/_/g')
local -r dir="${base_dir}/${title}--${id}"
mkdir -p "$dir"
cd "$dir" || kill -INT $$
echo "$uri" > 'uri'
- youtube-dlc $opts -c --write-all-thumbnails --write-description --write-info-json "$uri"
+ "$yt" $opts -c --write-all-thumbnails --write-description --write-info-json "$uri"
}
yt_audio() {
mkdir -p "$gh_dir"
cd "$gh_dir" || kill -INT $$
gh_fetch_repos "$gh_user_type" "$gh_user_name" \
- | jq --raw-output '.[] | select(.fork | not) | .git_url' \
+ | jq --raw-output '.[] | select(.fork | not) | .clone_url' \
| parallel -j 25 \
git clone {}
}