just use an inmem db
This commit is contained in:
		
							parent
							
								
									08c9466370
								
							
						
					
					
						commit
						609c3ca886
					
				@ -1,198 +1,184 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
import sqlite3
 | 
			
		||||
 | 
			
		||||
episodes = ['ep1', 'ep2', 'ep4']
 | 
			
		||||
difficulties = ['normal', 'hard', 'veryhard', 'ultimate']
 | 
			
		||||
sectionids = ['viridia', 'greenill', 'skyly', 'bluefull', 'purplenum', 'pinkal', 'redria', 'oran', 'yellowboze', 'whitill']
 | 
			
		||||
 | 
			
		||||
with open('drops','r') as infile:
 | 
			
		||||
    drops = infile.readlines()
 | 
			
		||||
drops = [drop.strip() for drop in drops]
 | 
			
		||||
 | 
			
		||||
ep1drops = list(filter(lambda d: d.split(',')[0] == 'ep1', drops))
 | 
			
		||||
ep2drops = list(filter(lambda d: d.split(',')[0] == 'ep2', drops))
 | 
			
		||||
ep4drops = list(filter(lambda d: d.split(',')[0] == 'ep4', drops))
 | 
			
		||||
ep1monsters = [
 | 
			
		||||
'AlRappy',
 | 
			
		||||
'BarbarousWolf',
 | 
			
		||||
'Booma',
 | 
			
		||||
'Bulclaw',
 | 
			
		||||
'Canadine',
 | 
			
		||||
'Canane',
 | 
			
		||||
'ChaosBringer',
 | 
			
		||||
'ChaosSorcerer',
 | 
			
		||||
'Claw',
 | 
			
		||||
'DarkBelra',
 | 
			
		||||
'DarkGunner',
 | 
			
		||||
'Delsaber',
 | 
			
		||||
'Dimenian',
 | 
			
		||||
'Dubchic',
 | 
			
		||||
'EvilShark',
 | 
			
		||||
'Garanz',
 | 
			
		||||
'Gigobooma',
 | 
			
		||||
'Gillchic',
 | 
			
		||||
'Gobooma',
 | 
			
		||||
'GrassAssassin',
 | 
			
		||||
'GuilShark',
 | 
			
		||||
'Hidoom',
 | 
			
		||||
'Hildebear',
 | 
			
		||||
'Hildeblue',
 | 
			
		||||
'LaDimenian',
 | 
			
		||||
'Migium',
 | 
			
		||||
'Mothmant',
 | 
			
		||||
'NanoDragon',
 | 
			
		||||
'NarLily',
 | 
			
		||||
'PalShark',
 | 
			
		||||
'PanArms',
 | 
			
		||||
'PofuillySlime',
 | 
			
		||||
'PoisonLily',
 | 
			
		||||
'PouillySlime',
 | 
			
		||||
'RagRappy',
 | 
			
		||||
'SavageWolf',
 | 
			
		||||
'SinowBeat',
 | 
			
		||||
'SinowGold',
 | 
			
		||||
'SoDimenian',
 | 
			
		||||
'Dragon',
 | 
			
		||||
'DeRolLe',
 | 
			
		||||
'VolOpt',
 | 
			
		||||
'DarkFalz']
 | 
			
		||||
 | 
			
		||||
ep1monsters = list(set(line.split(',')[3] for line in ep1drops))
 | 
			
		||||
ep2monsters = list(set(line.split(',')[3] for line in ep2drops))
 | 
			
		||||
ep4monsters = list(set(line.split(',')[3] for line in ep4drops))
 | 
			
		||||
