--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/tools/py2sis/ensymble/cmdmain.py Tue Feb 16 10:07:05 2010 +0530
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+##############################################################################
+# ensymble.py - Ensymble command line tool
+# Copyright 2006, 2007, 2008, 2009 Jussi Ylänen
+#
+# This file is part of Ensymble developer utilities for Symbian OS(TM).
+#
+# Ensymble is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Ensymble is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ensymble; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+##############################################################################
+
+import sys
+import os
+
+# Import command modules.
+cmddict = {"altere32": None, "genuid": None,
+ "infoe32": None, "mergesis": None,
+ "py2sis": None, "signsis": None,
+ "simplesis": None, "version": None}
+for cmdname in cmddict.keys():
+ cmddict[cmdname] = __import__("cmd_%s" % cmdname, globals(), locals(), [])
+
+
+def main():
+ pgmname = os.path.basename(sys.argv[0])
+ debug = False
+
+ # Parse command line parameters.
+ try:
+ if len(sys.argv) < 2 or sys.argv[1] in ("-h", "--help"):
+ # No command given, print help.
+ commands = []
+ for cmd in cmddict.keys():
+ commands.append(" %-12s %s" % (cmd, cmddict[cmd].shorthelp))
+ commands.sort()
+ commands = "\n".join(commands)
+
+ print (
+'''
+Ensymble developer utilities for Symbian OS
+
+usage: %(pgmname)s command [command options]...
+
+Commands:
+%(commands)s
+
+Use '%(pgmname)s command --help' to get command specific help.
+''' % locals())
+ return 0
+
+ command = sys.argv[1]
+ if command not in cmddict.keys():
+ raise ValueError("invalid command '%s'" % command)
+
+ if "-h" in sys.argv[2:] or "--help" in sys.argv[2:]:
+ # Print command specific help.
+ longhelp = cmddict[command].longhelp
+ print (
+'''
+Ensymble developer utilities for Symbian OS
+
+usage: %(pgmname)s %(longhelp)s''' % locals())
+ else:
+ if "--debug" in sys.argv[2:]:
+ # Enable raw exception reporting.
+ debug = True
+
+ # Run command.
+ cmddict[command].run(pgmname, sys.argv[2:])
+ except Exception, e:
+ if debug:
+ # Debug output requested, print exception traceback as-is.
+ raise
+ else:
+ # Normal output, use terse exception reporting.
+ return "%s: %s" % (pgmname, str(e))
+
+ return 0
+
+# Call main if run as stand-alone executable.
+#if __name__ == '__main__':
+# sys.exit(main())
+
+# Call main regardless, to support packing with the squeeze utility.
+sys.exit(main())