#!/usr/bin/python2.5
-from py2deb import *
+import os
+import sys
+try:
+ import py2deb
+except ImportError:
+ import fake_py2deb as py2deb
-__appname__ = "dialcentral"
-__description__ = "Simple interface to Google's GrandCentral(tm) service"
+import constants
+
+
+__appname__ = constants.__app_name__
+__description__ = "Touch screen enhanced interface to the GoogleVoice/GrandCentral phone service"
__author__ = "Ed Page"
__email__ = "eopage@byu.net"
-__version__ = "0.8.4"
+__version__ = constants.__version__
__build__ = 0
-__changelog__ = '''\
-0.8.4 - ""
+__changelog__ = '''
+1.0.3
+* Holding down a tab for a second will now force a refresh
+* Fixed a bug dealing with overzealously refreshing the contacts tab
+* Finding some undescriptive errors and made them more descriptive
+* Swapped the order GrandCentral and GoogleVoice appear in login window
+* Fixed the "Recent" and "Message" tabs, google changed things on me again
+
+1.0.2
+* Random bug fixes
+* Random performance improvements
+
+1.0.1
+* Fixed a voicemail transcripts due to a GoogleVoice change
+
+1.0.0
+* Added names to the recent tab for GoogleVoice
+
+0.9.9
+* SMS From Dialpad
+* Display of names for messages tab
+* Condensed messages/recent's date column
+
+0.9.8
+ * Added columns to recent view and messages view to help seperate messages
+ * Attempted refreshing session on dial/sms send
+ * Fixed a GC Bug
+ * Minor bug fixes as usual
+
+0.9.7
+ * Switched to Force Refresh for when wanting to check for more messages
+ * Removed timeouts that forced refreshes on various tabs
+ * Added support for a settings file, fairly primitive right now
+ * Fixed Maemo Support
+ * Lots of major and minor bug fixes
+
+0.9.6
+ * Experimenting with the tabs being on the side
+ * Now the phone selector is used always, even if there is just one phone number
+ * Added a Messages Tab, which displays SMS and Voicemail messages
+ * Added option to send SMS messages
+
+0.9.5
+ * Fixed a login issue due to Google changing their webpage
+
+0.9.4 - ""
+ * Misc Bug fixes and experiments
+
+0.9.3 - ""
+ * Removed the much disliked contact source ID
+ * Added saving of callback number when using GoogleVoice
+ * Got proper formatting on things ("&" rather than "&")
+ * Misc Bug fixes
+
+0.9.2 - "Two heads are better than one"
+ * Adding of UI to switch between GC and GV
+ * Minimized flashing the dial button between grayed out and not on startup
+ * Bug fixes
+
+0.9.1 - "Get your hands off that"
+ * GoogleVoice Support, what a pain
+ * More flexible CSV support. It now checks the header row for what column name/number are in
+ * Experimenting with faster startup by caching PYC files with the package
+ * Fixing of some bad error handling
+ * More debug output for when people run into issues
+
+0.9.0 - "Slick as snot"
* Caching of contacts
* Refactoring to make working with the code easier
* Filesystem backed contacts but currently only supporting a specific csv format
+ * Gracefully handle lack of connection and connection transitions
+ * Gracefully handle failed login
+ * A tiny bit better error reporting
0.8.3 - "Extras Love"
* Version bump fighting the extras autobuilder, I hope this works
'''
-__postinstall__ = '''#!/bin/sh
+__postinstall__ = '''#!/bin/sh -e
-gtk-update-icon-cache /usr/share/icons/hicolor
+gtk-update-icon-cache -f /usr/share/icons/hicolor
'''
-if __name__ == "__main__":
+def find_files(path):
+ for root, dirs, files in os.walk(path):
+ for file in files:
+ if file.startswith("src-"):
+ fileParts = file.split("-")
+ unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1]
+ assert unused == "src"
+ relPath = os.sep.join(relPathParts)
+ yield relPath, file, newName
+
+
+def unflatten_files(files):
+ d = {}
+ for relPath, oldName, newName in files:
+ if relPath not in d:
+ d[relPath] = []
+ d[relPath].append((oldName, newName))
+ return d
+
+
+def build_package(distribution):
try:
os.chdir(os.path.dirname(sys.argv[0]))
except:
pass
- p = Py2deb(__appname__)
+ p = py2deb.Py2deb(__appname__)
p.description = __description__
p.author = __author__
p.mail = __email__
p.license = "lgpl"
- p.depends = "python2.5, python2.5-gtk2"
- # p.section = "user/utilities"
+ p.depends = {
+ "diablo": "python2.5, python2.5-gtk2, python2.5-xml",
+ "mer": "python2.6, python-gtk2, python-xml, python-glade2",
+ }[distribution]
p.section = "user/communication"
p.arch = "all"
p.urgency = "low"
- p.distribution = "chinook diablo"
- p.repository = "extras-devel"
+ p.distribution = "chinook diablo fremantle mer"
+ p.repository = "extras"
p.changelog = __changelog__
p.postinstall = __postinstall__
- p.icon="26x26-dialcentral.png"
+ p.icon = "26x26-dialcentral.png"
p["/usr/bin"] = [ "dialcentral.py" ]
- p["/usr/lib/dialcentral"] = ["__init__.py", "browser_emu.py", "evo_backend.py", "gc_backend.py", "gc_dialer.glade", "gc_dialer.py", "builddeb.py"]
+ for relPath, files in unflatten_files(find_files(".")).iteritems():
+ fullPath = "/usr/lib/dialcentral"
+ if relPath:
+ fullPath += os.sep+relPath
+ p[fullPath] = list(
+ "|".join((oldName, newName))
+ for (oldName, newName) in files
+ )
p["/usr/share/applications/hildon"] = ["dialcentral.desktop"]
p["/usr/share/icons/hicolor/26x26/hildon"] = ["26x26-dialcentral.png|dialcentral.png"]
p["/usr/share/icons/hicolor/64x64/hildon"] = ["64x64-dialcentral.png|dialcentral.png"]
__version__, __build__, changelog=__changelog__,
tar=True, dsc=True, changes=True, build=False, src=True
)
+ print "Building for %s finished" % distribution
+
+
+if __name__ == "__main__":
+ if len(sys.argv) > 1:
+ try:
+ import optparse
+ except ImportError:
+ optparse = None
+
+ if optparse is not None:
+ parser = optparse.OptionParser()
+ (commandOptions, commandArgs) = parser.parse_args()
+ else:
+ commandArgs = None
+ commandArgs = ["diablo"]
+ build_package(commandArgs[0])