In [ ]:
import forge
from data import warehouse
from puzzle.puzzlepedia import prod_config

prod_config.init()

anagram_index = warehouse.get('/words/unigram/anagram_index')

In [24]:
banned = frozenset("""BORON
NITROGEN
IRON
ARSENIC
TECHNETIUM
CERIUM
RADON""".lower().split())

JIGSAW_ELEMENTS = """
Oxygen
Fluorine
Neon
Sodium
Magnesium
Aluminum
Silicon
Phosphorus
Sulfur
Chlorine
Argon
Potassium
Calcium
Scandium
Titanium
Vanadium
Chromium
Manganese
""".lower().split()

PAPER_ELEMENTS = """
Praseodymium
Neodymium
Promethium
Samarium
Europium
Gadolinium
Terbium
Dysprosium
Holmium
Erbium
Thulium
Ytterbium
Lutetium
Hafnium
Tantalum
Tungsten
Rhenium
Osmium
Iridium
Platinum
Gold
Mercury
Thallium
Lead
Bismuth
Polonium
Astatine
""".lower().split()

In [25]:
remaining = [
  (JIGSAW_ELEMENTS, 's'),
  (PAPER_ELEMENTS, 'i'),
]

for elements, letter in remaining:
  for element in elements:
    if element in banned:
      continue
    letters = element + letter
    if letters in anagram_index:
      print(element, '+', letter, '\t', anagram_index[letters])


oxygen + s 	 ['gynosex']
neon + s 	 ['sonne', 'neons', 'onsen']
argon + s 	 ['organs', 'sarong', 'groans', 'garson', 'sargon']
platinum + i 	 ['platinium']
lead + i 	 ['ideal', 'delia', 'ladie', 'elida', 'aldie']

In [35]:
for elements, letter in remaining:
  for element in elements:
    print('https://nutrimatic.org/?q=%%3C%s%s%%3E&go=Go' % (element, letter))


https://nutrimatic.org/?q=%3Coxygens%3E&go=Go
https://nutrimatic.org/?q=%3Cfluorines%3E&go=Go
https://nutrimatic.org/?q=%3Cneons%3E&go=Go
https://nutrimatic.org/?q=%3Csodiums%3E&go=Go
https://nutrimatic.org/?q=%3Cmagnesiums%3E&go=Go
https://nutrimatic.org/?q=%3Caluminums%3E&go=Go
https://nutrimatic.org/?q=%3Csilicons%3E&go=Go
https://nutrimatic.org/?q=%3Cphosphoruss%3E&go=Go
https://nutrimatic.org/?q=%3Csulfurs%3E&go=Go
https://nutrimatic.org/?q=%3Cchlorines%3E&go=Go
https://nutrimatic.org/?q=%3Cargons%3E&go=Go
https://nutrimatic.org/?q=%3Cpotassiums%3E&go=Go
https://nutrimatic.org/?q=%3Ccalciums%3E&go=Go
https://nutrimatic.org/?q=%3Cscandiums%3E&go=Go
https://nutrimatic.org/?q=%3Ctitaniums%3E&go=Go
https://nutrimatic.org/?q=%3Cvanadiums%3E&go=Go
https://nutrimatic.org/?q=%3Cchromiums%3E&go=Go
https://nutrimatic.org/?q=%3Cmanganeses%3E&go=Go
https://nutrimatic.org/?q=%3Cpraseodymiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cneodymiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cpromethiumi%3E&go=Go
https://nutrimatic.org/?q=%3Csamariumi%3E&go=Go
https://nutrimatic.org/?q=%3Ceuropiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cgadoliniumi%3E&go=Go
https://nutrimatic.org/?q=%3Cterbiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cdysprosiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cholmiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cerbiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cthuliumi%3E&go=Go
https://nutrimatic.org/?q=%3Cytterbiumi%3E&go=Go
https://nutrimatic.org/?q=%3Clutetiumi%3E&go=Go
https://nutrimatic.org/?q=%3Chafniumi%3E&go=Go
https://nutrimatic.org/?q=%3Ctantalumi%3E&go=Go
https://nutrimatic.org/?q=%3Ctungsteni%3E&go=Go
https://nutrimatic.org/?q=%3Crheniumi%3E&go=Go
https://nutrimatic.org/?q=%3Cosmiumi%3E&go=Go
https://nutrimatic.org/?q=%3Ciridiumi%3E&go=Go
https://nutrimatic.org/?q=%3Cplatinumi%3E&go=Go
https://nutrimatic.org/?q=%3Cgoldi%3E&go=Go
https://nutrimatic.org/?q=%3Cmercuryi%3E&go=Go
https://nutrimatic.org/?q=%3Cthalliumi%3E&go=Go
https://nutrimatic.org/?q=%3Cleadi%3E&go=Go
https://nutrimatic.org/?q=%3Cbismuthi%3E&go=Go
https://nutrimatic.org/?q=%3Cpoloniumi%3E&go=Go
https://nutrimatic.org/?q=%3Castatinei%3E&go=Go

In [36]:
for elements, letter in remaining:
  print('https://nutrimatic.org/?q=%%3C%s%%28%s%%29%%3E&go=Go' % (letter, '%29%28'.join(elements)))


https://nutrimatic.org/?q=%3Cs%28oxygen%29%28fluorine%29%28neon%29%28sodium%29%28magnesium%29%28aluminum%29%28silicon%29%28phosphorus%29%28sulfur%29%28chlorine%29%28argon%29%28potassium%29%28calcium%29%28scandium%29%28titanium%29%28vanadium%29%28chromium%29%28manganese%29%3E&go=Go
https://nutrimatic.org/?q=%3Ci%28praseodymium%29%28neodymium%29%28promethium%29%28samarium%29%28europium%29%28gadolinium%29%28terbium%29%28dysprosium%29%28holmium%29%28erbium%29%28thulium%29%28ytterbium%29%28lutetium%29%28hafnium%29%28tantalum%29%28tungsten%29%28rhenium%29%28osmium%29%28iridium%29%28platinum%29%28gold%29%28mercury%29%28thallium%29%28lead%29%28bismuth%29%28polonium%29%28astatine%29%3E&go=Go

In [ ]: