[maemo-commits] [maemo-commits] r16254 - in projects/haf/branches/hildon-thumbnail/daemonize: . tests

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Sep 29 12:34:27 EEST 2008
Author: pvanhoof
Date: 2008-09-29 12:34:23 +0300 (Mon, 29 Sep 2008)
New Revision: 16254

Added:
   projects/haf/branches/hildon-thumbnail/daemonize/tests/google-images-art-downloader.vala
Modified:
   projects/haf/branches/hildon-thumbnail/daemonize/ChangeLog
   projects/haf/branches/hildon-thumbnail/daemonize/tests/Makefile.am
Log:
2008-09-29  Philip Van Hoof  <pvanhoof at gnome.org>

	* tests/google-images-art-downloader.vala
	* tests/Makefile.am: Added a album art downloader that uses Google images



Modified: projects/haf/branches/hildon-thumbnail/daemonize/ChangeLog
===================================================================
--- projects/haf/branches/hildon-thumbnail/daemonize/ChangeLog	2008-09-29 07:14:08 UTC (rev 16253)
+++ projects/haf/branches/hildon-thumbnail/daemonize/ChangeLog	2008-09-29 09:34:23 UTC (rev 16254)
@@ -1,3 +1,8 @@
+2008-09-29  Philip Van Hoof  <pvanhoof at gnome.org>
+
+	* tests/google-images-art-downloader.vala
+	* tests/Makefile.am: Added a album art downloader that uses Google images
+
 2008-09-26  Philip Van Hoof  <pvanhoof at gnome.org>
 
 	* daemon/hildon-thumbnail-daemon.c

Modified: projects/haf/branches/hildon-thumbnail/daemonize/tests/Makefile.am
===================================================================
--- projects/haf/branches/hildon-thumbnail/daemonize/tests/Makefile.am	2008-09-29 07:14:08 UTC (rev 16253)
+++ projects/haf/branches/hildon-thumbnail/daemonize/tests/Makefile.am	2008-09-29 09:34:23 UTC (rev 16254)
@@ -1,14 +1,43 @@
+SUBDIRS = .
+
 INCLUDES = -I$(srcdir)/../thumbs -I$(srcdir)/.. $(PKG_CFLAGS) \
-	$(DBUS_CFLAGS) $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(GIO_CFLAGS)
+	$(DBUS_CFLAGS) $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(GIO_CFLAGS) \
+	$(GDK_PIXBUF_CFLAGS)
 
+NULL = 
+BUILT_SOURCES = my.vala.stamp daemon-glue.h
+
 bin_PROGRAMS = hildon-thumbnail-tester hildon-thumbnail-daemon-plugin-test
 
+libexec_PROGRAMS = hildon-google-images-art-downloaderd
+
+hildon_google_images_art_downloaderd_VALASOURCES = \
+	google-images-art-downloader.vala
+
+hildon_google_images_art_downloaderd_SOURCES = \
+	my.vala.stamp \
+	$(hildon_google_images_art_downloaderd_VALASOURCES:.vala=.c) \
+	$(hildon_google_images_art_downloaderd_VALASOURCES:.vala=.h) \
+	$(NULL)
+
+google-images-art-downloader.vala my.vala.stamp: $(hildon_google_images_art_downloaderd_VALASOURCES)
+	$(VALAC) -C --basedir $(top_srcdir) \
+	--pkg=gee-1.0 \
+	--pkg=hildon-1 \
+	--pkg=dbus-glib-1 \
+	$^
+	touch $@
+
+hildon_google_images_art_downloaderd_LDADD = \
+	$(DBUS_LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) $(GIO_LIBS)
+
 hildon_thumbnail_daemon_plugin_test_SOURCES = daemon.c daemon-glue.h
 hildon_thumbnail_daemon_plugin_test_LDADD = $(top_builddir)/thumbs/libhildonthumbnail.la
 	$(DBUS_LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) $(GIO_LIBS)
 
 hildon_thumbnail_tester_SOURCES = tests.c
-hildon_thumbnail_tester_LDADD = $(top_builddir)/thumbs/libhildonthumbnail.la $(PKG_LIBS)
+hildon_thumbnail_tester_LDADD = $(top_builddir)/thumbs/libhildonthumbnail.la $(PKG_LIBS) \
+	$(GDK_PIXBUF_LIBS)
 
 EXTRA_DIST = $(wildcard $(srcdir)/images/*)
 
@@ -16,6 +45,7 @@
 %-glue.h: $(top_srcdir)/tests/%.xml
 	$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=$(subst -,_,$*) $^
 
-BUILT_SOURCES = daemon-glue.h
+EXTRA_DIST = $(BUILT_SOURCES) daemon.xml
 
-EXTRA_DIST = $(BUILT_SOURCES) daemon.xml
+
+

Added: projects/haf/branches/hildon-thumbnail/daemonize/tests/google-images-art-downloader.vala
===================================================================
--- projects/haf/branches/hildon-thumbnail/daemonize/tests/google-images-art-downloader.vala	2008-09-29 07:14:08 UTC (rev 16253)
+++ projects/haf/branches/hildon-thumbnail/daemonize/tests/google-images-art-downloader.vala	2008-09-29 09:34:23 UTC (rev 16254)
@@ -0,0 +1,77 @@
+using GLib;
+
+[DBus (name = "com.nokia.albumart.Provider")]
+public interface Provider {
+	public abstract void Fetch (string artistalbum, string uri);
+}
+
+public class GoogleImages : Object, Provider {
+	public void Fetch (string artistalbum, string uri) {
+		uint u = 0, hread;
+		string [] pieces = artistalbum.split (" ", -1);
+		string stitched = "";
+
+		print ("Fetch " + artistalbum + " " + uri + "\n");
+
+		while (pieces[u] != null) {
+			if (u != 1)
+				stitched += "+";
+			stitched += pieces[u];
+			u++;
+		}
+
+		File google_search = File.new_for_uri ("http://images.google.com/images?q=" + stitched);
+		try {
+			char [] buffer = new char [4000];
+			string asstring;
+			InputStream stream = google_search.read (null);
+			stream.read_all (buffer, 40000, out hread, null);
+			buffer[hread] = 0;
+
+			asstring = (string) buffer;
+			string found = asstring.str ("http://tbn0.google.com/images?q=tbn");
+
+			if (found != null) {
+				StringBuilder url = new StringBuilder ();
+				long y = found.len();
+				int i = 0;
+				
+				while (found[i] != ' ' && i < y) {
+					url.append_unichar (found[i]);
+					i++;
+				}
+				
+				print (url.str + "\n");
+			}
+
+		} catch (GLib.Error error) {
+		}
+	}
+}
+
+void main () 
+{
+	MainLoop loop = new MainLoop (null, false);
+
+	try {
+		var conn = DBus.Bus.get (DBus.BusType. SESSION);
+
+		dynamic DBus.Object bus = conn.get_object (
+			"org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus");
+
+		// try to register service in session bus
+		uint request_name_result = bus.request_name ("com.nokia.albumart.GoogleImages", (uint) 0);
+
+		if (request_name_result == DBus.RequestNameReply.PRIMARY_OWNER) {
+			// start server
+
+			var server = new GoogleImages ();
+			conn.register_object ("/com/nokia/albumart/GoogleImages", server);
+
+			loop.run ();
+		}
+	} catch (Error foo) {
+		stderr.printf("Oops %s\n", foo.message);
+	}
+}
+


More information about the maemo-commits mailing list