add last
This commit is contained in:
parent
48eec1f3ba
commit
da83a21b67
1
Makefile
1
Makefile
|
@ -42,6 +42,7 @@ epg: ${OBJS}
|
||||||
${CFLAGS} -o $@ \
|
${CFLAGS} -o $@ \
|
||||||
${OBJS} \
|
${OBJS} \
|
||||||
${LIBS}
|
${LIBS}
|
||||||
|
@strip epg
|
||||||
@echo "Done..."
|
@echo "Done..."
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
31
main.c
31
main.c
|
@ -20,9 +20,10 @@
|
||||||
#include "lint.h"
|
#include "lint.h"
|
||||||
|
|
||||||
int debug = 0;
|
int debug = 0;
|
||||||
const char *version = "1.0.5";
|
const char *version = "1.0.6";
|
||||||
unsigned long sysopts = 0;
|
unsigned long sysopts = 0;
|
||||||
unsigned long filterflags = 0;
|
unsigned long filterflags = 0;
|
||||||
|
static time_t latest_stamp = 0;
|
||||||
|
|
||||||
#ifdef HAVE_SQLITE3
|
#ifdef HAVE_SQLITE3
|
||||||
sqlite3 *db;
|
sqlite3 *db;
|
||||||
|
@ -68,7 +69,10 @@ syntax()
|
||||||
#ifdef HAVE_SQLITE3
|
#ifdef HAVE_SQLITE3
|
||||||
" sqlitedump <file> Create SQLite database from EPG data.\n"
|
" sqlitedump <file> Create SQLite database from EPG data.\n"
|
||||||
#endif
|
#endif
|
||||||
|
);
|
||||||
|
fprintf(stderr,
|
||||||
" now Show what is currently on.\n"
|
" now Show what is currently on.\n"
|
||||||
|
" last Show the time of the latest record.\n"
|
||||||
" parse Parse the EPG, no output.\n"
|
" parse Parse the EPG, no output.\n"
|
||||||
" search <text> Search programme names for text.\n"
|
" search <text> Search programme names for text.\n"
|
||||||
" searchall <text> "
|
" searchall <text> "
|
||||||
|
@ -91,6 +95,21 @@ pass(struct epg *epg __attribute__((unused)),
|
||||||
/* Do nothing. */
|
/* Do nothing. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
latest(struct epg *epg __attribute__((unused)),
|
||||||
|
struct section *s __attribute__((unused)),
|
||||||
|
struct data *d __attribute__((unused)),
|
||||||
|
struct descriptor **ds __attribute__((unused)),
|
||||||
|
void *var __attribute__((unused)))
|
||||||
|
{
|
||||||
|
time_t tm;
|
||||||
|
|
||||||
|
tm = mjd(d->start_date, d->start_hour, d->start_min, d->start_sec);
|
||||||
|
|
||||||
|
if (tm > latest_stamp)
|
||||||
|
latest_stamp = tm;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
dumpraw(struct epg *epg __attribute__((unused)),
|
dumpraw(struct epg *epg __attribute__((unused)),
|
||||||
struct section *s, struct data *d, struct descriptor **ds,
|
struct section *s, struct data *d, struct descriptor **ds,
|
||||||
|
@ -790,6 +809,11 @@ nextopt:
|
||||||
parse(epgpath, dump, NULL, filter);
|
parse(epgpath, dump, NULL, filter);
|
||||||
else if (!strcmp(argv[0], "parse"))
|
else if (!strcmp(argv[0], "parse"))
|
||||||
parse(epgpath, pass, NULL, filter);
|
parse(epgpath, pass, NULL, filter);
|
||||||
|
else if (!strcmp(argv[0], "last"))
|
||||||
|
{
|
||||||
|
parse(epgpath, latest, NULL, filter);
|
||||||
|
printf("%ld\n", latest_stamp);
|
||||||
|
}
|
||||||
else if (!strcmp(argv[0], "dumpraw"))
|
else if (!strcmp(argv[0], "dumpraw"))
|
||||||
parse(epgpath, dumpraw, NULL, filter);
|
parse(epgpath, dumpraw, NULL, filter);
|
||||||
else if (!strcmp(argv[0], "sqldump"))
|
else if (!strcmp(argv[0], "sqldump"))
|
||||||
|
@ -820,15 +844,18 @@ nextopt:
|
||||||
|
|
||||||
printf("epgd: DB time %ld, last %ld\n",
|
printf("epgd: DB time %ld, last %ld\n",
|
||||||
st.st_mtime, last);
|
st.st_mtime, last);
|
||||||
|
fflush(stdout);
|
||||||
if (st.st_mtime > last)
|
if (st.st_mtime > last)
|
||||||
{
|
{
|
||||||
time_t tm = time(NULL);
|
time_t tm = time(NULL);
|
||||||
printf("epgd: Regenerating.\n");
|
printf("epgd: Regenerating.\n");
|
||||||
|
fflush(stdout);
|
||||||
sqlitedumpstart(argv[1]);
|
sqlitedumpstart(argv[1]);
|
||||||
parse(epgpath, sqlitedump, NULL, filter);
|
parse(epgpath, sqlitedump, NULL, filter);
|
||||||
sqlitedumpend(argv[1]);
|
sqlitedumpend(argv[1]);
|
||||||
printf("epgd: Done in %d seconds.\n",
|
printf("epgd: Done in %ld seconds.\n",
|
||||||
time(NULL) - tm);
|
time(NULL) - tm);
|
||||||
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
last = st.st_mtime;
|
last = st.st_mtime;
|
||||||
sleep(900);
|
sleep(900);
|
||||||
|
|
Loading…
Reference in New Issue