From: Ed Ward Date: Thu, 2 Feb 2017 18:20:48 +0000 (+0100) Subject: Created a function for roman numbers X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Ftrans;p=ardour-manual-diverged Created a function for roman numbers --- diff --git a/build.py b/build.py index 597e863..9aafc86 100755 --- a/build.py +++ b/build.py @@ -69,6 +69,20 @@ def PartToLevel(s): return level +# +# Converts a integer to a roman number +# +def num2roman(num): + num_map = [(1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman = '' + + while num > 0: + for i, r in num_map: + while num >= i: + roman += r + num -= i + + return roman # # Capture the master document's structure (and content, if any) in a list @@ -279,11 +293,6 @@ quiet = args.quiet if quiet: verbose = False - -roman = [ '0', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', - 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX', - 'XXI', 'XXII', 'XXIII', 'XXIV', 'XXV', 'XXVI', 'XXVII', 'XXVIII', 'XXIX', 'XXX' ] - #verbose = False level = 0 fileCount = 0 @@ -372,7 +381,7 @@ for header in fileStruct: print('\t', end='') if (level == 0): - print('\nPart ' + roman[levelNums[0]] + ': ', end='') + print('\nPart ' + num2roman(levelNums[0]) + ': ', end='') elif (level == 1): print('\n\tChapter ' + str(levelNums[1]) + ': ', end='') @@ -380,7 +389,7 @@ for header in fileStruct: # Handle TOC scriblings... if level == 0: - toc = toc + '

Part ' + roman[levelNums[level]] + ': ' + header['title'] + '

\n'; + toc = toc + '

Part ' + num2roman(levelNums[level]) + ': ' + header['title'] + '

\n'; elif level == 1: toc = toc + '

Ch. ' + str(levelNums[level]) + ':  ' + header['title'] + '

\n' elif level == 2: