"""
Extract and sort columns 0 and 2 (formula and name) and sort them such
that about the same thing is close to each other.  Then write that
to res/species-key.txt
"""

import sys


def gen_sort_key(species, name):
	return f"{name} {species}"

seen_pairs = set()
with open("data/splatalogue_known_1to950GHz.tsv", encoding="utf-8") as in_f:
	in_f.readline()
	for ln in in_f:
		parts = ln.split("\t")
		seen_pairs.add((parts[0], parts[2]))

with open("res/species-key.txt", "w", encoding="utf-8") as out_f:
	for _, pair in sorted((gen_sort_key(*pair), pair) for pair in seen_pairs):
		try:
				out_f.write("{}\t{}\t\n".format(*pair))
		except IndexError:
			sys.stderr.write(f"Dropping {pair}\n")
