X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=scrape-wiki-data.py;h=7f5d3da06d8c3494f3c62221cc0eecf2ce53c57a;hb=refs%2Fheads%2Fmaster;hp=b12f8a67681aa79e1469c1184749eee4d6d05b25;hpb=3cc07334fa50893efa1aa3d607b9a95ae557ce7a;p=poefilter.git diff --git a/scrape-wiki-data.py b/scrape-wiki-data.py index b12f8a6..7f5d3da 100755 --- a/scrape-wiki-data.py +++ b/scrape-wiki-data.py @@ -108,6 +108,8 @@ class WikiTableParser(WikiParser): pass class DivinationCardsParser(WikiTableParser): + reward_kinds = ("currency", "map", "unique", "links", "skillgem", "rare", "magic", "other") + def handle_starttag(self, tag, attrs): super(DivinationCardsParser, self).handle_starttag(tag, attrs) @@ -340,10 +342,10 @@ def main(): by_reward.setdefault(it.reward_kind, []).append(it) out = open("cards.txt", "w") - for r, il in by_reward.items(): + for r in DivinationCardsParser.reward_kinds: out.write('category "card.{}"\n'.format(r)) out.write('{\n\tclass "Card";\n\tor\n\t{\n') - for it in il: + for it in by_reward[r]: out.write('\t\tbase_type "{}";\n'.format(it.name)) out.write("\t};\n};\n") @@ -382,28 +384,28 @@ def main(): sys.stdout.write(prefix) out = open("skillgems.txt", "w") - out.write('category "skillgem.vaal"\n{\n\tclass "Skill Gem";\n\tor\n\t{\n') + out.write('category "skillgem.special.vaal"\n{\n\tclass "Skill Gem";\n\tor\n\t{\n') for g in gems: if g.vaal: out.write('\t\tbase_type "{}";\n'.format(g.name)) out.write("\t};\n};\n") - out.write('category "skillgem.drop"\n{\n\tclass "Skill Gem";\n\tor\n\t{\n') + out.write('category "skillgem.special.drop"\n{\n\tclass "Skill Gem";\n\tor\n\t{\n') for g in gems: if (g.drop_only or not g.price) and not g.vaal: out.write('\t\tbase_type "{}";\n'.format(g.name)) out.write("\t};\n};\n") for p, n in SkillGemParser.prices: - out.write('category "skillgem.{}"\n'.format(p)) + out.write('category "skillgem.price.{}"\n'.format(p)) out.write('{\n\tclass "Skill Gem";\n\tor\n\t{\n') for g in gems: - if g.price==p: + if not g.drop_only and g.price==p: out.write('\t\tbase_type "{}";\n'.format(g.name)) out.write("\t};\n};\n") for a in ["strength", "dexterity", "intelligence"]: - out.write('category "skillgem.{}"\n'.format(a)) + out.write('category "skillgem.attribute.{}"\n'.format(a)) out.write('{\n\tclass "Skill Gem";\n\tor\n\t{\n') for g in gems: if g.primary_attribute==a: