youtube: cleanup, shorten variable name for videos - frontends - front-ends for… | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 59471286810c9ef14f294bba649dd75a78e74c6a | |
parent e0461c105d8e02725c05d0cafd896fc54fb8be30 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Sat, 25 Feb 2023 19:48:59 +0100 | |
youtube: cleanup, shorten variable name for videos | |
Diffstat: | |
M youtube/cgi.c | 60 ++++++++++++++++-------------… | |
M youtube/cli.c | 68 ++++++++++++++++-------------… | |
M youtube/gopher.c | 60 ++++++++++++++++-------------… | |
3 files changed, 97 insertions(+), 91 deletions(-) | |
--- | |
diff --git a/youtube/cgi.c b/youtube/cgi.c | |
@@ -86,7 +86,7 @@ parsecgi(void) | |
int | |
render(struct search_response *r) | |
{ | |
- struct item *videos = r ? r->items : NULL; | |
+ struct item *v; | |
char tmp[64]; | |
size_t i; | |
@@ -141,14 +141,16 @@ render(struct search_response *r) | |
"<tbody>\n"); | |
for (i = 0; i < r->nitems; i++) { | |
+ v = &(r->items[0]); | |
+ | |
OUT("<tr class=\"v\">\n" | |
" <td class=\"thumb\" width=\"120\" align=\"cen… | |
- if (videos[i].id[0]) { | |
+ if (v->id[0]) { | |
OUT(" <a href=\"https://www.you… | |
- xmlencode(videos[i].id); | |
+ xmlencode(v->id); | |
OUT("\"><img src=\"https://i.ytimg.com/vi/"); | |
- xmlencode(videos[i].id); | |
+ xmlencode(v->id); | |
OUT("/default.jpg\" alt=\"\" height=\"90\" bor… | |
} else { | |
/* placeholder image */ | |
@@ -158,81 +160,81 @@ render(struct search_response *r) | |
" <td>\n" | |
" <span class=\"title\">"); | |
- if (videos[i].id[0]) { | |
+ if (v->id[0]) { | |
OUT("<a href=\"https://www.youtube.com/embed/"… | |
- xmlencode(videos[i].id); | |
+ xmlencode(v->id); | |
printf("\" accesskey=\"%zu\">", i); | |
} | |
- switch (videos[i].linktype) { | |
+ switch (v->linktype) { | |
case Channel: | |
OUT("[Channel] "); | |
- xmlencode(videos[i].channeltitle); | |
+ xmlencode(v->channeltitle); | |
break; | |
case Movie: | |
OUT("[Movie] "); | |
- xmlencode(videos[i].title); | |
+ xmlencode(v->title); | |
break; | |
case Playlist: | |
OUT("[Playlist] "); | |
- xmlencode(videos[i].title); | |
+ xmlencode(v->title); | |
break; | |
default: | |
- xmlencode(videos[i].title); | |
+ xmlencode(v->title); | |
break; | |
} | |
- if (videos[i].id[0]) | |
+ if (v->id[0]) | |
OUT("</a>"); | |
OUT( | |
"</span><br/>\n" | |
"\t\t<span class=\"channel\">"); | |
- if (videos[i].channelid[0]) { | |
+ if (v->channelid[0]) { | |
OUT("<a href=\"?chan="); | |
- xmlencode(videos[i].channelid); | |
+ xmlencode(v->channelid); | |
OUT("\">"); | |
- xmlencode(videos[i].channeltitle); | |
+ xmlencode(v->channeltitle); | |
OUT("</a>"); | |
- } else if (videos[i].userid[0]) { | |
+ } else if (v->userid[0]) { | |
OUT("<a href=\"?user="); | |
- xmlencode(videos[i].channelid); | |
+ xmlencode(v->channelid); | |
OUT("\">"); | |
- xmlencode(videos[i].channeltitle); | |
+ xmlencode(v->channeltitle); | |
OUT("</a>"); | |
} else { | |
- xmlencode(videos[i].channeltitle); | |
+ xmlencode(v->channeltitle); | |
} | |
- if (videos[i].channelid[0] || videos[i].userid[0]) { | |
+ if (v->channelid[0] || v->userid[0]) { | |
OUT(" | <a title=\""); | |
- xmlencode(videos[i].channeltitle); | |
+ xmlencode(v->channeltitle); | |
OUT(" Atom feed\" href=\"https://www.youtube.c… | |
- if (videos[i].channelid[0]) { | |
+ if (v->channelid[0]) { | |
OUT("channel_id="); | |
- xmlencode(videos[i].channelid); | |
- } else if (videos[i].userid[0]) { | |
+ xmlencode(v->channelid); | |
+ } else if (v->userid[0]) { | |
OUT("user="); | |
- xmlencode(videos[i].userid); | |
+ xmlencode(v->userid); | |
} | |
OUT("\">Atom feed</a>"); | |
} | |
OUT("</span><br/>\n"); | |
- if (videos[i].publishedat[0]) { | |
+ if (v->publishedat[0]) { | |
OUT(" <span class=\"publishedat… | |
- OUT(videos[i].publishedat); | |
+ OUT(v->publishedat); | |
OUT("</span><br/>\n"); | |
} | |
OUT(" <span class=\"stats\">"); | |
- OUT(videos[i].viewcount); | |
+ OUT(v->viewcount); | |
OUT( | |
"</span><br/>\n" | |
" </td>\n" | |
" <td align=\"right\" class=\"a-r\">\n" | |
" <span class=\"duration\">"); | |
- OUT(videos[i].duration); | |
+ OUT(v->duration); | |
OUT( | |
"</span>\n" | |
" </td>\n" | |
diff --git a/youtube/cli.c b/youtube/cli.c | |
@@ -48,39 +48,41 @@ printescape_multiline(const char *s, const char *indent) | |
int | |
render_search_tsv(struct search_response *r) | |
{ | |
- struct item *videos = r->items; | |
+ struct item *v; | |
size_t i; | |
for (i = 0; i < r->nitems; i++) { | |
- OUTESCAPE(videos[i].id); | |
+ v = &(r->items[i]); | |
+ | |
+ OUTESCAPE(v->id); | |
OUT("\t"); | |
- if (videos[i].id[0]) { | |
+ if (v->id[0]) { | |
OUT("https://www.youtube.com/embed/"); | |
- OUTESCAPE(videos[i].id); | |
+ OUTESCAPE(v->id); | |
} | |
OUT("\t"); | |
- OUTESCAPE(videos[i].title); | |
+ OUTESCAPE(v->title); | |
OUT("\t"); | |
- OUTESCAPE(videos[i].publishedat); | |
+ OUTESCAPE(v->publishedat); | |
OUT("\t"); | |
- OUTESCAPE(videos[i].viewcount); | |
+ OUTESCAPE(v->viewcount); | |
OUT("\t"); | |
- OUTESCAPE(videos[i].duration); | |
+ OUTESCAPE(v->duration); | |
OUT("\t"); | |
- switch (videos[i].linktype) { | |
+ switch (v->linktype) { | |
case Channel: OUT("channel"); break; | |
case Movie: OUT("movie"); break; | |
case Playlist: OUT("playlist"); break; | |
default: break; | |
} | |
OUT("\t"); | |
- OUTESCAPE(videos[i].channelid); | |
+ OUTESCAPE(v->channelid); | |
OUT("\t"); | |
- OUTESCAPE(videos[i].channeltitle); | |
+ OUTESCAPE(v->channeltitle); | |
OUT("\t"); | |
- OUTESCAPE(videos[i].userid); | |
+ OUTESCAPE(v->userid); | |
/* OUT("\t"); | |
- OUTESCAPE(videos[i].shortdescription); */ /* TODO: escape newl… | |
+ OUTESCAPE(v->shortdescription); */ /* TODO: escape newlines et… | |
OUT("\n"); | |
} | |
@@ -90,64 +92,64 @@ render_search_tsv(struct search_response *r) | |
int | |
render_search(struct search_response *r) | |
{ | |
- struct item *videos = r->items, *v; | |
+ struct item *v; | |
size_t i; | |
for (i = 0; i < r->nitems; i++) { | |
v = &(r->items[i]); | |
- switch (videos[i].linktype) { | |
+ switch (v->linktype) { | |
case Channel: | |
OUT("Channel: "); | |
- OUTESCAPE(videos[i].channeltitle); | |
+ OUTESCAPE(v->channeltitle); | |
break; | |
case Movie: | |
OUT("Movie: "); | |
- OUTESCAPE(videos[i].title); | |
+ OUTESCAPE(v->title); | |
break; | |
case Playlist: | |
OUT("Playlist: "); | |
- OUTESCAPE(videos[i].title); | |
+ OUTESCAPE(v->title); | |
break; | |
default: | |
OUT(" "); | |
- OUTESCAPE(videos[i].title); | |
+ OUTESCAPE(v->title); | |
break; | |
} | |
- if (videos[i].duration[0]) { | |
+ if (v->duration[0]) { | |
OUT(" ["); | |
- OUTESCAPE(videos[i].duration); | |
+ OUTESCAPE(v->duration); | |
OUT("]"); | |
} | |
OUT("\n"); | |
- if (videos[i].id[0]) { | |
+ if (v->id[0]) { | |
OUT("URL: https://www.youtube.com/embed/"); | |
- OUTESCAPE(videos[i].id); | |
+ OUTESCAPE(v->id); | |
OUT("\n"); | |
} | |
- if (videos[i].channelid[0] || videos[i].userid[0]) { | |
+ if (v->channelid[0] || v->userid[0]) { | |
OUT("Channel: "); | |
- OUTESCAPE(videos[i].channeltitle); | |
+ OUTESCAPE(v->channeltitle); | |
OUT(": https://www.youtube.com/feeds/videos.xml?"); | |
- if (videos[i].channelid[0]) { | |
+ if (v->channelid[0]) { | |
OUT("channel_id="); | |
- OUTESCAPE(videos[i].channelid); | |
- } else if (videos[i].userid[0]) { | |
+ OUTESCAPE(v->channelid); | |
+ } else if (v->userid[0]) { | |
OUT("user="); | |
- OUTESCAPE(videos[i].userid); | |
+ OUTESCAPE(v->userid); | |
} | |
OUT("\n"); | |
} | |
- if (videos[i].publishedat[0]) { | |
+ if (v->publishedat[0]) { | |
OUT("Published: "); | |
- OUTESCAPE(videos[i].publishedat); | |
+ OUTESCAPE(v->publishedat); | |
OUT("\n"); | |
} | |
- if (videos[i].viewcount[0]) { | |
+ if (v->viewcount[0]) { | |
OUT("Views: "); | |
- OUTESCAPE(videos[i].viewcount); | |
+ OUTESCAPE(v->viewcount); | |
OUT("\n"); | |
} | |
OUT("\n"); | |
diff --git a/youtube/gopher.c b/youtube/gopher.c | |
@@ -56,7 +56,7 @@ footer(void) | |
int | |
render(struct search_response *r) | |
{ | |
- struct item *videos = r->items; | |
+ struct item *v; | |
size_t i; | |
if (pledge("stdio", NULL) == -1) | |
@@ -65,81 +65,83 @@ render(struct search_response *r) | |
header(); | |
for (i = 0; i < r->nitems; i++) { | |
+ v = &(r->items[0]); | |
+ | |
if (i > 0) { | |
info(""); | |
info(""); | |
} | |
- if (videos[i].id[0]) | |
+ if (v->id[0]) | |
putchar('h'); | |
else | |
putchar('i'); | |
- switch (videos[i].linktype) { | |
+ switch (v->linktype) { | |
case Channel: | |
OUT("[Channel] "); | |
- OUTTEXT(videos[i].channeltitle); | |
+ OUTTEXT(v->channeltitle); | |
break; | |
case Movie: | |
OUT("[Movie] "); | |
- OUTTEXT(videos[i].title); | |
+ OUTTEXT(v->title); | |
break; | |
case Playlist: | |
OUT("[Playlist] "); | |
- OUTTEXT(videos[i].title); | |
+ OUTTEXT(v->title); | |
break; | |
default: | |
- OUTTEXT(videos[i].title); | |
+ OUTTEXT(v->title); | |
break; | |
} | |
OUT("\t"); | |
- if (videos[i].id[0]) { | |
+ if (v->id[0]) { | |
OUT("URL:https://www.youtube.com/embed/"); | |
- OUTLINK(videos[i].id); | |
+ OUTLINK(v->id); | |
} | |
printf("\t%s\t%s\r\n", host, port); | |
- if (videos[i].channelid[0]) { | |
+ if (v->channelid[0]) { | |
OUT("1"); | |
- OUT(videos[i].channeltitle); | |
- printf("\t%s?c=%s\t%s\t%s\r\n", requestpath, videos[i]… | |
- } else if (videos[i].userid[0]) { | |
+ OUT(v->channeltitle); | |
+ printf("\t%s?c=%s\t%s\t%s\r\n", requestpath, v->channe… | |
+ } else if (v->userid[0]) { | |
OUT("1"); | |
- OUT(videos[i].channeltitle); | |
- printf("\t%s?u=%s\t%s\t%s\r\n", requestpath, videos[i]… | |
- } else if (videos[i].channeltitle[0]) { | |
+ OUT(v->channeltitle); | |
+ printf("\t%s?u=%s\t%s\t%s\r\n", requestpath, v->userid… | |
+ } else if (v->channeltitle[0]) { | |
OUT("i"); | |
- OUT(videos[i].channeltitle); | |
+ OUT(v->channeltitle); | |
printf("\t%s\t%s\t%s\r\n", "", host, port); | |
} | |
- if (videos[i].channelid[0] || videos[i].userid[0]) { | |
+ if (v->channelid[0] || v->userid[0]) { | |
OUT("hAtom feed of "); | |
- OUTTEXT(videos[i].channeltitle); | |
+ OUTTEXT(v->channeltitle); | |
OUT("\t"); | |
OUTLINK("URL:https://www.youtube.com/feeds/videos.xml?… | |
- if (videos[i].channelid[0]) { | |
+ if (v->channelid[0]) { | |
OUT("channel_id="); | |
- OUTLINK(videos[i].channelid); | |
- } else if (videos[i].userid[0]) { | |
+ OUTLINK(v->channelid); | |
+ } else if (v->userid[0]) { | |
OUT("user="); | |
- OUTLINK(videos[i].userid); | |
+ OUTLINK(v->userid); | |
} | |
printf("\t%s\t%s\r\n", host, port); | |
} | |
- if (videos[i].duration[0]) { | |
+ if (v->duration[0]) { | |
OUT("iDuration: " ); | |
- OUTTEXT(videos[i].duration); | |
+ OUTTEXT(v->duration); | |
printf("\t%s\t%s\t%s\r\n", "", host, port); | |
} | |
- if (videos[i].publishedat[0]) { | |
+ if (v->publishedat[0]) { | |
OUT("iPublished: "); | |
- OUTTEXT(videos[i].publishedat); | |
+ OUTTEXT(v->publishedat); | |
printf("\t%s\t%s\t%s\r\n", "", host, port); | |
} | |
- if (videos[i].viewcount[0]) { | |
+ if (v->viewcount[0]) { | |
OUT("iViews: "); | |
- OUTTEXT(videos[i].viewcount); | |
+ OUTTEXT(v->viewcount); | |
printf("\t%s\t%s\t%s\r\n", "", host, port); | |
} | |
} |