From: <enl...@li...> - 2003-12-22 15:17:32
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Log Message: Initial import. Status: Vendor Tag: vendor Release Tags: start N misc/erss/AUTHORS N misc/erss/COPYING N misc/erss/ChangeLog N misc/erss/INSTALL N misc/erss/Makefile.am N misc/erss/Makefile.in N misc/erss/NEWS N misc/erss/README N misc/erss/TODO N misc/erss/acconfig.h N misc/erss/acinclude.m4 N misc/erss/aclocal.m4 N misc/erss/autogen.sh N misc/erss/build-stamp N misc/erss/config.guess N misc/erss/config.sub N misc/erss/configure N misc/erss/configure-stamp N misc/erss/configure.in N misc/erss/depcomp N misc/erss/install-sh N misc/erss/missing N misc/erss/mkinstalldirs N misc/erss/debian/changelog N misc/erss/debian/control N misc/erss/debian/copyright N misc/erss/debian/dirs N misc/erss/debian/docs N misc/erss/debian/rules N misc/erss/debian/.cvsignore N misc/erss/data/Makefile.am N misc/erss/data/Makefile.in N misc/erss/data/default.edc N misc/erss/data/fonts/20thcent.ttf N misc/erss/data/fonts/sinon.ttf N misc/erss/data/fonts/Makefile.in N misc/erss/data/fonts/Makefile.am N misc/erss/data/fonts/Vera.ttf N misc/erss/data/config/bbc_science.cfg N misc/erss/data/config/kottke.cfg N misc/erss/data/config/metafilter.cfg N misc/erss/data/config/osnews.cfg N misc/erss/data/config/radius.cfg N misc/erss/data/config/slashdot.cfg N misc/erss/data/config/smartmobs.cfg N misc/erss/data/config/Makefile.am N misc/erss/data/config/Makefile.in N misc/erss/data/config/vg.cfg N misc/erss/data/config/handyande.cfg N misc/erss/src/Makefile.am N misc/erss/src/config.h.in N misc/erss/src/erss.c N misc/erss/src/Makefile.in N misc/erss/src/stamp-h.in N misc/erss/src/erss.h N misc/erss/src/parse.c N misc/erss/src/parse.h No conflicts created by this import |
From: <enl...@li...> - 2003-12-22 15:20:49
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Modified Files: README aclocal.m4 Log Message: added some notes in README =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- README 22 Dec 2003 15:16:52 -0000 1.1.1.1 +++ README 22 Dec 2003 15:20:47 -0000 1.2 @@ -9,6 +9,10 @@ USAGE: erss /usr/local/share/erss/config/osnews.cfg + +NOTE: +If the slashdot.cfg is not working try HandyAndE's mirror (handyande.cfg). + For testing you can use the config files named radius.cfg. (You risk getting banned if you hammer /. every 5th min for a period of time) =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/aclocal.m4,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- aclocal.m4 22 Dec 2003 15:16:56 -0000 1.1.1.1 +++ aclocal.m4 22 Dec 2003 15:20:47 -0000 1.2 @@ -50,7 +50,7 @@ dnl (shamelessly stolen from gtk.m4 and then hacked around a fair amount) dnl dnl @author Angus Lees <gu...@cs...> -dnl @version $Id: aclocal.m4,v 1.1.1.1 2003/12/22 15:16:56 sarajervi Exp $ +dnl @version $Id: aclocal.m4,v 1.2 2003/12/22 15:20:47 sarajervi Exp $ AC_DEFUN(AC_PATH_GENERIC, [dnl |
From: <enl...@li...> - 2003-12-22 15:25:06
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Modified Files: Makefile.in Removed Files: aclocal.m4 Log Message: remove file that is not supposed to be in cvs =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/Makefile.in,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- Makefile.in 22 Dec 2003 15:16:52 -0000 1.1.1.1 +++ Makefile.in 22 Dec 2003 15:25:04 -0000 1.2 @@ -89,8 +89,9 @@ CONFIG_HEADER = ./src/config.h CONFIG_CLEAN_FILES = DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ -Makefile.in NEWS TODO acinclude.m4 aclocal.m4 config.guess config.sub \ -configure configure.in install-sh missing mkinstalldirs +Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 config.guess \ +config.sub configure configure.in install-sh missing mkinstalldirs \ +src/config.h.in src/stamp-h.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) @@ -114,6 +115,34 @@ $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) +src/config.h: src/stamp-h + @if test ! -f $@; then \ + rm -f src/stamp-h; \ + $(MAKE) src/stamp-h; \ + else :; fi +src/stamp-h: $(srcdir)/src/config.h.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES= CONFIG_HEADERS=src/config.h \ + $(SHELL) ./config.status + @echo timestamp > src/stamp-h 2> /dev/null +$(srcdir)/src/config.h.in: $(srcdir)/src/stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/src/stamp-h.in; \ + $(MAKE) $(srcdir)/src/stamp-h.in; \ + else :; fi +$(srcdir)/src/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + @echo timestamp > $(srcdir)/src/stamp-h.in 2> /dev/null + +mostlyclean-hdr: + +clean-hdr: + +distclean-hdr: + -rm -f src/config.h + +maintainer-clean-hdr: + # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -304,32 +333,32 @@ maintainer-clean-generic: -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -mostlyclean-am: mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-recursive -clean-am: clean-tags clean-generic mostlyclean-am +clean-am: clean-hdr clean-tags clean-generic mostlyclean-am clean: clean-recursive -distclean-am: distclean-tags distclean-generic clean-am +distclean-am: distclean-hdr distclean-tags distclean-generic clean-am distclean: distclean-recursive -rm -f config.status -maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ - distclean-am +maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ + maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-recursive -rm -f config.status -.PHONY: install-data-recursive uninstall-data-recursive \ -install-exec-recursive uninstall-exec-recursive installdirs-recursive \ -uninstalldirs-recursive all-recursive check-recursive \ -installcheck-recursive info-recursive dvi-recursive \ -mostlyclean-recursive distclean-recursive clean-recursive \ +.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +install-data-recursive uninstall-data-recursive install-exec-recursive \ +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +all-recursive check-recursive installcheck-recursive info-recursive \ +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ |
From: <enl...@li...> - 2003-12-22 16:36:38
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data/config Removed Files: Makefile.in Log Message: Makefile.in is not supposed to be in cvs either |
From: <enl...@li...> - 2003-12-22 16:36:38
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Removed Files: Makefile.in Log Message: Makefile.in is not supposed to be in cvs either |
From: <enl...@li...> - 2003-12-22 16:36:38
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data Removed Files: Makefile.in Log Message: Makefile.in is not supposed to be in cvs either |
From: <enl...@li...> - 2003-12-22 16:36:38
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Removed Files: Makefile.in Log Message: Makefile.in is not supposed to be in cvs either |
From: <enl...@li...> - 2003-12-22 16:36:38
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data/fonts Removed Files: Makefile.in Log Message: Makefile.in is not supposed to be in cvs either |
From: <enl...@li...> - 2003-12-22 21:00:08
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c parse.c parse.h Log Message: Added code to make sure the config file is valid. Also added description parsing, but it still has nowhere to display. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- erss.c 22 Dec 2003 15:17:29 -0000 1.1.1.1 +++ erss.c 22 Dec 2003 21:00:05 -0000 1.2 @@ -20,18 +20,24 @@ int erss_connect (void *data) { - - if (!strcasecmp (cfg->proxy, "")) { - server = ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, - cfg->hostname, 80, NULL); - } else { - if (!cfg->proxy_port) - { - fprintf (stderr, "ERROR: You need to define a proxy port!\n"); - exit (-1); + server = NULL; + + if (cfg->proxy) { + if (!strcasecmp (cfg->proxy, "")) { + server = ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, + cfg->hostname, 80, NULL); + } else { + if (!cfg->proxy_port) + { + fprintf (stderr, "ERROR: You need to define a proxy port!\n"); + exit (-1); + } + server = ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, + cfg->proxy, cfg->proxy_port, NULL); } + } else { server = ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, - cfg->proxy, cfg->proxy_port, NULL); + cfg->hostname, 80, NULL); } if (!server) { @@ -41,6 +47,8 @@ if (last_time) free (last_time); + else + printf ("Erss: conneting to %s\n", cfg->url); last_time = strdup (time_format ()); set_time (NULL); @@ -103,7 +111,6 @@ free (str); - return TRUE; } @@ -268,6 +275,11 @@ Article *item = data; char c[1024]; + if (!cfg->browser) { + fprintf (stderr, "Erss error: you have not defined any browser in your config file setting /usr/bin/mozilla as default\n"); + cfg->browser = strdup ("/usr/bin/mozilla"); + } + snprintf (c, sizeof (c), "%s %s", cfg->browser, item->url); ecore_exe_run (c, NULL); } @@ -275,18 +287,14 @@ void cb_mouse_in (void *data, Evas *e, Evas_Object *obj, void *event_info) { - printf ("In\n"); - edje_object_signal_emit (obj, "over", "header"); + } void cb_mouse_out (void *data, Evas *e, Evas_Object *obj, void *event_info) { - printf ("out\n"); - edje_object_signal_emit (obj, "default", "header"); -} - +} int main (int argc, const char **argv) @@ -304,6 +312,37 @@ } parse_config_file ((char *) argv[1]); + + if (!cfg->hostname) { + fprintf (stderr, "Erss error: No hostname defined!\n"); + exit (-1); + } + + if (!cfg->url) { + fprintf (stderr, "Erss error: No url defined!\n"); + exit (-1); + } + + if (!cfg->num_stories) { + fprintf (stderr, "Erss error: you need to define number " + "of stories to display in your config file\n"); + exit (-1); + } + + if (!cfg->item_start) { + fprintf (stderr, "Erss error: you need to define item_start in your config file\n"); + exit (-1); + } + + if (!cfg->item_title) { + fprintf (stderr, "Erss error: you need to define item_title in your config file\n"); + exit (-1); + } + + if (!cfg->update_rate) { + fprintf (stderr, "Erss error: you need to define update_rate in your config file\n"); + exit (-1); + } ecore_init (); @@ -402,17 +441,6 @@ e_container_element_append(cont, tid); } - if (!cfg->hostname) - { - fprintf (stderr, "ERROR: No hostname defined!\n"); - exit (-1); - } - - if (!cfg->url) - { - fprintf (stderr, "ERROR: No url defined!\n"); - exit (-1); - } erss_connect (NULL); ecore_timer_add (cfg->update_rate, erss_connect, NULL); =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- parse.c 22 Dec 2003 15:17:31 -0000 1.1.1.1 +++ parse.c 22 Dec 2003 21:00:05 -0000 1.2 @@ -138,25 +138,32 @@ * We have a new story, allocate an item for it */ item = malloc (sizeof (Article *)); + item->description = NULL; + item->url = NULL; return; } if (get_end_story (buf)) { + /* + if (item->description) + printf ("[%s]\n", item->description); + */ - ewd_list_append (list, item); + ewd_list_append (list, item); - return; + return; } + /* If the item is not allocated then we dont have a + * real story. So return with an error + */ + if (!item) + return; + if ((c = get_element (&buf, cfg->item_title)) != NULL) { - /* If the item is not allocated then we dont have a - * real story. So return with an error - */ - if (!item) - return; for (i = 0; i < 2; i++) c = remove_garbage (c, garbage[i]); @@ -189,13 +196,12 @@ free (c); free (text); + + return; } if ((c = get_element (&buf, cfg->item_url)) != NULL) { - if (!item) - return; - item->url = strdup (c); edje_object_signal_callback_add (item->obj, "exec*", "*", @@ -204,7 +210,18 @@ edje_object_signal_emit (item->obj, "mouse,out", "article"); free (c); + return; } + + if ((c = get_element (&buf, cfg->item_description)) != NULL) + { + item->description = strdup (c); + + free (c); + return; + } + + } char *get_next_line (FILE * fp) @@ -288,6 +305,12 @@ if ((c = get_element (&line, "item_url")) != NULL) { cfg->item_url = strdup (c); + continue; + } + + if ((c = get_element (&line, "item_description")) != NULL) + { + cfg->item_description = strdup (c); continue; } =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- parse.h 22 Dec 2003 15:17:31 -0000 1.1.1.1 +++ parse.h 22 Dec 2003 21:00:05 -0000 1.2 @@ -2,6 +2,7 @@ Evas_Object *obj; char *url; + char *description; } Article; typedef struct _config { @@ -12,6 +13,7 @@ char *item_start; char *item_title; char *item_url; + char *item_description; int update_rate; int clock; |
From: <enl...@li...> - 2003-12-22 21:00:42
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data/config Modified Files: Makefile.am handyande.cfg Added Files: itavisen.cfg Log Message: Added code to make sure the config file is valid. Also added description parsing, but it still has nowhere to display. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/data/config/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- Makefile.am 22 Dec 2003 15:17:28 -0000 1.1.1.1 +++ Makefile.am 22 Dec 2003 21:00:04 -0000 1.2 @@ -8,5 +8,7 @@ radius.cfg \ slashdot.cfg \ vg.cfg \ -handyande.cfg +handyande.cfg \ +itavisen.cfg + =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/data/config/handyande.cfg,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- handyande.cfg 22 Dec 2003 15:17:29 -0000 1.1.1.1 +++ handyande.cfg 22 Dec 2003 21:00:04 -0000 1.2 @@ -6,10 +6,11 @@ <item_start>item</item_start> <item_title>title</item_title> <item_url>link</item_url> +<item_description>description</item_description> <!-- Defined in seconds. Do not use less then 1800 1or else you will get yourself banned from slashdot.org! --> -<update_rate>1</update_rate> +<update_rate>15</update_rate> <!-- Display clock / timer 1 = Yes |
From: <enl...@li...> - 2003-12-25 20:16:10
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c erss.h parse.c Log Message: Added argument parsing and the ability to list available config files =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- erss.c 22 Dec 2003 21:00:05 -0000 1.2 +++ erss.c 25 Dec 2003 20:16:06 -0000 1.3 @@ -11,6 +11,7 @@ Evas_Object *bg; Evas_Object *cont; Evas_Object *tid; +Ewd_List *config_files; char *main_buffer; char *last_time; @@ -142,11 +143,19 @@ if (list) { ptr = ewd_list_goto_first (list); while ((ptr = ewd_list_next(list))) { + + /* + * Remove the evas object from the list + * and destory it. + */ e_container_element_destroy (cont, ptr->obj); if (ptr->url) free (ptr->url); + if (ptr->description) + free (ptr->description); + free (ptr); } } @@ -296,22 +305,137 @@ } +int erss_alphasort (const void *a, const void *b) +{ + struct dirent **ad = (struct dirent **)a; + struct dirent **bd = (struct dirent **)b; + return (strcmp((*bd)->d_name, (*ad)->d_name)); +} -int main (int argc, const char **argv) +void list_config_files () +{ + char *str; + char *ptr; + Ewd_List *paths; + struct dirent **dentries; + struct stat statbuf; + int num, i; + char file[PATH_MAX]; + + paths = ewd_list_new (); + config_files = ewd_list_new (); + + str = malloc (PATH_MAX); + snprintf (str, PATH_MAX, "%s/.%s/config", + getenv("HOME"), PACKAGE); + ewd_list_append (paths, str); + + str = malloc (PATH_MAX); + snprintf (str, PATH_MAX, "/usr/local/share/%s/config", + PACKAGE); + ewd_list_append (paths, str); + + str = malloc (PATH_MAX); + snprintf (str, PATH_MAX, "/usr/share/%s/config", + PACKAGE); + ewd_list_append (paths, str); + + printf ("\n%s processing potential dirs ...\n", PACKAGE); + + ptr = ewd_list_goto_first (paths); + while ((ptr = ewd_list_current (paths))) { + printf ("\nLookin in %s:\n", ptr); + + i = stat (ptr, &statbuf); + + if (S_ISDIR(statbuf.st_mode)) { + + if ((num = scandir(ptr, &dentries, 0, erss_alphasort)) < 0) + perror("erss - scandir"); + + while (num--) { + snprintf(file, PATH_MAX, "%s/%s", ptr, dentries[num]->d_name); + + i = stat (file, &statbuf); + if (i == -1) { + perror("erss - stat 1"); + continue; + } + + if (S_ISDIR(statbuf.st_mode)) + continue; + + if (strstr (dentries[num]->d_name, ".cfg")) { + printf ("\t%s\n", file); + ewd_list_append (config_files, file); + } + } + } else { + printf ("\tNo such dir\n"); + } + + ewd_list_next (paths); + } + + /* + * Finished reading and printing avaliable config files + * now remove the paths list since we don't need it anyumore. + */ + ptr = ewd_list_goto_first (paths); + while ((ptr = ewd_list_current (paths))) { + if (ptr) + free (ptr); + + ewd_list_next (paths); + } + + ewd_list_destroy (paths); +} + +int main (int argc, const char *argv[]) { Evas_Object *header; int x, y, w, h; int height; int width; - - - if (argc < 2) { - fprintf (stderr, "Usage: erss feedconfig.cfg\n"); - fprintf (stderr, "Example config files in the config/ folder.\n"); - exit (-1); + int c = 0; + + while((c = getopt (argc, argv, "cvhl")) != -1) + { + switch (c) { + case 'l': + list_config_files (); + exit (-1); + case 'c': + + if(optind >= argc) { + fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); + fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); + exit (-1); + } + parse_config_file ((char *) argv[optind]); + + break; + case 'v': + printf ("%s %s\n", PACKAGE, VERSION); + exit (-1); + case 'h': + printf ("Usage: %s [OPTION] ...\n\n", PACKAGE); + + printf (" -c CONFIG \t specify a config file\n"); + printf (" -l \t list avaliable config files\n"); + printf (" -h \t display this help and exit\n"); + printf (" -v \t display %s version\n\n", PACKAGE); + exit (-1); + default: + fprintf (stderr, "\nUsage: %s [OPTION] ...\n", PACKAGE); + fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); + exit (-1); + break; + } + } - parse_config_file ((char *) argv[1]); if (!cfg->hostname) { fprintf (stderr, "Erss error: No hostname defined!\n"); =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- erss.h 22 Dec 2003 15:17:30 -0000 1.1.1.1 +++ erss.h 25 Dec 2003 20:16:06 -0000 1.2 @@ -15,6 +15,8 @@ #include <X11/Xatom.h> #include <X11/Xlib.h> #include <Imlib2.h> +#include <unistd.h> +#include <dirent.h> #include <netdb.h> #include <sys/types.h> =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- parse.c 22 Dec 2003 21:00:05 -0000 1.2 +++ parse.c 25 Dec 2003 20:16:06 -0000 1.3 @@ -264,7 +264,7 @@ if ((fp = fopen (file, "r")) == NULL) { - fprintf (stderr, "ERROR: Can't open config file\n"); + fprintf (stderr, "Erss error: Can't open config file\n"); exit (-1); } |
From: <enl...@li...> - 2003-12-25 20:19:11
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c Log Message: woops... forgot this check =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- erss.c 25 Dec 2003 20:16:06 -0000 1.3 +++ erss.c 25 Dec 2003 20:19:02 -0000 1.4 @@ -436,6 +436,12 @@ } + if(optind >= argc) { + fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); + fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); + exit (-1); + } + if (!cfg->hostname) { fprintf (stderr, "Erss error: No hostname defined!\n"); |
From: <enl...@li...> - 2003-12-25 20:25:45
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Modified Files: README Log Message: and make readme reflect changes in the source =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- README 22 Dec 2003 15:20:47 -0000 1.2 +++ README 25 Dec 2003 20:25:41 -0000 1.3 @@ -7,7 +7,8 @@ make install USAGE: -erss /usr/local/share/erss/config/osnews.cfg +erss -h +erss -c /usr/local/share/erss/config/osnews.cfg NOTE: @@ -20,5 +21,5 @@ http://blogs.law.harvard.edu/tech/directory/5/feeds If you do make a config for a feed and want to share it with us -please e-mail Martin Sarajervi ms...@kl... +please e-mail Martin Sarajervi <ms...@kl...> |
From: <enl...@li...> - 2003-12-25 22:06:28
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c parse.c parse.h Log Message: Added another argument - now possible to specify what theme to use. Another new feature is the rc file. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- erss.c 25 Dec 2003 20:19:02 -0000 1.4 +++ erss.c 25 Dec 2003 22:06:27 -0000 1.5 @@ -399,8 +399,18 @@ int height; int width; int c = 0; + + int got_config_file = FALSE; + int got_theme_file = FALSE; + int got_rc_file = FALSE; + char config_file[PATH_MAX]; + char theme_file[PATH_MAX]; + + struct stat statbuf; + + cfg = NULL; - while((c = getopt (argc, argv, "cvhl")) != -1) + while ((c = getopt (argc, argv, "cvhlt")) != -1) { switch (c) { case 'l': @@ -413,8 +423,12 @@ fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); exit (-1); } - parse_config_file ((char *) argv[optind]); - + got_config_file = TRUE; + snprintf (config_file, PATH_MAX, "%s", (char *) argv[optind]); + break; + case 't': + got_theme_file = TRUE; + snprintf (theme_file, PATH_MAX, "%s", (char *) argv[optind]); break; case 'v': printf ("%s %s\n", PACKAGE, VERSION); @@ -422,27 +436,48 @@ case 'h': printf ("Usage: %s [OPTION] ...\n\n", PACKAGE); - printf (" -c CONFIG \t specify a config file\n"); - printf (" -l \t list avaliable config files\n"); + printf (" -c CONFIG \t specify a config file (required)\n"); + printf (" -l \t list avaliable config files\n\n"); + printf (" -t THEME \t specify an edje theme file (.eet)\n"); + printf (" \t else the default will be used.\n\n"); printf (" -h \t display this help and exit\n"); printf (" -v \t display %s version\n\n", PACKAGE); exit (-1); default: - fprintf (stderr, "\nUsage: %s [OPTION] ...\n", PACKAGE); - fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); - exit (-1); break; } } - if(optind >= argc) { - fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); - fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); + if (parse_rc_file ()) + got_rc_file = TRUE; + + if(!got_config_file) { + if (!got_rc_file) { + fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); + fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); + exit (-1); + } else { + parse_config_file (rc->config); + } + } else { + parse_config_file (config_file); + } + + if (!got_theme_file) + if (!got_rc_file) + cfg->theme = strdup (PACKAGE_DATA_DIR"/default.eet"); + else + cfg->theme = strdup (rc->theme); + else + cfg->theme = strdup (theme_file); + + stat (cfg->theme, &statbuf); + if (!S_ISREG(statbuf.st_mode)) { + printf ("Erss error: themefile '%s' does not exist!\n"); exit (-1); } - if (!cfg->hostname) { fprintf (stderr, "Erss error: No hostname defined!\n"); exit (-1); @@ -555,7 +590,7 @@ if (cfg->header) { header = edje_object_add (evas); - edje_object_file_set (header, PACKAGE_DATA_DIR"/default.eet", "erss"); + edje_object_file_set (header, cfg->theme, "erss"); edje_object_part_text_set (header, "header", cfg->header); evas_object_show (header); @@ -564,7 +599,7 @@ if (cfg->clock) { tid = edje_object_add (evas); - edje_object_file_set (tid, PACKAGE_DATA_DIR"/default.eet", "erss_clock"); + edje_object_file_set (tid, cfg->theme, "erss_clock"); edje_object_part_text_set (tid, "clock", ""); evas_object_show (tid); =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- parse.c 25 Dec 2003 20:16:06 -0000 1.3 +++ parse.c 25 Dec 2003 22:06:27 -0000 1.4 @@ -4,6 +4,7 @@ Ewd_List *list = NULL; Article *item = NULL; Config *cfg = NULL; +Rc_Config *rc = NULL; char *get_element (char **buffer, char *type) @@ -180,7 +181,7 @@ item->obj = edje_object_add (evas); edje_object_file_set (item->obj, - PACKAGE_DATA_DIR"/default.eet", "erss_item"); + cfg->theme, "erss_item"); if (text) edje_object_part_text_set (item->obj, "article", text); @@ -254,6 +255,50 @@ buf = realloc (buf, strlen (buf) ? strlen (buf) : 1); return buf; +} + +int parse_rc_file () +{ + FILE *fp; + char *line; + char *c; + char file[PATH_MAX]; + + snprintf (file, PATH_MAX, "%s/.erssrc", getenv ("HOME")); + + fp = fopen (file, "r"); + if (!fp) + return FALSE; + + rc = malloc (sizeof (Rc_Config)); + + while ((line = get_next_line (fp)) != NULL) + { + if ((c = get_element (&line, "config")) != NULL) + { + rc->config = strdup (c); + continue; + } + + if ((c = get_element (&line, "theme")) != NULL) + { + rc->theme = strdup (c); + continue; + } + + } + + free (line); + fclose (fp); + + if (rc->theme && rc->config) + return TRUE; + else { + fprintf (stderr, + "Erss error: you are missing something in your rc file!\n\n"); + } + + return FALSE; } void parse_config_file (char *file) =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- parse.h 22 Dec 2003 21:00:05 -0000 1.2 +++ parse.h 25 Dec 2003 22:06:27 -0000 1.3 @@ -28,11 +28,21 @@ int proxy_port; char *browser; char *prefix; + + char *theme; + char *config; } Config; +typedef struct _rc_config { + char *config; + char *theme; +} Rc_Config; + +int parse_rc_file (); void parse_data (char *buf); void parse_config_file (char *file); extern int objects_placed; extern Config *cfg; extern Article *item; +extern Rc_Config *rc; |
From: <enl...@li...> - 2003-12-25 22:06:59
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Modified Files: README Log Message: Added another argument - now possible to specify what theme to use. Another new feature is the rc file. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/README,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- README 25 Dec 2003 20:25:41 -0000 1.3 +++ README 25 Dec 2003 22:06:27 -0000 1.4 @@ -10,6 +10,9 @@ erss -h erss -c /usr/local/share/erss/config/osnews.cfg +If you want to set some default settings look at the example +erssrc file in your data/ dir. Make your changes and +put it in ~/.erssrc NOTE: If the slashdot.cfg is not working try HandyAndE's mirror (handyande.cfg). |
From: <enl...@li...> - 2003-12-25 22:06:59
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data Modified Files: Makefile.am Added Files: erssrc white.edc Log Message: Added another argument - now possible to specify what theme to use. Another new feature is the rc file. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/data/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -3 -r1.1.1.1 -r1.2 --- Makefile.am 22 Dec 2003 15:17:08 -0000 1.1.1.1 +++ Makefile.am 25 Dec 2003 22:06:27 -0000 1.2 @@ -1,6 +1,6 @@ SUBDIRS = fonts config -EDCS = default.edc +EDCS = default.edc white.edc EETS = $(EDCS:%.edc=%.eet) |
From: <enl...@li...> - 2003-12-25 22:46:44
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c Log Message: shutup a warning =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- erss.c 25 Dec 2003 22:06:27 -0000 1.5 +++ erss.c 25 Dec 2003 22:46:43 -0000 1.6 @@ -30,7 +30,8 @@ } else { if (!cfg->proxy_port) { - fprintf (stderr, "ERROR: You need to define a proxy port!\n"); + fprintf (stderr, + "%s error: You need to define a proxy port!\n", PACKAGE); exit (-1); } server = ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, @@ -42,14 +43,14 @@ } if (!server) { - fprintf (stderr, "ERROR: Could not connect to server ..\n"); + fprintf (stderr, "%s error: Could not connect to server ..\n", PACKAGE); exit (-1); } if (last_time) free (last_time); else - printf ("Erss: conneting to %s\n", cfg->url); + printf ("%s: conneting to %s\n", PACKAGE, cfg->url); last_time = strdup (time_format ()); set_time (NULL); @@ -120,11 +121,11 @@ Ecore_Event_Signal_Exit *e = ev; if (e->interrupt) - printf ("exit: interrupt\n"); + printf ("%s exit: interrupt\n", PACKAGE); if (e->quit) - printf ("exit: quit\n"); + printf ("%s exit: quit\n", PACKAGE); if (e->terminate) - printf ("exit: terminate\n"); + printf ("%s exit: terminate\n", PACKAGE); ecore_main_loop_quit (); @@ -285,7 +286,7 @@ char c[1024]; if (!cfg->browser) { - fprintf (stderr, "Erss error: you have not defined any browser in your config file setting /usr/bin/mozilla as default\n"); + fprintf (stderr, "%s error: you have not defined any browser in your config file setting /usr/bin/mozilla as default\n", PACKAGE); cfg->browser = strdup ("/usr/bin/mozilla"); } @@ -371,7 +372,7 @@ } } } else { - printf ("\tNo such dir\n"); + printf ("\tno such dir ..\n"); } ewd_list_next (paths); @@ -392,7 +393,7 @@ ewd_list_destroy (paths); } -int main (int argc, const char *argv[]) +int main (int argc, char * const argv[]) { Evas_Object *header; int x, y, w, h; @@ -474,38 +475,40 @@ stat (cfg->theme, &statbuf); if (!S_ISREG(statbuf.st_mode)) { - printf ("Erss error: themefile '%s' does not exist!\n"); + printf ("%s error: themefile '%s' does not exist!\n", PACKAGE, cfg->theme); exit (-1); } if (!cfg->hostname) { - fprintf (stderr, "Erss error: No hostname defined!\n"); + fprintf (stderr, "%s error: No hostname defined!\n", PACKAGE); exit (-1); } if (!cfg->url) { - fprintf (stderr, "Erss error: No url defined!\n"); + fprintf (stderr, "%s error: No url defined!\n", PACKAGE); exit (-1); } if (!cfg->num_stories) { - fprintf (stderr, "Erss error: you need to define number " - "of stories to display in your config file\n"); + fprintf (stderr, "%s error: you need to define number " + "of stories to display in your config file\n", PACKAGE); exit (-1); } if (!cfg->item_start) { - fprintf (stderr, "Erss error: you need to define item_start in your config file\n"); + fprintf (stderr, + "%s error: you need to define item_start in your config file\n", + PACKAGE); exit (-1); } if (!cfg->item_title) { - fprintf (stderr, "Erss error: you need to define item_title in your config file\n"); + fprintf (stderr, "%s error: you need to define item_title in your config file\n", PACKAGE); exit (-1); } if (!cfg->update_rate) { - fprintf (stderr, "Erss error: you need to define update_rate in your config file\n"); + fprintf (stderr, "%s error: you need to define update_rate in your config file\n", PACKAGE); exit (-1); } @@ -513,7 +516,7 @@ if (!ecore_con_init ()) return -1; - ecore_app_args_set (argc, argv); + ecore_app_args_set (argc, (const char **) argv); if (!ecore_evas_init ()) return -1; |
From: <enl...@li...> - 2003-12-26 01:54:47
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c Log Message: more debugging, more checks, display connection information on first connect =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- erss.c 25 Dec 2003 22:46:43 -0000 1.6 +++ erss.c 26 Dec 2003 01:54:45 -0000 1.7 @@ -17,11 +17,26 @@ char *last_time; int bufsize = 0; +int waiting_for_reply = FALSE; +int total_connects = 0; int erss_connect (void *data) { + + if (waiting_for_reply) { + fprintf (stderr, "%s warning: client has not recived all information ", + PACKAGE); + fprintf (stderr, "from the last connection attempt yet! \n"); + return TRUE; + } + server = NULL; + + if (last_time) + free (last_time); + else + printf ("%s info: connecting to '%s' ...\n", PACKAGE, cfg->url); if (cfg->proxy) { if (!strcasecmp (cfg->proxy, "")) { @@ -47,11 +62,7 @@ exit (-1); } - if (last_time) - free (last_time); - else - printf ("%s: conneting to %s\n", PACKAGE, cfg->url); - + total_connects++; last_time = strdup (time_format ()); set_time (NULL); @@ -177,11 +188,17 @@ /* * We want to be connected before sending the request. */ + + if (total_connects == 1) + printf ("%s info: sending HTTP request ...\n", PACKAGE); + snprintf (c, sizeof (c), "GET %s HTTP/1.0\r\n", cfg->url); ecore_con_server_send (server, c, strlen (c)); snprintf (c, sizeof (c), "Host: %s \r\n\r\n", cfg->hostname); ecore_con_server_send (server, c, strlen (c)); + waiting_for_reply = TRUE; + return 1; } @@ -189,6 +206,9 @@ { Ecore_Con_Event_Server_Data *e = event; + if (total_connects == 1) + printf ("%s info: reciving data ...\n", PACKAGE); + /* * Read everything we recive into one big buffer, and handle * that buffer when the server disconnects. @@ -205,6 +225,9 @@ Ecore_Con_Event_Server_Del *e = event; char *leader; + if (total_connects == 1) + printf ("%s info: disconnecting ...\n", PACKAGE); + /* * Now split our main buffer in each newline and then parse * the line. @@ -231,16 +254,27 @@ ecore_con_server_del (e->server); server = NULL; - if (!list) { - printf ("Erss: error parsing data\n"); - printf ("------------------------\n"); - printf ("%s\n", main_buffer); + if (ewd_list_is_empty (list)) { + printf ("\n%s error: parsing data\n", PACKAGE); + if (main_buffer) + printf ("%s\n", main_buffer); + else + printf ("%s error: could not connect to '%s'\n", PACKAGE, cfg->url); + + exit (-1); } - if (main_buffer) + if (main_buffer) { free (main_buffer); + main_buffer = NULL; + } bufsize = 0; + waiting_for_reply = FALSE; + + if (total_connects == 1) + printf ("%s info: connection information only displays on first connect.\n", + PACKAGE); return 1; } |
From: <enl...@li...> - 2003-12-26 12:48:10
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c Log Message: another bugfix and a new path in the cfg listing and some code moved around =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- erss.c 26 Dec 2003 01:54:45 -0000 1.7 +++ erss.c 26 Dec 2003 12:48:09 -0000 1.8 @@ -273,7 +273,7 @@ waiting_for_reply = FALSE; if (total_connects == 1) - printf ("%s info: connection information only displays on first connect.\n", + printf ("%s info: connection information only displays on the first connect.\n", PACKAGE); return 1; @@ -347,7 +347,7 @@ return (strcmp((*bd)->d_name, (*ad)->d_name)); } -void list_config_files () +void list_config_files (int output) { char *str; char *ptr; @@ -356,6 +356,8 @@ struct stat statbuf; int num, i; char file[PATH_MAX]; + int found_files = FALSE; + int no_dir = FALSE; paths = ewd_list_new (); config_files = ewd_list_new (); @@ -366,6 +368,10 @@ ewd_list_append (paths, str); str = malloc (PATH_MAX); + snprintf (str, PATH_MAX, "/etc/%s/config", PACKAGE); + ewd_list_append (paths, str); + + str = malloc (PATH_MAX); snprintf (str, PATH_MAX, "/usr/local/share/%s/config", PACKAGE); ewd_list_append (paths, str); @@ -375,40 +381,57 @@ PACKAGE); ewd_list_append (paths, str); - printf ("\n%s processing potential dirs ...\n", PACKAGE); + if (output) + printf ("\n%s processing potential dirs ...\n", PACKAGE); ptr = ewd_list_goto_first (paths); while ((ptr = ewd_list_current (paths))) { - printf ("\nLookin in %s:\n", ptr); + if (output) + printf ("\nprocessing '%s':\n", ptr); i = stat (ptr, &statbuf); - if (S_ISDIR(statbuf.st_mode)) { + if (i == -1) { + no_dir = TRUE; + } else { + if (S_ISDIR(statbuf.st_mode)) { - if ((num = scandir(ptr, &dentries, 0, erss_alphasort)) < 0) - perror("erss - scandir"); + if ((num = scandir(ptr, &dentries, 0, erss_alphasort)) < 0) + perror("erss - scandir"); - while (num--) { - snprintf(file, PATH_MAX, "%s/%s", ptr, dentries[num]->d_name); + while (num--) { + snprintf(file, PATH_MAX, "%s/%s", ptr, dentries[num]->d_name); - i = stat (file, &statbuf); - if (i == -1) { - perror("erss - stat 1"); - continue; + i = stat (file, &statbuf); + if (i == -1) { + perror("erss - stat 1"); + continue; + } + + if (S_ISDIR(statbuf.st_mode)) + continue; + + if (strstr (dentries[num]->d_name, ".cfg")) { + found_files = TRUE; + printf ("\t%s\n", file); + ewd_list_append (config_files, file); + } } - if (S_ISDIR(statbuf.st_mode)) - continue; - - if (strstr (dentries[num]->d_name, ".cfg")) { - printf ("\t%s\n", file); - ewd_list_append (config_files, file); + if (!found_files) { + if (output) + printf ("\tno config files in this dir ...\n"); + found_files = FALSE; } } - } else { - printf ("\tno such dir ..\n"); } + if (output) { + if (no_dir) + printf ("\tno such dir ...\n"); + no_dir = FALSE; + } + ewd_list_next (paths); } @@ -427,6 +450,13 @@ ewd_list_destroy (paths); } +void display_default_usage () +{ + fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); + fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); + exit (-1); +} + int main (int argc, char * const argv[]) { Evas_Object *header; @@ -449,15 +479,13 @@ { switch (c) { case 'l': - list_config_files (); + list_config_files (TRUE); exit (-1); case 'c': - if(optind >= argc) { - fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); - fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); - exit (-1); - } + if(optind >= argc) + display_default_usage (); + got_config_file = TRUE; snprintf (config_file, PATH_MAX, "%s", (char *) argv[optind]); break; @@ -488,13 +516,12 @@ got_rc_file = TRUE; if(!got_config_file) { - if (!got_rc_file) { - fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE); - fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE); - exit (-1); - } else { + + if (!got_rc_file) + display_default_usage (); + else parse_config_file (rc->config); - } + } else { parse_config_file (config_file); } |
From: <enl...@li...> - 2004-01-10 19:34:01
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c parse.c Log Message: display help when the rc file doesnt exist =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- erss.c 9 Jan 2004 23:00:08 -0000 1.9 +++ erss.c 10 Jan 2004 19:34:00 -0000 1.10 @@ -504,13 +504,16 @@ } - if (parse_rc_file ()) + if (parse_rc_file ()) { + printf ("Found the rc file\n"); got_rc_file = TRUE; + } if(!got_config_file) { - if (!got_rc_file) + if (!got_rc_file) { display_default_usage (); + } else parse_config_file (rc->config); =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- parse.c 9 Jan 2004 23:00:08 -0000 1.5 +++ parse.c 10 Jan 2004 19:34:00 -0000 1.6 @@ -276,6 +276,9 @@ fp = fopen (file, "r"); + if (!fp) + return FALSE; + while (fp && (line = get_next_line (fp)) != NULL) { if ((c = get_element (&line, "config")) != NULL) @@ -408,7 +411,7 @@ if (cfg->clock != 1 && cfg->clock != 0) { fprintf (stderr, - "ERROR: Clock option has wrong value - check your config file!\n"); + "Erss error: Clock option has wrong value - check your config file!\n"); exit (-1); } continue; @@ -421,7 +424,7 @@ if (cfg->num_stories > 10) { fprintf (stderr, - "ERROR: Max stories to show is 10 - check your config file!\n"); + "Erss error: Max stories to show is 10 - check your config file!\n"); exit (-1); } continue; @@ -434,7 +437,7 @@ if (cfg->borderless != 1 && cfg->borderless != 0) { fprintf (stderr, - "ERROR: Borderless option has wrong value - check your config file!\n"); + "Erss error:: Borderless option has wrong value - check your config file!\n"); exit (-1); } continue; |
From: <enl...@li...> - 2004-01-10 23:00:28
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: parse.c Log Message: some silly details :) =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- parse.c 10 Jan 2004 19:34:00 -0000 1.6 +++ parse.c 10 Jan 2004 23:00:26 -0000 1.7 @@ -340,7 +340,8 @@ if ((fp = fopen (file, "r")) == NULL) { - fprintf (stderr, "Erss error: Can't open config file %s\n", file); + fprintf (stderr, "%s error: Can't open config file %s\n", + PACKAGE, file); exit (-1); } @@ -411,7 +412,7 @@ if (cfg->clock != 1 && cfg->clock != 0) { fprintf (stderr, - "Erss error: Clock option has wrong value - check your config file!\n"); + "%s error: Clock option has wrong value - check your config file!\n", PACKAGE); exit (-1); } continue; @@ -424,7 +425,7 @@ if (cfg->num_stories > 10) { fprintf (stderr, - "Erss error: Max stories to show is 10 - check your config file!\n"); + "%s error: Max stories to show is 10 - check your config file!\n", PACKAGE); exit (-1); } continue; @@ -437,7 +438,7 @@ if (cfg->borderless != 1 && cfg->borderless != 0) { fprintf (stderr, - "Erss error:: Borderless option has wrong value - check your config file!\n"); + "%s error:: Borderless option has wrong value - check your config file!\n", PACKAGE); exit (-1); } continue; |
From: <enl...@li...> - 2004-01-11 14:02:25
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/src Modified Files: erss.c parse.c parse.h Log Message: Made text encoding optional from the rc file. Added 4 new config files from 'creepy'. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- erss.c 10 Jan 2004 19:34:00 -0000 1.10 +++ erss.c 11 Jan 2004 14:02:24 -0000 1.11 @@ -504,10 +504,8 @@ } - if (parse_rc_file ()) { - printf ("Found the rc file\n"); + if (parse_rc_file ()) got_rc_file = TRUE; - } if(!got_config_file) { @@ -580,13 +578,13 @@ width = 300; - height = 15 * cfg->num_stories; + height = 16 * cfg->num_stories; if (cfg->header) - height += 25; + height += 26; if (cfg->clock) - height += 25; + height += 26; ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, width, height); =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- parse.c 10 Jan 2004 23:00:26 -0000 1.7 +++ parse.c 11 Jan 2004 14:02:24 -0000 1.8 @@ -116,7 +116,7 @@ char *c; char *text; int i; - + /* * Some of the feeds may have "garbage" in their titles * we want to remove it. @@ -125,7 +125,7 @@ "<![CDATA[", "]]>" }; - + if (!buf || !*buf) return; @@ -168,40 +168,38 @@ if ((c = get_element (&buf, cfg->item_title)) != NULL) { - for (i = 0; i < 2; i++) c = remove_garbage (c, garbage[i]); - - c = ecore_txt_convert ("iso-8859-1", "utf8", c); - + + c = ecore_txt_convert (rc->enc_to, rc->enc_from, c); + i = strlen(c) + 3 + strlen(cfg->prefix); - text = malloc (i); - + snprintf (text, i, " %s %s", cfg->prefix, c); - + item->obj = edje_object_add (evas); edje_object_file_set (item->obj, cfg->theme, "erss_item"); - + if (text) edje_object_part_text_set (item->obj, "article", text); - + evas_object_show (item->obj); - + evas_object_event_callback_add (item->obj, EVAS_CALLBACK_MOUSE_IN, cb_mouse_in, NULL); evas_object_event_callback_add (item->obj, EVAS_CALLBACK_MOUSE_OUT, cb_mouse_out, NULL); - + e_container_element_append(cont, item->obj); - + free (c); free (text); - + return; } - + if ((c = get_element (&buf, cfg->item_url)) != NULL) { item->url = strdup (c); @@ -214,7 +212,7 @@ free (c); return; } - + if ((c = get_element (&buf, cfg->item_description)) != NULL) { item->description = strdup (c); @@ -222,7 +220,6 @@ free (c); return; } - } @@ -276,8 +273,6 @@ fp = fopen (file, "r"); - if (!fp) - return FALSE; while (fp && (line = get_next_line (fp)) != NULL) { @@ -305,6 +300,18 @@ continue; } + if ((c = get_element (&line, "enc_from")) != NULL) + { + rc->enc_from = strdup (c); + continue; + } + + if ((c = get_element (&line, "enc_to")) != NULL) + { + rc->enc_to = strdup (c); + continue; + } + if ((c = get_element (&line, "proxy_port")) != NULL) { rc->proxy_port = atoi (c); @@ -313,8 +320,6 @@ free(line); } - if (fp) - fclose (fp); /* * Set sane defaults for unspecified config options. @@ -328,6 +333,19 @@ rc->browser = strdup(getenv("BROWSER")); if (!rc->browser) rc->browser = strdup("mozilla"); + + if (!rc->enc_from) + rc->enc_from = strdup("utf8"); + if (!rc->enc_to) + rc->enc_from = strdup("iso-8859-1"); + + /* + * If there is no rc file return false for us to know + */ + if (!fp) + return FALSE; + + fclose (fp); return TRUE; } =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/src/parse.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- parse.h 9 Jan 2004 23:00:08 -0000 1.4 +++ parse.h 11 Jan 2004 14:02:24 -0000 1.5 @@ -36,6 +36,8 @@ char *browser; char *proxy; int proxy_port; + char *enc_from; + char *enc_to; } Rc_Config; int parse_rc_file (); |
From: <enl...@li...> - 2004-01-11 14:02:56
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data Modified Files: erssrc Log Message: Made text encoding optional from the rc file. Added 4 new config files from 'creepy'. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/data/erssrc,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- erssrc 9 Jan 2004 23:00:08 -0000 1.2 +++ erssrc 11 Jan 2004 14:02:24 -0000 1.3 @@ -14,3 +14,9 @@ --> <proxy></proxy> <proxy_port>80</proxy_port> + +<!-- +Define what encoding to use. +--> +<enc_to>iso-8859-1</enc_to> +<enc_from>utf8</enc_from> |
From: <enl...@li...> - 2004-01-11 14:02:56
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss/data/config Modified Files: Makefile.am Added Files: cnetnews.cfg freshmeat.cfg newsforge.cfg theregister.cfg Log Message: Made text encoding optional from the rc file. Added 4 new config files from 'creepy'. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/data/config/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 9 Jan 2004 23:00:08 -0000 1.4 +++ Makefile.am 11 Jan 2004 14:02:24 -0000 1.5 @@ -11,5 +11,9 @@ groklaw.cfg \ handyande.cfg \ itavisen.cfg \ -kuro5hin.cfg +kuro5hin.cfg \ +theregister.cfg \ +freshmeat.cfg \ +cnetnews.cfg \ +newsforge.cfg |
From: <enl...@li...> - 2004-01-11 14:02:56
|
Enlightenment CVS committal Author : sarajervi Project : misc Module : erss Dir : misc/erss Modified Files: README Log Message: Made text encoding optional from the rc file. Added 4 new config files from 'creepy'. =================================================================== RCS file: /cvsroot/enlightenment/misc/erss/README,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- README 25 Dec 2003 22:06:27 -0000 1.4 +++ README 11 Jan 2004 14:02:24 -0000 1.5 @@ -18,11 +18,12 @@ If the slashdot.cfg is not working try HandyAndE's mirror (handyande.cfg). For testing you can use the config files named radius.cfg. -(You risk getting banned if you hammer /. every 5th min for a period of time) +(You risk getting banned if you hammer slashdot or any other highvolumesite +every 5th min for a period of time) You can find lots of feeds here, just make config files for them: http://blogs.law.harvard.edu/tech/directory/5/feeds + If you do make a config for a feed and want to share it with us please e-mail Martin Sarajervi <ms...@kl...> - |