--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/svg2nvg.py Tue Jul 06 14:53:09 2010 +0300
@@ -0,0 +1,142 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# ============================================================================
+# Name : svg2nvg.py
+# Part of : Hb
+# Description : Hb themes script for converting SVG to NVG
+# Version : %version: %
+#
+# Copyright (c) 2008-2010 Nokia. All rights reserved.
+# This material, including documentation and any related computer
+# programs, is protected by copyright controlled by Nokia. All
+# rights are reserved. Copying, including reproducing, storing,
+# adapting or translating, any or all of this material requires the
+# prior written consent of Nokia. This material also contains
+# confidential information which may not be disclosed to others
+# without the prior written consent of Nokia.
+# ============================================================================
+
+import os
+import sys
+import optparse
+
+# ============================================================================
+# Globals
+# ============================================================================
+VERBOSE = False
+ENCODER = "svgtbinencode"
+INPUT_DIR = os.getcwd()
+
+# ============================================================================
+# OptionParser
+# ============================================================================
+class OptionParser(optparse.OptionParser):
+ def __init__(self):
+ optparse.OptionParser.__init__(self)
+ self.add_option("-v", "--verbose", action="store_true", dest="verbose",
+ help="print verbose information about each step of the sync process")
+ self.add_option("-q", "--quiet", action="store_false", dest="verbose",
+ help="do not print information about each step of the sync process")
+ self.add_option("-e", "--encoder", dest="encoder", metavar="encoder",
+ help="specify the encoder (default %s)" % ENCODER)
+ self.add_option("-i", "--input", dest="input", metavar="dir",
+ help="specify the input <dir> (default %s)" % INPUT_DIR)
+
+# ============================================================================
+# Functions
+# ============================================================================
+if not hasattr(os.path, "relpath"):
+ def relpath(path, start=os.curdir):
+ abspath = os.path.abspath(path)
+ absstart = os.path.abspath(start)
+ if abspath == absstart:
+ return "."
+ i = len(absstart)
+ if not absstart.endswith(os.path.sep):
+ i += len(os.path.sep)
+ if not abspath.startswith(absstart):
+ i = 0
+ return abspath[i:]
+ os.path.relpath = relpath
+
+def _print_summary(succeed, failed, omitted):
+ print " ==> %s file(s) successfully converted" % succeed
+ print " ==> %s file(s) failed to convert" % failed
+ print " ==> %s file(s) omitted" % omitted
+
+def encode(path):
+ global VERBOSE, INPUT_DIR, ENCODER
+
+ failed = 0
+ succeed = 0
+ omitted = 0
+ workpath = None
+ newline = False
+
+ for root, dirs, files in os.walk(path):
+ i = 0
+ for file in files:
+ filepath = os.path.join(root, file)
+ basepath, extension = os.path.splitext(filepath)
+
+ if extension == ".svg":
+ tmppath = os.path.split(filepath)[0]
+ if tmppath != workpath:
+ if workpath != None:
+ newline = True
+ sys.stdout.write("\n")
+ _print_summary(succeed, failed, omitted)
+ failed = 0
+ succeed = 0
+ omitted = 0
+ workpath = tmppath
+ sys.stdout.write("Converting: %s" % os.path.relpath(workpath, INPUT_DIR).replace("\\", "/"))
+ else:
+ i += 1
+ if i % 10 == 0:
+ sys.stdout.write(".")
+
+ command = "%s -v 6 -e .nvg %s" % (ENCODER, filepath)
+ os.system(command)
+ exists = os.path.exists(basepath + ".nvg")
+ if exists:
+ # cleanup conversion source (.svg)
+ os.remove(filepath)
+ succeed += 1
+ else:
+ failed += 1
+ if VERBOSE:
+ print " %s: %s" % (file, exists)
+ elif extension == ".nvg":
+ # cleanup, from previous conversion
+ os.remove(filepath)
+ else:
+ omitted += 1
+
+ if newline:
+ sys.stdout.write("\n")
+ _print_summary(succeed, failed, omitted)
+
+# ============================================================================
+# main()
+# ============================================================================
+def main():
+ global VERBOSE, ENCODER, INPUT_DIR
+
+ parser = OptionParser()
+ (options, args) = parser.parse_args()
+
+ if options.verbose != None:
+ VERBOSE = options.verbose
+ if options.encoder != None:
+ ENCODER = options.encoder
+ if options.input != None:
+ INPUT_DIR = options.input
+
+ encode(INPUT_DIR)
+
+ return 0
+
+if __name__ == "__main__":
+ sys.exit(main())