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
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
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='')
# Handle TOC scriblings...
if level == 0:
- toc = toc + '<h2>Part ' + roman[levelNums[level]] + ': ' + header['title'] + '</h2>\n';
+ toc = toc + '<h2>Part ' + num2roman(levelNums[level]) + ': ' + header['title'] + '</h2>\n';
elif level == 1:
toc = toc + ' <p id=chapter>Ch. ' + str(levelNums[level]) + ': <a href="/' + header['filename'] + '/">' + header['title'] + '</a></p>\n'
elif level == 2: