]> git.donarmstrong.com Git - lilypond.git/blob - bin/lily-python.py
release: 0.1.23
[lilypond.git] / bin / lily-python.py
1 #!@PYTHON@
2
3
4 # lily-python.py --  implement general LilyPond-wide python stuff
5
6 # source file of the GNU LilyPond music typesetter
7
8 # (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
9
10
11 import posix
12 import pwd
13 import regex
14 import regsub
15 import string
16 import sys
17 import os
18 import getopt
19
20
21
22
23
24 make_assign_re = regex.compile('^\([A-Z_]*\) *= *\(.*\)$')
25
26 def version_str_tuple(file):
27     lines = file.readlines()
28
29     mi = pa = mp = mj = ''
30     
31     for l in lines:
32         if make_assign_re.search(l) <> -1:
33             nm = make_assign_re.group(1)
34             val = make_assign_re.group(2)
35             if nm == 'TOPLEVEL_MAJOR_VERSION':
36                 mj = val
37             elif nm == 'TOPLEVEL_MINOR_VERSION':
38                 mi = val
39             elif nm == 'TOPLEVEL_PATCH_LEVEL':
40                 pa = val
41             elif nm == 'TOPLEVEL_MY_PATCH_LEVEL':
42                 mp = val
43     return (mj,mi,pa,mp)
44
45 class Lilydirs:
46     def __init__(self):
47         try:
48             self.topdir = os.environ['LILYPOND_SOURCEDIR'] + '/'
49         except IndexError:
50             self.topdir = os.environ['HOME'] + 'musix/current'
51             
52         self.release_dir = self.topdir + '../releases/'
53         self.patch_dir = self.topdir + '../patches/'
54
55     def version_str_tuple(self):
56         f = open (self.topdir + 'VERSION')
57         v = version_str_tuple(f)
58         f.close ()
59         return v
60
61 lilydirs = Lilydirs()
62
63 print lilydirs.version_str_tuple()