TEMPLATE = '''[ActivePage]
ActivePage=tsSearchByBuleiSingle
[SearchRange]
cbB1=1
cbB2=1
cbB3=1
cbB4=1
cbB5=1
cbB6=1
cbB7=1
cbB8=1
cbB9=1
cbB10=1
cbB11=1
cbB12=1
cbB14=1
cbB15=1
cbB17=1
cbB18=1
cbB19=1
cbB16=1
cbB20=1
cbB13=1
cbB21=1
cbSV1=1
cbSV2=1
cbSV3=1
cbSV4=1
cbSV5=1
cbSV6=1
cbSV7=1
cbSV8=1
cbSV9=1
cbSV10=1
cbSV11=1
cbSV12=1
cbSV13=1
cbSV14=1
cbSV15=1
cbSV16=1
cbSV17=1
cbSV18=1
cbSV19=1
cbSV20=1
cbSV21=1
cbSV22=1
cbSV23=1
cbSV24=1
cbSV25=1
cbSV26=1
cbSV27=1
cbSV28=1
cbSV29=1
cbSV30=1
cbSV31=1
cbSV32=1
cbSV33=1
cbSV34=1
cbSV35=1
cbSV36=1
cbSV37=1
cbSV38=1
cbSV39=1
cbSV40=1
cbSV41=1
cbSV42=1
cbSV43=1
cbSV44=1
cbSV45=1
cbSV46=1
cbSV47=1
cbSV48=1
cbSV49=1
cbSV50=1
cbSV51=1
cbSV52=1
cbSV53=1
cbSV54=1
cbSV55=1
cbSV85=1
cbSV85a=1
cbSV9a=1
cbSV12a=1
cbSV26a=1
cbSV30a=1
cbSV40a=1
cbSV54a=1
cbSX74=1
cbSX79=1
cbSX80=1
cbSX81=1
cbSX82=1
cbSX83=1
cbSX84=1
cbSX86=1
cbSX85=1
cbSX64=1
cbSX65=1
cbSX66=1
cbSX67=1
cbSX68=1
cbSX69=1
cbSX70=1
cbSX71=1
cbSX72=1
cbSX73=1
cbSX87=1
cbSX88=1
cbSX78=1
cbSX77=1
cbSX76=1
cbSX75=1
cbSX58=1
cbSX59=1
cbSX60=1
cbSX61=1
cbSX62=1
cbSX63=1
cbSX54=1
cbSX55=1
cbSX56=1
cbSX57=1
cbSX01=1
cbSX02=1
cbSX03=1
cbSX04=1
cbSX05=1
cbSX07=1
cbSX08=1
cbSX09=1
cbSX10=1
cbSX11=1
cbSX12=1
cbSX13=1
cbSX14=1
cbSX15=1
cbSX16=1
cbSX17=1
cbSX18=1
cbSX19=1
cbSX20=1
cbSX21=1
cbSX22=1
cbSX23=1
cbSX24=1
cbSX25=1
cbSX27=1
cbSX28=1
cbSX29=1
cbSX30=1
cbSX31=1
cbSX32=1
cbSX33=1
cbSX34=1
cbSX35=1
cbSX36=1
cbSX37=1
cbSX38=1
cbSX39=1
cbSX40=1
cbSX41=1
cbSX42=1
cbSX43=1
cbSX44=1
cbSX45=1
cbSX46=1
cbSX47=1
cbSX48=1
cbSX49=1
cbSX50=1
cbSX51=1
cbSX26=1
cbSX53=1
cbSX52=1
cbSX06=1
cbSJ01=1
cbSJ19=1
cbSJ20=1
cbSJ21=1
cbSJ22=1
cbSJ23=1
cbSJ24=1
cbSJ25=1
cbSJ27=1
cbSJ28=1
cbSJ29=1
cbSJ30=1
cbSJ31=1
cbSJ32=1
cbSJ33=1
cbSJ34=1
cbSJ35=1
cbSJ36=1
cbSJ37=1
cbSJ38=1
cbSJ39=1
cbSJ40=1
cbSJ26=1
cbSJ10=1
cbSJ15=1
cbSJ07=1
cbSA091=1
cbSA097=1
cbSA098=1
cbSA110=1
cbSA111=1
cbSA112=1
cbSA114=1
cbSA119=1
cbSA120=1
cbSA121=1
cbSC056=1
cbSC057=1
cbSC059=1
cbSC071=1
cbSC073=1
cbSC077=1
cbSC078=1
cbSC097=1
cbSC106=1
cbSG052=1
cbSG069=1
cbSG083=1
cbSG084=1
cbSF01=1
cbSF02=1
cbSF03=1
cbSF12=1
cbSF24=1
cbSF27=1
cbSF28=1
cbSF29=1
cbSK05=1
cbSK32=1
cbSK34=1
cbSK35=1
cbSK38=1
cbSK41=1
cbSL164=1
cbSL162=1
cbSL158=1
cbSL157=1
cbSL155=1
cbSL154=1
cbSL153=1
cbSL149=1
cbSL143=1
cbSL141=1
cbSL135=1
cbSL133=1
cbSL132=1
cbSL131=1
cbSL130=1
cbSL116=1
cbSL115=1
cbSM059=1
cbSP154=1
cbSP155=1
cbSP167=1
cbSP168=1
cbSP174=1
cbSP178=1
cbSP179=1
cbSP180=1
cbSP181=1
cbSP182=1
cbSP183=1
cbSP184=1
cbSP185=1
cbSP187=1
cbSP189=1
cbSS06=1
cbSU205=1
cbSU222=1
cbSU223=1
cbSZS01=1
cbSZW01=1
cbSZW02=1
cbSZW03=1
cbSI01=1
cbSZW04=1
cbSZW05=1
cbSZW06=1
cbSZW07=1
cbSZW08=1
cbSZW09=1
[BuleiSingle]
{}
[SutraSingle]
0='''

