+try:\r
+ import py2deb\r
+except ImportError:\r
+ import fake_py2deb as py2deb\r
+\r
+import constants\r
+\r
+\r
+__app_name__ = constants.__app_name__\r
+__description__ = """Very simple Audiobook player.\r
+Supports playing, pausing, seeking (sort of) and saving state when changing book/closing.\r
+Plays books arranged as dirs under myDocs/Audiobooks\r
+.\r
+Homepage: http://wiki.maemo.org/Nqaap"""\r
+__author__ = "Soeren 'Pengman' Pedersen"\r
+__email__ = "pengmeister@gmail.com"\r
+__version__ = constants.__version__\r
+__build__ = constants.__build__\r
+__changelog__ = """\r
+""".strip()\r
+\r
+\r
+__postinstall__ = """#!/bin/sh -e\r
+\r
+gtk-update-icon-cache -f /usr/share/icons/hicolor\r
+rm -f ~/.%(name)s/%(name)s.log\r
+""" % {"name": constants.__app_name__}\r
+\r
+\r
+def find_files(prefix, path):\r
+ for root, dirs, files in os.walk(path):\r
+ for file in files:\r
+ if file.startswith(prefix+"-"):\r
+ fileParts = file.split("-")\r
+ unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1]\r
+ assert unused == prefix\r
+ relPath = os.sep.join(relPathParts)\r
+ yield relPath, file, newName\r
+\r
+\r
+def unflatten_files(files):\r
+ d = {}\r
+ for relPath, oldName, newName in files:\r
+ if relPath not in d:\r
+ d[relPath] = []\r
+ d[relPath].append((oldName, newName))\r
+ return d\r