diff --git a/README.md b/README.md index 3997c55..4ac3f8f 100644 --- a/README.md +++ b/README.md @@ -32,3 +32,12 @@ vim talks/MIOTALK/meta.yaml Quindi rifai `make publish` come spiegato prima: l'output ti informa di eventuali errori nei campi o sovrapposizioni con altri talk, leggilo! + +Hacking +--------- + +Il sito è un'istanza di pelican, più alcuni plugin custom: langmenu, per avere un menu che punta alle versioni +localizzate della pagina; talks, per gestire i talk in modo speciale. + +Il tutto richiede python 2.7, ma dal prossimo anno si potrebbe passare a python 3. Quindi cerca di tenere la +compatibilità, se metti mano al codice python. diff --git a/plugins/talks.py b/plugins/talks.py index 7995830..11aa077 100644 --- a/plugins/talks.py +++ b/plugins/talks.py @@ -20,6 +20,7 @@ from babel.dates import format_date, format_datetime, format_time from markdown import markdown from docutils import nodes from docutils.parsers.rst import directives, Directive +import six from pelican import signals, generators import jinja2 @@ -120,14 +121,14 @@ def get_talk_data(talkname): data.setdefault('nooverlap', []) if 'title' not in data: logging.warn("Talk <{}> has no `title` field".format(talkname)) - data['title'] = unicode(talkname) + data['title'] = six.text_type(talkname) else: - data['title'] = unicode(data['title']) + data['title'] = six.text_type(data['title']) if 'text' not in data: logging.warn("Talk <{}> has no `text` field".format(talkname)) data['text'] = '' else: - data['text'] = unicode(data['text']) + data['text'] = six.text_type(data['text']) if 'duration' not in data: logging.info("Talk <{}> has no `duration` field (50min used)" .format(talkname)) @@ -371,7 +372,7 @@ def talks_to_ics(): e = talk_to_ics(t) if e is not None: c.events.add(e) - return unicode(c) + return six.text_type(c) def talk_to_ics(talk): @@ -379,7 +380,7 @@ def talk_to_ics(talk): return None e = ics.Event( uid="%s@%d.hackmeeting.org" % (talk['id'], - get_global_data()['startdate'].year), + get_global_data()['startdate'].year), name=unidecode.unidecode(talk['title']), begin=talk['time'], duration=datetime.timedelta(minutes=talk['duration']),