Begin rewriting rss.cgi in perl using Blerg::Database
[blerg.git] / cgi / rss.c
diff --git a/cgi/rss.c b/cgi/rss.c
deleted file mode 100644 (file)
index f143e55..0000000
--- a/cgi/rss.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Blerg is (C) 2011 The Dominion of Awesome, and is distributed under a
- * BSD-style license.  Please see the COPYING file for details.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <cgi-util.h>
-#include "database.h"
-#include "escapery.h"
-#include "canned_responses.h"
-#include "app.h"
-#include "config.h"
-
-int fprint_rss(FILE *f, const char *username) {
-       struct blerg *b = blerg_open(username);
-       uint64_t record_count = blerg_get_record_count(b);
-       uint64_t i = (record_count > 50 ? record_count - 50 : 0);
-       char *data;
-       char *tmp;
-       time_t post_time;
-       char date[40];
-       int len;
-
-       fprintf(f,
-               "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n"
-               "<rss version=\"2.0\">\n"
-               "<channel>\n"
-               "<title>%s's blĂ«rg</title>\n"
-               "<link>%s#%s</link>\n"
-               "<description>%s</description>\n",
-               username,
-               BASEURL,
-               username,
-               "Textual vomit"
-       );
-
-       while (i < record_count) {
-               blerg_fetch(b, i, &data, &len);
-               tmp = xml_escape_data(data, len);
-               post_time = blerg_get_timestamp(b, i);
-               strftime(date, 39, "%a, %d %b %Y %H:%M:%S %Z", gmtime(&post_time));
-               fprintf(f,
-                       "<item>\n"
-                       "<pubDate>%s</pubDate>\n"
-                       "<guid>%sget/%s/%llu</guid>\n"
-                       "<description>%s</description>\n"
-                       "</item>\n",
-                       date,
-                       BASEURL, username, i,
-                       tmp
-               );
-               free(tmp);
-               free(data);
-               i++;
-       }
-       blerg_close(b);
-
-       fprintf(f,
-               "</channel>\n"
-               "</rss>\n"
-       );
-}
-
-int main (int argc, char *argv) {
-       char *path;
-       char *request_method;
-       int ret;
-       struct url_info info;
-
-       request_method = getenv("REQUEST_METHOD");
-       if (request_method == NULL) {
-               fprintf(stderr, "Request method is null!?\n");
-               exit(0);
-       }
-
-       if (strncmp(request_method, "GET", 4) != 0) {
-               respond_405();
-               exit(0);
-       }
-
-       path = getenv("PATH_INFO");
-       if (path == NULL) {
-               respond_404();
-               exit(0);
-       }
-
-       if (path[0] != '/') {
-               respond_404();
-               exit(0);
-       }
-
-       ret = parse_url_info(path + 1, &info);
-       if ((ret & URL_INFO_NAME) == 0) {
-               respond_404();
-               exit(0);
-       }
-
-       if (!blerg_exists(info.name)) {
-               respond_404();
-               exit(0);
-       }
-
-       printf("Content-type: application/rss+xml\r\n\r\n");
-
-       fprint_rss(stdout, info.name);
-
-}