Allow tags with identical names.
[wolnelektury.git] / scripts / conv_genre_families.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
4 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
5 #
6 from lxml import etree
7 from slughifi import slughifi
8 from django.core.management import setup_environ
9 from wolnelektury import settings
10
11 setup_environ(settings)
12
13 from catalogue.models import Tag
14
15
16 doc = etree.parse('rodziny.xml')
17
18 for element in doc.findall('//span'):
19     themes = [s.strip() for s in element.text.split(',')]
20     
21     element.text = u''
22     
23     for theme in themes:
24         try:
25             Tag.objects.get(slug=slughifi(theme))
26         
27             link = etree.SubElement(element, 'a', href=u'/katalog/%s' % slughifi(theme))
28             link.text = theme
29             link.tail = ', '
30             last_link = link
31         except:
32             print "Pomijam %s" % slughifi(theme)
33
34     last_link.tail = ''
35
36
37 doc.write('ok.xml', xml_declaration=False, pretty_print=True, encoding='utf-8')