diff -r 044383f39525 -r be27ed110b50 buildframework/helium/tools/relnotes/getVariantConfiguration.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/buildframework/helium/tools/relnotes/getVariantConfiguration.py Wed Oct 28 14:39:48 2009 +0000 @@ -0,0 +1,76 @@ +#============================================================================ +#Name : getVariantConfiguration.py +#Part of : Helium + +#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +#All rights reserved. +#This component and the accompanying materials are made available +#under the terms of the License "Eclipse Public License v1.0" +#which accompanies this distribution, and is available +#at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +#Initial Contributors: +#Nokia Corporation - initial contribution. +# +#Contributors: +# +#Description: +#=============================================================================== + +#--------------------------------------------------------------------------------------------------------------------------------------------- +# Name: getVariantConfiguration.py +# Synopsis: Extract the product variant configuration +# +# Requirements: +# -Python 2.4 +# +# History: +# Version: 1.0 23/5/2007 +# First version +#--------------------------------------------------------------------------------------------------------------------------------------------- + + +import localisation +import configuration +import codecs +import sys +import escapeddict + +class VariantInfo(object): + def __init__(self, variant, languagedb): + self.__variant = variant + self.__languagedb = languagedb + + def __str__(self): + output = "%s (%s)" % (self.__variant['description'], self.__variant['variant.id']) + "," + output += "%s (%s)" % (self.__languagedb.get_name(self.__variant['default']), self.__variant['default']) + "," + output += "\"%s\"" % ",".join(map(lambda x: "%s (%s)" % (self.__languagedb.get_name(x), x), self.__variant['languages'])) + return output + +def main(): + """ Main function create a csv file that defines the variant configuration. + """ + product = sys.argv[1] + languagefie = sys.argv[2] + configfile = sys.argv[3] + outputfile = sys.argv[4] + + try: + languagedb = localisation.Languages(languagefie) + builder = configuration.NestedConfigurationBuilder(open(configfile, 'r')) + config_set = builder.getConfiguration() + outfile = open(outputfile, "w+") + outfile.write("Variant,Default language,Languages\n") + for variant in config_set.getConfigurations(product): + if variant.name == "languagepack": + v = VariantInfo(variant, languagedb) + outfile.write(str(v)+"\n") + outfile.close() + except Exception, exc: + print "ERROR: %s" % exc + sys.exit(-1) + + sys.exit(0) + +if __name__ == "__main__": + main()