aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-18 04:33:22 -0800
committerFuwn <[email protected]>2024-01-18 04:33:26 -0800
commitd2596243e3cffd356e02b2697c5902bc3fe03d74 (patch)
treeb62399bf609846cad5fba8214924c45268ab417d /src
parentfeat(bashly): add descriptions (diff)
downloadtama-d2596243e3cffd356e02b2697c5902bc3fe03d74.tar.xz
tama-d2596243e3cffd356e02b2697c5902bc3fe03d74.zip
feat: episodes and watch sub-commands
Diffstat (limited to 'src')
-rw-r--r--src/bashly.yml20
-rw-r--r--src/episodes_command.sh10
-rw-r--r--src/lib/print.sh2
-rw-r--r--src/watch_command.sh4
4 files changed, 35 insertions, 1 deletions
diff --git a/src/bashly.yml b/src/bashly.yml
index 81f8204..db88e52 100644
--- a/src/bashly.yml
+++ b/src/bashly.yml
@@ -17,4 +17,24 @@ commands:
args:
- name: query
repeatable: true
+ required: true
help: Search for a number of anime
+ - name: watch
+ alias: w
+ args:
+ - name: id
+ required: true
+ help: |
+ Found by either the trending, popular, upcoming, or search subcommand
+ - name: episode
+ required: true
+ help: Episode to watch
+ help: Watch an anime by episode
+ dependencies: [xdg-open]
+ - name: episodes
+ alias: e
+ args:
+ - name: id
+ required: true
+ help: An anime's episodes
+ dependencies: [head]
diff --git a/src/episodes_command.sh b/src/episodes_command.sh
new file mode 100644
index 0000000..5218081
--- /dev/null
+++ b/src/episodes_command.sh
@@ -0,0 +1,10 @@
+function episodes() {
+ echo
+
+ get "/episodes/${1}" |
+ jq -r '.[] | [.number, ". ", .title] | join("")' |
+ mdcat |
+ sed 's/^/ /'
+}
+
+episodes "${args[id]}"
diff --git a/src/lib/print.sh b/src/lib/print.sh
index 8c66ad6..1addd3d 100644
--- a/src/lib/print.sh
+++ b/src/lib/print.sh
@@ -2,7 +2,7 @@ function print() {
echo
get "${1}" |
- jq -r '.[] | ["[", .title.romaji, "](https://hiruki.xyz/i/", .id, ")"] | join("")' |
+ jq -r '.[] | ["[", .title.romaji, "](https://hiruki.xyz/i/", .id, ") • ", .id] | join("")' |
sed 's/^/* /' |
mdcat |
sed 's/^/ /'
diff --git a/src/watch_command.sh b/src/watch_command.sh
new file mode 100644
index 0000000..6c94bf0
--- /dev/null
+++ b/src/watch_command.sh
@@ -0,0 +1,4 @@
+xdg-open "$(get "/stream/$(get "/episodes/${args[id]}" |
+ jq -r ".[] | .id" |
+ head -n 1 |
+ sed -E 's/-episode-[0-9]+$//')-episode-1" | jq -r ".plyr.default")"