]> git.plutz.net Git - rawnet/blob - widgets.sh
For progress frame use chunked encoding instead of long poll
[rawnet] / widgets.sh
1 #!/bin/sh
2
3 ["$include_widgets" ] && return 0
4 include_widgets="$0"
5
6 . "$_EXEC/db_channel.sh"
7 . "$_EXEC/db_video.sh"
8
9 w_video(){
10   local thumb
11   eval "$LOCAL_VIDEO"
12
13   if read_video; then
14     VIDEO_LENGTH="${VIDEO_LENGTH%.*}"
15     [ "${VIDEO_STATUS}" = public ] || AUTHOR || return 0
16
17     thumb="${_BASE}/video/${CHANNEL_ID}/${VIDEO_ID}.thumb.jpg"
18     [ "$NAME" = \\ ] && NAME="(Unnamed Video)"
19     printf '[div .video .thumb
20               [a href="%s/channel/%s/%s/"
21                 [h3 . %s]
22                 [figure [img src="%s" alt=""]]
23                 [span .duration . %i:%02i]
24                 [div .description . %s]
25               ]
26             ]' "$_BASE" "$CHANNEL_ID" "$VIDEO_ID" \
27                "$(HTML "${VIDEO_NAME:-(Unnamed Video)}")" \
28                "$thumb" \
29                "$((VIDEO_LENGTH / 60))" "$((VIDEO_LENGTH % 60))" \
30                "$(UNSTRING "$DESCR_CACHE")"
31   else
32     return 1
33   fi
34 }
35
36 w_channel(){
37   eval "$LOCAL_CHANNEL"
38
39   if read_channel; then
40     cat <<-EOF
41         [div .channel
42           [div .description
43             [h2 [a href="${_BASE}/channel/${CHANNEL_ID}/" $(HTML "${CHANNEL_NAME:-(Unnamed Channel)}")]]
44             ${CHANNEL_DESCR_CACHE}
45           ]
46           $( list_videos |while w_video; do :; done; )
47         ]
48         EOF
49   else
50     return 1
51   fi
52 }