@@ -8,17 +8,20 @@ PLAYER_OPT=${YTWATCH_PLAYER_OPT:-"--playlist=-"}
8
8
[ $( which devour) ] || [ ${YTWATCH_SWALLOWER} ] \
9
9
&& SWALLOWER=${YTWATCH_SWALLOWER:- devour}
10
10
YTSCRAPER=${YTWATCH_SCRAPER:- " ./ytscraper" }
11
-
12
11
UEBERZUGPP=${YTWATCH_UEBERZUGPP:-/ usr/ local/ bin/ ueberzugpp}
13
12
FZF=${YTWATCH_FZF:- fzf}
14
13
15
14
readonly BASH_BINARY=" $( which bash) "
16
15
args=$( getopt -l " play-now::help" -o " p::h" -- " $@ " )
17
16
eval set -- " $args "
18
17
19
- LIST=" $( " ${YTSCRAPER} " " ${CSV} " | \
20
- jq -r " map_values(delpaths(keys_unsorted[:-400] | map([.])))" | jq " .videos" ) "
21
-
18
+ if [ " ${@: -1} " == " --" ]; then
19
+ LIST=" $( " ${YTSCRAPER} " " ${CSV} " | \
20
+ jq -r " map_values(delpaths(keys_unsorted[:-400] | map([.])))" | jq " .videos" ) "
21
+ else
22
+ LIST=" $( " ${YTSCRAPER} " " ${CSV} " | \
23
+ jq -r ' .videos | map(select(.channel | test("' " ${@: -1} " ' ";"i")))' ) "
24
+ fi
22
25
23
26
start_mpv (){
24
27
echo " ${LIST} " | jq -r " .[] | .url" | tac | ${SWALLOWER} ${PLAYER} ${PLAYER_OPT}
@@ -73,28 +76,28 @@ start_fzf(){
73
76
.title, .channel, .published, .url, .thumbnail" <<< ${LIST})'
74
77
75
78
BIND_STRING=' enter:execute(jq -r ".[{n}] | .url" <<< ${LIST} | \
76
- ' ${SWALLOWER} ' ' ${PLAYER} ' ' ${PLAYER_OPT} ' )'
79
+ ' ${SWALLOWER} ' ' ${PLAYER} ' ' ${PLAYER_OPT} ' )'
77
80
78
81
SHELL=" ${BASH_BINARY} " LIST=" ${LIST} " $FZF --multi --tac \
79
82
--preview " ${PREVIEW_STRING} " \
80
83
--bind " ${BIND_STRING} " <<< " ${LEFT}"
81
- }
84
+ }
82
85
83
- while [ $# -ge 1 ]; do
84
- case " $1 " in
85
- --)
86
- start_ueberzug
87
- start_fzf
88
- exit 0
89
- ;;
90
- -p|--play-now)
91
- start_mpv
92
- exit 0
93
- ;;
94
- -h|--help)
95
- echo " ${0} [-p|--play-now] [-h|--help]"
96
- exit 0
97
- ;;
98
- esac
99
- shift
100
- done
86
+ while [ $# -ge 1 ]; do
87
+ case " $1 " in
88
+ --)
89
+ start_ueberzug
90
+ start_fzf
91
+ exit 0
92
+ ;;
93
+ -p|--play-now)
94
+ start_mpv
95
+ exit 0
96
+ ;;
97
+ -h|--help)
98
+ echo " ${0} [-p|--play-now] [-h|--help]"
99
+ exit 0
100
+ ;;
101
+ esac
102
+ shift
103
+ done
0 commit comments