User:Inductiveload/Scripts/Index page tabulator

From Wikisource
Jump to: navigation, search

This script will output a text file containing the wiki markup for the table. For an example of its use, see Index:The Complete Collection of Pictures & Songs by Randolph Caldecott.jpg.

Source code[edit]

#!/usr/bin/python
 
'''
create a table of pages from images for use in index pages.
'''
 
# Filenames:  PREFIX + DIGITS + SUFFIX + EXT
PREFIX = "Randolph_Caldecott_collection-page_"
SUFFIX = ""
EXT = ".jpg"
DIGITS = 4      #length of the numeric components
 
NUMBER = 199    # number of pages in total
STARTAT = 1     # first page number
ROWLENGTH=10    # number of pages in a row of the table
 
TITLE = "The Complete Collection of Pictures & Songs by Randolph Caldecott" #title of the table
 
OUTFILE = r'c:\temp2.txt' #where the table will be written to.
 
outfile= open(OUTFILE, 'w')
 
precstr = "%0" + str(DIGITS) + "d"
 
newline  = "{| cellspacing=2 cellpadding=4 border=0 |\n"
newline += "|+\n"
newline += '|colspan=10 align=center style="border-top: 2px solid #808080; background-color: #f4f0e5;"|'+"'''" + TITLE + "'''\n"
 
 
outfile.write(newline)
outfile.flush()
 
for i in range( int(round(NUMBER//ROWLENGTH + 0.5)) ):
    newline = "|-\n"
    for j in range(ROWLENGTH):
        index = i*ROWLENGTH + j + STARTAT
        newline += "|bgcolor=#F0F0F0 align=center|"
 
        if index <= NUMBER:
            newline += "[[Page:" + PREFIX + precstr%index + SUFFIX + EXT + "|" + str(index) + "]]\n"
        else:
            newline += '&nbsp;\n'
 
    outfile.write(newline)
    outfile.flush()
 
outfile.write("|}\n")
outfile.flush()