ep2monsters = [
 | 
			
		||||
'BarbarousWolf',
 | 
			
		||||
'ChaosSorcerer',
 | 
			
		||||
'DarkBelra',
 | 
			
		||||
'Delbiter',
 | 
			
		||||
'Deldepth',
 | 
			
		||||
'DelLily',
 | 
			
		||||
'Delsaber',
 | 
			
		||||
'Dimenian',
 | 
			
		||||
'Dolmdarl',
 | 
			
		||||
'Dolmolm',
 | 
			
		||||
'Dubchic',
 | 
			
		||||
'EasterRappy',
 | 
			
		||||
'Epsilon',
 | 
			
		||||
'Garanz',
 | 
			
		||||
'Gee',
 | 
			
		||||
'Gibbles',
 | 
			
		||||
'GiGue',
 | 
			
		||||
'Gillchic',
 | 
			
		||||
'GrassAssassin',
 | 
			
		||||
'HalloRappy',
 | 
			
		||||
'Hidoom',
 | 
			
		||||
'Hildebear',
 | 
			
		||||
'Hildeblue',
 | 
			
		||||
'IllGill',
 | 
			
		||||
'LaDimenian',
 | 
			
		||||
'LoveRappy',
 | 
			
		||||
'Mericarol',
 | 
			
		||||
'Mericus',
 | 
			
		||||
'Merikle',
 | 
			
		||||
'Merillia',
 | 
			
		||||
'Meriltas',
 | 
			
		||||
'Migium',
 | 
			
		||||
'Morfos',
 | 
			
		||||
'Mothmant',
 | 
			
		||||
'NarLily',
 | 
			
		||||
'PanArms',
 | 
			
		||||
'PoisonLily',
 | 
			
		||||
'RagRappy',
 | 
			
		||||
'Recon',
 | 
			
		||||
'SavageWolf',
 | 
			
		||||
'SinowBerill',
 | 
			
		||||
'SinowSpigell',
 | 
			
		||||
'SinowZele',
 | 
			
		||||
'SinowZoa',
 | 
			
		||||
'SoDimenian',
 | 
			
		||||
'StRappy',
 | 
			
		||||
'UlGibbon',
 | 
			
		||||
'ZolGibbon',
 | 
			
		||||
'BarbaRay',
 | 
			
		||||
'GolDragon',
 | 
			
		||||
'GalGryphon',
 | 
			
		||||
'OlgaFlow']
 | 
			
		||||
 | 
			
		||||
ep1monsters.sort()
 | 
			
		||||
ep2monsters.sort()
 | 
			
		||||
ep4monsters.sort()
 | 
			
		||||
ep4monsters = [
 | 
			
		||||
'Astark',
 | 
			
		||||
'BaBoota',
 | 
			
		||||
'Boota',
 | 
			
		||||
'DelRappyCrater',
 | 
			
		||||
'DelRappyDesert',
 | 
			
		||||
'Dorphon',
 | 
			
		||||
'DorphonEclair',
 | 
			
		||||
'Girtablulu',
 | 
			
		||||
'Goran',
 | 
			
		||||
'GoranDetonator',
 | 
			
		||||
'MerissaA',
 | 
			
		||||
'MerissaAA',
 | 
			
		||||
'PazuzuCrater',
 | 
			
		||||
'PazuzuDesert',
 | 
			
		||||
'PyroGoran',
 | 
			
		||||
'SandRappyCrater',
 | 
			
		||||
'SandRappyDesert',
 | 
			
		||||
'SatelliteLizardCrater',
 | 
			
		||||
'SatelliteLizardDesert',
 | 
			
		||||
'YowieCrater',
 | 
			
		||||
'YowieDesert',
 | 
			
		||||
'ZeBoota',
 | 
			
		||||
'ZuCrater',
 | 
			
		||||
'ZuDesert',
 | 
			
		||||
'SaintMillion',
 | 
			
		||||
'Shambertin',
 | 
			
		||||
'Kondrieu']
 | 
			
		||||
 | 
			
		||||
ep1normal = list(filter(lambda d: d.split(',')[1] == 'normal', ep1drops))
 | 
			
		||||
ep1hard = list(filter(lambda d: d.split(',')[1] == 'hard', ep1drops))
 | 
			
		||||
ep1veryhard = list(filter(lambda d: d.split(',')[1] == 'veryhard', ep1drops))
 | 
			
		||||
ep1ultimate = list(filter(lambda d: d.split(',')[1] == 'ultimate', ep1drops))
 | 
			
		||||
 | 
			
		||||
print('ep1 normal drops')
 | 
			
		||||
for monster in ep1monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1normal)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep1 hard drops')
 | 
			
		||||
for monster in ep1monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1hard)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep1 veryhard drops')
 | 
			
		||||
for monster in ep1monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1veryhard)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep1 ultimate drops')
 | 
			
		||||
for monster in ep1monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1ultimate)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('\n\n\n\n\n\n')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# print drops per difficulty
 | 
			
		||||
ep2normal = list(filter(lambda d: d.split(',')[1] == 'normal', ep2drops))
 | 
			
		||||
ep2hard = list(filter(lambda d: d.split(',')[1] == 'hard', ep2drops))
 | 
			
		||||
ep2veryhard = list(filter(lambda d: d.split(',')[1] == 'veryhard', ep2drops))
 | 
			
		||||
ep2ultimate = list(filter(lambda d: d.split(',')[1] == 'ultimate', ep2drops))
 | 
			
		||||
 | 
			
		||||
