#!/bin/sh
+PLATFORM="$1"
+if [ "$PLATFORM" != "desktop" -a "$PLATFORM" != "os2007" -a "$PLATFORM" != "os2008" ]; then
+ echo "Invalid platform parameter, defaulting to OS 2008"
+ PLATFORM="os2008"
+else
+ echo "Building for $PLATFORM"
+fi
+
+LEGACY_GLADE="0"
+if [ "$PLATFORM" = "os2007" ]; then
+ LEGACY_GLADE="1"
+fi
+BUILD_BASE=./build-$PLATFORM
+
+
+
# Create PyPackager directory structure from the original files
# Please make sure the following files are in this directory before
# running this script
# gcbackend.py
# browser_emu.py
-# The script creates the directories and concatenates the .py into a
-# single python script
-mkdir -p build/usr/share/icons/hicolor/scalable/hildon
-mkdir -p build/usr/share/icons/hicolor/26x26/hildon
-mkdir -p build/usr/share/icons/hicolor/64x64/hildon
-mkdir -p build/usr/share/applications/hildon
-mkdir -p build/usr/local/bin
-mkdir -p build/usr/local/lib
+mkdir -p $BUILD_BASE/usr/share/icons/hicolor/scalable/hildon
+mkdir -p $BUILD_BASE/usr/share/icons/hicolor/26x26/hildon
+mkdir -p $BUILD_BASE/usr/share/icons/hicolor/64x64/hildon
+mkdir -p $BUILD_BASE/usr/share/applications/hildon
+mkdir -p $BUILD_BASE/usr/local/bin
+mkdir -p $BUILD_BASE/usr/local/lib
+
+cp gc_dialer/gc_dialer_256.png $BUILD_BASE/usr/share/icons/hicolor/scalable/hildon/gc_dialer.png
+cp gc_dialer/gc_dialer_64.png $BUILD_BASE/usr/share/icons/hicolor/64x64/hildon/gc_dialer.png
+cp gc_dialer/gc_dialer_26.png $BUILD_BASE/usr/share/icons/hicolor/26x26/hildon/gc_dialer.png
+
+cp gc_dialer/gc_dialer.desktop $BUILD_BASE/usr/share/applications/hildon
+
+cp gc_dialer/gc_dialer.xml $BUILD_BASE/usr/local/lib
+
+
+#Construct the program by cat-ing all the python files together
+echo "#!/usr/bin/python" > $BUILD_BASE/usr/local/bin/gc_dialer.py
+#echo "from __future__ import with_statement" >> $BUILD_BASE/usr/local/bin/gc_dialer.py
+cat gc_dialer/gc_dialer.py gc_dialer/gcbackend.py gc_dialer/browser_emu.py | grep -e '^import ' | sort -u >> $BUILD_BASE/usr/local/bin/gc_dialer.py
+cat gc_dialer/browser_emu.py gc_dialer/gcbackend.py gc_dialer/gc_dialer.py | grep -v 'browser_emu' | grep -v 'gcbackend' | grep -v "#!" >> $BUILD_BASE/usr/local/bin/gc_dialer.py
+chmod 755 $BUILD_BASE/usr/local/bin/gc_dialer.py
-cp gc_dialer/gc_dialer_256.png build/usr/share/icons/hicolor/scalable/hildon/gc_dialer.png
-cp gc_dialer/gc_dialer_64.png build/usr/share/icons/hicolor/64x64/hildon/gc_dialer.png
-cp gc_dialer/gc_dialer_26.png build/usr/share/icons/hicolor/26x26/hildon/gc_dialer.png
-cp gc_dialer/gc_dialer.desktop build/usr/share/applications/hildon
-cp gc_dialer/gc_dialer.xml build/usr/local/lib
+#Perform platform specific work
+if [ "$PLATFORM" != "desktop" ]; then
+ echo " Generic Maemo Support"
+ # Compress whitespace for 30% savings, make sure we are a HildonWindow
+ sed -i 's/^[ \t]*//;s/[ \t]*$//;s/GtkWindow/HildonWindow/' $BUILD_BASE/usr/local/lib/gc_dialer.xml
+fi
-# Compress whitespace for 30% savings, make sure we are a HildonWindow
-sed -i 's/^[ \t]*//;s/[ \t]*$//;s/GtkWindow/HildonWindow/' build/usr/local/lib/gc_dialer.xml
+if [ "$LEGACY_GLADE" = "1" ]; then
+ echo " Legacy version of Glade"
+ sed -i 's/interface/glade-interface/;s/object/widget/' $BUILD_BASE/usr/local/lib/gc_dialer.xml
+ sed -i 's/get_object/get_widget/;s/connect_signals/signal_autoconnect/' $BUILD_BASE/usr/local/bin/gc_dialer.py
+fi
-echo "#!/usr/bin/python" > build/usr/local/bin/gc_dialer.py
-#echo "from __future__ import with_statement" >> build/usr/local/bin/gc_dialer.py
-cat gc_dialer/gc_dialer.py gc_dialer/gcbackend.py gc_dialer/browser_emu.py | grep -e '^import ' | sort -u >> build/usr/local/bin/gc_dialer.py
-cat gc_dialer/browser_emu.py gc_dialer/gcbackend.py gc_dialer/gc_dialer.py | grep -v 'browser_emu' | grep -v 'gcbackend' | grep -v "#!" >> build/usr/local/bin/gc_dialer.py
-chmod 755 build/usr/local/bin/gc_dialer.py
import sys
+import gc
import os
import re
import time
import contextlib
import gobject
import gtk
-import gc
+
try:
import hildon
except ImportError:
hildon = None
try:
+ if hasattr(gtk, "Builder"):
+ #detected that this is not a legacy system
+ raise ImportError
+ #Legacy support
+ import gtk.glade
+except ImportError:
+ gtk.glade = None
+
+try:
import osso
try:
import abook
self.prettynumber = ""
self.areacode = "518"
self.clipboard = gtk.clipboard_get()
- self.wTree = gtk.Builder()
self.recentmodel = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
self.recentviewselection = None
self.callbackNeedsSetup = True
'../lib/gc_dialer.xml',
'/usr/local/lib/gc_dialer.xml' ]:
if os.path.isfile(path):
- self.wTree.add_from_file(path)
+ if gtk.glade is None:
+ self.wTree = gtk.Builder()
+ self.wTree.add_from_file(path)
+ else:
+ self.wTree = gtk.glade.XML(path)
+ self.wTree.get_object = self.wTree.get_widget
break
else:
self.ErrPopUp("Cannot find gc_dialer.xml")
# #add default area code
# self.phonenumber = self.areacode + self.phonenumber
- if self.gcd.dial(self.phonenumber) is False:
+ try:
+ callSuccess = self.gcd.dial(self.phonenumber)
+ except ValueError, e:
+ self.gcd._msg = e.message
+ callSuccess = False
+
+ if not callSuccess:
self.ErrPopUp(self.gcd._msg)
else:
self.setNumber("")