| Trees | Indices | Help |
|---|
|
|
1 #============================================================================
2 #Name : version.py
3 #Part of : Helium
4
5 #Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
6 #All rights reserved.
7 #This component and the accompanying materials are made available
8 #under the terms of the License "Eclipse Public License v1.0"
9 #which accompanies this distribution, and is available
10 #at the URL "http://www.eclipse.org/legal/epl-v10.html".
11 #
12 #Initial Contributors:
13 #Nokia Corporation - initial contribution.
14 #
15 #Contributors:
16 #
17 #Description:
18 #===============================================================================
19
20 """ S60 Version Management module.
21
22 ::
23
24 config = {'model.name': 'NXX',
25 'variant.id': '01',
26 'variant.revision' : '0',
27 'model.template': '${model.name} (${variant.id}.${variant.revision})'}
28 v = Version('model',config)
29 print v.version_string()
30
31 """
32
33 from datetime import date
34 import codecs
35 import os
36 import re
37
39 """ Version template.
40 """
42 """ Initialise the Version object.
43 """
44 self.vtype = vtype
45 self.config = config
46 today = date.today().strftime( "%d-%m-%y" )
47 self.config['today'] = today
48
50 """ Returns the formatted version string.
51 """
52 # Insert the attributes of this object into the format string
53 # Make all Ant-like substitution match the Python format for string substitution
54 return self.__unescape(self.config["%s.template" % self.vtype])
55
57 """ Write the version string to the vtype.txt.path file.
58 """
59 self.__write(self.__unescape(self.config["%s.txt.path" % self.vtype]), self.version_string())
60
62 print 'Writing version file: ' + path
63 #print 'Content: ' + content
64 if os.path.exists( path ):
65 os.remove( path )
66 newfile = open( path, 'w+' )
67 newfile.write( codecs.BOM_UTF16_LE )
68 newfile.close()
69 vout = codecs.open( path, 'a', 'utf-16-le' )
70 vout.write( unicode( content ) )
71 vout.close()
72
73
75 previous = u''
76 while previous != text:
77 previous = text
78 text = re.sub(r'\${(?P<name>[._a-zA-Z0-9]+)}', r'%(\g<name>)s', text)
79 text = text % self.config
80 return text
81
82
84 """ The string representation of the version object is the full version string.
85 """
86 return self.version_string()
87
| Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0beta1 on Wed Sep 09 13:44:21 2009 | http://epydoc.sourceforge.net |