Пример #1
0
	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")
Пример #2
0
	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")
Пример #3
0
	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)
Пример #4
0
	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)
Пример #5
0
#!/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):
Пример #6
0
	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)
Пример #7
0
	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)
Пример #8
0
 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)
Пример #9
0
 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)
Пример #10
0
#!/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()
Пример #11
0
#!/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)