print('ep2 normal drops')
 | 
			
		||||
for monster in ep2monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2normal)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep2 hard drops')
 | 
			
		||||
for monster in ep2monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2hard)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep2 veryhard drops')
 | 
			
		||||
for monster in ep2monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2veryhard)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep2 ultimate drops')
 | 
			
		||||
for monster in ep2monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2ultimate)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('\n\n\n\n\n\n')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# print drops per difficulty
 | 
			
		||||
ep4normal = list(filter(lambda d: d.split(',')[1] == 'normal', ep4drops))
 | 
			
		||||
ep4hard = list(filter(lambda d: d.split(',')[1] == 'hard', ep4drops))
 | 
			
		||||
ep4veryhard = list(filter(lambda d: d.split(',')[1] == 'veryhard', ep4drops))
 | 
			
		||||
ep4ultimate = list(filter(lambda d: d.split(',')[1] == 'ultimate', ep4drops))
 | 
			
		||||
 | 
			
		||||
print('ep4 normal drops')
 | 
			
		||||
for monster in ep4monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4normal)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep4 hard drops')
 | 
			
		||||
for monster in ep4monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4hard)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep4 veryhard drops')
 | 
			
		||||
for monster in ep4monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4veryhard)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
print('\n\n')
 | 
			
		||||
 | 
			
		||||
print('ep4 ultimate drops')
 | 
			
		||||
for monster in ep4monsters:
 | 
			
		||||
    monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4ultimate)) # all drops for specific monster (list of strings)
 | 
			
		||||
    print('{},'.format(monster), sep='', end='')
 | 
			
		||||
    for sectionid in sectionids:
 | 
			
		||||
        for md in monster_drops:
 | 
			
		||||
            if sectionid in md:
 | 
			
		||||
                print('{}'.format(md.split(',')[4]),sep='', end='')
 | 
			
		||||
        print(',', sep='', end='')
 | 
			
		||||
epmonsters = {
 | 
			
		||||
    'ep1': ep1monsters,
 | 
			
		||||
    'ep2': ep2monsters,
 | 
			
		||||
    'ep4': ep4monsters
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
conn = sqlite3.connect('elsewaredrops.db')
 | 
			
		||||
#conn = sqlite3.connect('memory:')
 | 
			
		||||
curs = conn.cursor()
 | 
			
		||||
 | 
			
		||||
def create_table():
 | 
			
		||||
    curs.execute('CREATE TABLE IF NOT EXISTS drops (episode TEXT, difficulty TEXT, sectionid TEXT, monster TEXT, item TEXT, rate REAL)')
 | 
			
		||||
    #conn.commit()
 | 
			
		||||
    curs.execute("SELECT COUNT(*) FROM drops")
 | 
			
		||||
    result = curs.fetchall()
 | 
			
		||||
    if result[0][0] == 0:
 | 
			
		||||
        for drop in drops:
 | 
			
		||||
            line = drop.strip().split(',')
 | 
			
		||||
            curs.execute("INSERT INTO drops (episode, difficulty, sectionid, monster, item, rate) VALUES (?, ?, ?, ?, ?, ?)", (line[0], line[1], line[2], line[3], line[4], line[5]))
 | 
			
		||||
    else:
 | 
			
		||||
        print("already data in the db")
 | 
			
		||||
    conn.commit()
 | 
			
		||||
 | 
			
		||||
print('elseware drops')
 | 
			
		||||
for episode in episodes:
 | 
			
		||||
    for difficulty in difficulties:
 | 
			
		||||
        print('{} {}'.format(episode, difficulty))
 | 
			
		||||
        print('enemy', sep='', end='')
 | 
			
		||||
        for sectionid in sectionids:
 | 
			
		||||
            print(',{}'.format(sectionid), sep='', end='')
 | 
			
		||||
        print()
 | 
			
		||||
        for monster in epmonsters[episode]:
 | 
			
		||||
            print('{}'.format(monster), sep='', end='')
 | 
			
		||||
            curs.execute("SELECT item FROM drops WHERE episode = '{}' AND difficulty = '{}' AND monster = '{}'".format(episode, difficulty, monster))
 | 
			
		||||
            rows = curs.fetchall()
 | 
			
		||||
            for row in rows:
 | 
			
		||||
                print(',{}'.format(row[0]), sep='', end='')
 | 
			
		||||
            print()
 | 
			
		||||
        print()
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
curs.close()
 | 
			
		||||
conn.close()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user