def test_parseWiki_wrongWeekday(self): now = cg.tz.localize(datetime.datetime(2014, 10, 10, 10, 10)) result = cg.parse_wiki_page(open("tests/wiki/wrong_weekday.wiki").read()) self.assertEqual(len(result), 1) self.assertEqual(len(cg.expand_dates(result)), 0) cg.generate_wiki_section(cg.expand_dates(result), "templates/termine_haupt.de.wiki", cg.LANG_DE, now=now) cg.generate_ical(result, "/dev/null")
def test_parseWiki_wrongWeekday(self): now = cg.tz.localize(datetime.datetime(2014, 10, 10, 10, 10)) result = cg.parse_wiki_page(file("tests/wiki/wrong_weekday.wiki").read().decode("utf8")) self.assertEqual(len(result), 1) self.assertEqual(len(cg.expand_dates(result)), 0) cg.generate_wiki_section(cg.expand_dates(result), "templates/termine_haupt.de.wiki", cg.LANG_DE, now=now) cg.generate_ical(result, "/dev/null")
def test_parseWiki(self): now = cg.tz.localize(datetime.datetime(2014, 10, 10, 10, 10)) result = cg.parse_wiki_page(open("tests/wiki/general.wiki").read()) for entry in result: if isinstance(entry, cg.Generator): for subentry in entry.entries: self.assertLessEqual(subentry.start_datetime(), subentry.end_datetime()) else: self.assertLessEqual(entry.start_datetime(), entry.end_datetime()) cg.generate_wiki_section(cg.expand_dates(result), "templates/termine_haupt.de.wiki", cg.LANG_DE, now=now) cg.generate_ical(result, "/dev/null") self.assertEqual(len(result), 13)
def test_parseWiki(self): now = cg.tz.localize(datetime.datetime(2014, 10, 10, 10, 10)) result = cg.parse_wiki_page(file("tests/wiki/general.wiki").read().decode("utf8")) for entry in result: if isinstance(entry, cg.Generator): for subentry in entry.entries: self.assertLessEqual(subentry.start_datetime(), subentry.end_datetime()) else: self.assertLessEqual(entry.start_datetime(), entry.end_datetime()) cg.generate_wiki_section(cg.expand_dates(result), "templates/termine_haupt.de.wiki", cg.LANG_DE, now=now) cg.generate_ical(result, "/dev/null") self.assertEqual(len(result), 13)
#!/usr/bin/env python3 # -.- encoding: utf-8 -.- import mwclient import datetime import time import config import calendargenerator import os if __name__ == "__main__": site = mwclient.Site((config.protocol, config.server), path="/mediawiki/") termine = site.Pages["Termine"] comment = None entries = calendargenerator.parse_wiki_page(termine.text()) expanded_entries = calendargenerator.expand_dates(entries) def update(entries, page, purge_page, templatefile, lang): global comment templatefile = os.path.join(os.path.dirname(__file__), templatefile) page_data = site.Pages[page] old = page_data.text() text = calendargenerator.generate_wiki_section(entries, templatefile, lang) if old != text: print("updating %s" % page) if not comment: rev = termine.revisions(limit=1, prop='timestamp|user|comment').next() changed = datetime.datetime.fromtimestamp(time.mktime(rev["timestamp"])) now = datetime.datetime.utcnow() comment = u"Automatisches Update (irgendwas wird sich schon verändert haben)" if (now - changed) < datetime.timedelta(minutes=15):
def test_GenerateWiki(self): now = cg.tz.localize(datetime.datetime(2014, 10, 10, 10, 10)) cg.generate_wiki_section(cg.expand_dates(self.events), "templates/termine_haupt.de.wiki", cg.LANG_DE, now=now)
def test_GenerateJsonCSS(self): cg.generate_json_css(cg.expand_dates(self.events), self.json_path, self.css_path) os.remove(self.json_path) os.remove(self.css_path)
#!/usr/bin/env python # -.- encoding: utf-8 -.- import mwclient import datetime import time import config import calendargenerator import os site = mwclient.Site((config.protocol, config.server), path="/mediawiki/") termine = site.Pages["Termine"] comment = None entries = calendargenerator.parse_wiki_page(termine.text()) expanded_entries = calendargenerator.expand_dates(entries) def update(entries, page, purge_page, templatefile, lang): global comment templatefile = os.path.join(os.path.dirname(__file__), templatefile) page_data = site.Pages[page] old = page_data.text() text = calendargenerator.generate_wiki_section(entries, templatefile, lang) if old != text: print "updating %s" % page if not comment: rev = termine.revisions(limit=1, prop='timestamp|user|comment').next() changed = datetime.datetime.fromtimestamp( time.mktime(rev["timestamp"])) now = datetime.datetime.utcnow()
#!/usr/bin/env python # -.- encoding: utf-8 -.- import mwclient import datetime import time import calendargenerator site = mwclient.Site(('https', 'stratum0.org'), path="/mediawiki/") termine = site.Pages["Termine"] data = termine.edit() parsed = calendargenerator.expand_dates(calendargenerator.parse_wiki_page(data)) print calendargenerator.generate_wiki_section(parsed, "templates/termine_haupt.de.wiki", calendargenerator.LANG_DE) print "-" * 20 print calendargenerator.generate_wiki_section(parsed, "templates/termine_haupt.en.wiki", calendargenerator.LANG_EN) print "-" * 20 print calendargenerator.generate_wiki_section(parsed, "templates/termine_haupt.fr.wiki", calendargenerator.LANG_FR)