def set_related_links(): with open('/tmp/related_links.json', 'r', encoding='utf-8') as ifile: dicts = json.loads(ifile.read()) print('Setting related links/grows with...') for d in dicts: cn = CommonName.from_slugs( d['source']['idx_slug'], d['source']['cn_slug'] ) if d['target']['anchor']: t = Cultivar.from_slugs( d['target']['idx_slug'], d['target']['cn_slug'], d['target']['anchor'] ) if t: cn.gw_cultivars.append(t) else: t = Section.from_slugs( d['target']['idx_slug'], d['target']['cn_slug'], d['target']['anchor'] ) if t: cn.gw_sections.append(t) else: print( 'Could not find a Section or Cultivar with the ' 'slug: "{}"'.format(d['target']['anchor']) ) t = CommonName.from_slugs( d['target']['idx_slug'], d['target']['cn_slug'] ) cn.gw_common_names.append(t) else: t = CommonName.from_slugs( d['target']['idx_slug'], d['target']['cn_slug'] ) if t: cn.gw_common_names.append(t) else: print('Could not find gw for {}'.format(d)) if t: print( '"{}" grows with the {} "{}"' .format(cn.name, t.__class__.__name__, t.name) ) db.session.commit()