def vol_no_finder(text_no):
    if 1 <= text_no <= 98:
        return '01'
    if 99 <= text_no <= 151:
        return '02'
    if 152 <= text_no <= 191:
        return '03'
    if 192 <= text_no <= 219:
        return '04'
    if text_no == 220:
        return 'Do it manually!'
    if 221 <= text_no <= 261:
        return '08'
    if 262 <= text_no <= 278:
        return '09'
    if 279 <= text_no <= 309:
        return '10'
    if 310 <= text_no <= 320:
        return '11'
    if 321 <= text_no <= 396:
        return '12'
    if 397 <= text_no <= 424:
        return '13'
    if 425 <= text_no <= 584:
        return '14'
    if 585 <= text_no <= 655:
        return '15'
    if 656 <= text_no <= 720:
        return '16'
    if 721 <= text_no <= 847:
        return '17'
    if 848 <= text_no <= 917:
        return '18'
    if 918 <= text_no <= 1029:
        return '19'
    if 1030 <= text_no <= 1198:
        return '20'
    if 1199 <= text_no <= 1420:
        return '21'
    if 1421 <= text_no <= 1434:
        return '22'
    if 1435 <= text_no <= 1447:
        return '23'
    if 1448 <= text_no <= 1504:
        return '24'
    if 1505 <= text_no <= 1518:
        return '25'
    if 1519 <= text_no <= 1544:
        return '26'
    if 1545 <= text_no <= 1546:
        return '27'
    if 1547 <= text_no <= 1557:
        return '28'
    if 1558 <= text_no <= 1563:
        return '29'
    if 1564 <= text_no <= 1584:
        return '30'
    if 1585 <= text_no <= 1627:
        return '31'
    if 1628 <= text_no <= 1692:
        return '32'
    if 1693 <= text_no <= 1717:
        return '33'
    if 1718 <= text_no <= 1730:
        return '34'
    if 1731 <= text_no <= 1735:
        return '35'
    if 1736 <= text_no <= 1743:
        return '36'
    if 1744 <= text_no <= 1764:
        return '37'
    if 1765 <= text_no <= 1782:
        return '38'
    if 1783 <= text_no <= 1803:
        return '39'
    if 1804 <= text_no <= 1820:
        return '40'
    if 1821 <= text_no <= 1823:
        return '41'
    if 1824 <= text_no <= 1828:
        return '42'
    if 1829 <= text_no <= 1834:
        return '43'
    if 1835 <= text_no <= 1851:
        return '44'
    if 1852 <= text_no <= 1910:
        return '45'
    if 1911 <= text_no <= 1956:
        return '46'
    if 1957 <= text_no <= 2000:
        return '47'
    if 2001 <= text_no <= 2025:
        return '48'
    if 2026 <= text_no <= 2039:
        return '49'
    if 2040 <= text_no <= 2065:
        return '50'
    if 2066 <= text_no <= 2101:
        return '51'
    if 2102 <= text_no <= 2120:
        return '52'
    if 2121 <= text_no <= 2122:
        return '53'
    if 2123 <= text_no <= 2144:
        return '54'
    if 2145 <= text_no <= 2184:
        return '55'
    if 2732 <= text_no <= 2920:
        return '85'

def text_no_modifier(text_no):
    if 1 <= text_no <= 9:
        return '000' + str(text_no)
    if 10 <= text_no <= 99:
        return '00' + str(text_no)
    if 100 <= text_no <= 999:
        return '0' + str(text_no)
    else:
        return str(text_no)

def slr_writer(cat):
    slr = []
    for i, item in enumerate(cat):
        text_no = int(item)
        slr.append('{index}=T{vol}n{text}'.format(index=str(i), vol=vol_no_finder(text_no), text=text_no_modifier(text_no)))
    slr.append(str(i + 1) + '=')
    return slr

def main():
    userInput = input('Enter a list of Taisho text numbers separated by spaces.')
    cat = userInput.split()
    outputFile = open(('slr holding pen/' + input('Name for slr file?') + '.slr'), 'w')
    outputFile.write((TEMPLATE.format('\n'.join(slr_writer(cat)))))
    outputFile.close()

if __name__ == '__main__':
    main()
