]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.1.24
authorfred <fred>
Wed, 15 Oct 1997 19:32:45 +0000 (19:32 +0000)
committerfred <fred>
Wed, 15 Oct 1997 19:32:45 +0000 (19:32 +0000)
bin/lilypython.py [new file with mode: 0644]

diff --git a/bin/lilypython.py b/bin/lilypython.py
new file mode 100644 (file)
index 0000000..1b62c28
--- /dev/null
@@ -0,0 +1,114 @@
+#!@PYTHON@
+
+# 
+# lily-python.py --  implement general LilyPond-wide python stuff
+# 
+# source file of the GNU LilyPond music typesetter
+# 
+# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+# 
+
+import posix
+import pwd
+import regex
+import regsub
+from string import *
+import sys
+import os
+import getopt
+
+
+
+
+version_re = regex.compile('\\version *\"\(.*\)\"')
+make_assign_re = regex.compile('^\([A-Z_]*\) *= *\(.*\)$')
+
+def version_tuple(file):
+    lines = file.readlines()
+
+    mi = pa = mj = 0
+    mp = ''
+    
+    for l in lines:
+       if make_assign_re.search(l) <> -1:
+           nm = make_assign_re.group(1)
+           val = make_assign_re.group(2)
+           if nm == 'TOPLEVEL_MAJOR_VERSION':
+               mj = atoi(val)
+           elif nm == 'TOPLEVEL_MINOR_VERSION':
+               mi = atoi(val)
+           elif nm == 'TOPLEVEL_PATCH_LEVEL':
+               pa = atoi(val)
+           elif nm == 'TOPLEVEL_MY_PATCH_LEVEL':
+               mp = val
+    return (mj,mi,pa,mp)
+
+def next_version(tup):
+    return (tup[0], tup[1], tup[2] + 1, tup[3]);
+
+def prev_version(tup):
+    t = tup
+    if t[3]:
+       return (tup[0], tup[1], tup[2], '');
+    elif t[2] == 0 :
+       return (tup[0], tup[1] -1, tup[2], ''); 
+    else:      
+       return (tup[0], tup[1], tup[2] - 1, '');
+
+
+def tuple_to_list(tup):
+    l=[]
+    for x in tup:
+       l.append[x]
+    return l
+
+def version_str_to_tuple(str):
+    t = split(str, '.')
+    try:
+       mypatch = t[3]
+    except IndexError:
+       mypatch = ''
+       
+    return (atoi(t[0]), atoi(t[1]), atoi(t[2]), mypatch)
+
+
+
+def guess_mudela_version(filename):
+    f = open (filename)
+    lines = f.readlines()
+    f.close()
+    for l in lines:
+       if version_re.search(l) <> -1:
+           return version_re.group(1)
+    
+    return ''
+
+def version_tuple_to_str(tup):
+    return '%d.%d.%d%s' % tup
+
+class Lilydirs:
+    def __init__(self):
+       try:
+           self.topdir = os.environ['LILYPOND_SOURCEDIR'] + '/'
+       except IndexError:
+           self.topdir = os.environ['HOME'] + 'musix/current'
+           
+       self.release_dir = self.topdir + '../releases/'
+       self.patch_dir = self.topdir + '../patches/'
+
+    def version_tuple(self):
+        f = open (self.topdir + 'VERSION')
+       v = version_tuple(f)
+       f.close ()
+       return v
+
+
+lilydirs = Lilydirs()
+
+if __name__ == '__main__':
+    v= lilydirs.version_tuple()
+    print v, prev_version(v), next_version(v)
+
+    mv =  guess_mudela_version(lilydirs.topdir + 'init/symbol.ly')
+
+    print version_str_to_tuple(mv)