]>
git.ipfire.org Git - ipfire.org.git/blob - www/pages/static/__init__.py
2 # -*- coding: utf-8 -*-
5 from xml
.dom
.minidom
import parseString
10 def __init__(self
, file):
11 file = "%s/pages/static/%s.xml" % (os
.getcwd(), file,)
16 self
.xml
= parseString(data
).getElementsByTagName("Site")[0]
18 def getAttribute(self
, node
, attr
):
19 return node
.getAttribute(attr
).strip()
21 def getText(self
, node
):
23 for i
in node
.childNodes
:
25 return ret
.encode("utf-8")
29 def __init__(self
, file,):
30 Xml
.__init
__(self
, file)
32 def __call__(self
, lang
="en"):
34 for paragraphs
in self
.xml
.getElementsByTagName("Paragraphs"):
35 for paragraph
in paragraphs
.getElementsByTagName("Paragraph"):
36 if self
.getAttribute(paragraph
, "news") == "1":
37 news
= web
.News(int(self
.getAttribute(paragraph
, "count")))
38 ret
+= news(lang
).encode("utf-8")
42 for heading
in paragraph
.getElementsByTagName("Heading"):
43 if self
.getAttribute(heading
, "lang") == lang
or \
44 not self
.getAttribute(heading
, "lang"):
45 heading
= self
.getText(heading
)
51 for content
in paragraph
.getElementsByTagName("Content"):
52 if self
.getAttribute(content
, "lang") == lang
or \
53 not self
.getAttribute(content
, "lang"):
54 if self
.getAttribute(content
, "raw") == "1":
55 s
= self
.getText(content
)
57 s
= "<p>%s</p>" % self
.getText(content
)
65 def __init__(self
, file):
66 Xml
.__init
__(self
, file)
68 def __call__(self
, lang
="en"):
70 sidebar
= self
.xml
.getElementsByTagName("Sidebar")[0]
71 for paragraph
in sidebar
.getElementsByTagName("Paragraph"):
72 if self
.getAttribute(paragraph
, "banner") == "1":
74 ret
+= """<h4>%(title)s</h4><a href="%(link)s" target="_blank">
75 <img class="banner" src="%(uri)s" /></a>""" % b
.random()
79 for heading
in paragraph
.getElementsByTagName("Heading"):
80 if self
.getAttribute(heading
, "lang") == lang
or \
81 not self
.getAttribute(heading
, "lang"):
82 heading
= self
.getText(heading
)
85 ret
+= "<h4>%s</h4>" % heading
88 for content
in paragraph
.getElementsByTagName("Content"):
89 if self
.getAttribute(content
, "lang") == lang
or \
90 not self
.getAttribute(content
, "lang"):
91 if self
.getAttribute(content
, "raw") == "1":
92 s
= self
.getText(content
)
94 s
= "<p>%s</p>" % self
.getText(content
)