Commits

Anonymous committed 904317c

Initial import.

Comments (0)

Files changed (1)

unfinished/document.py

+class HTMLDocument(object):
+    def __init__(self, body, head=None, doctype=None,
+        html_attrs=None, head_attrs=None, body_attrs=None,
+        encoding=None, lang=None, title=None, xml_version="1.0"):
+        self.body = body
+        self.head = head or ""
+        self.doctype = doctype
+        self.html_attrs = self._get_dict(html_attrs)
+        self.head_attrs = self._get_dict(head_attrs)
+        self.body_attrs = self._get_dict(body_attrs)
+        self.encoding = encoding
+        self.lang = lang
+        self.title = title
+        self.xml_version = xml_version
+
+    def html5(self):
+        doctype = self.doctype or Doctype().html5()
+
+    def html5_xml(self):
+        xml_declaration = tags.xml_declaration(self.xml_version, self.encoding)
+
+    def xhtml1(self):
+        doctype = self.doctype or Doctype().xhtml1()
+        xml_declaration = tags.xml_declaration(self.xml_version, self.encoding)
+
+    def html4(self):
+        doctype = self.doctype or Doctype().html4()
+
+    #### Private methods
+    def _get_dict(self, dic):
+        if dic is None:
+            return {}
+        return dic.copy()
+
+    is_xml = bool(xml_version)
+    if lang:
+        html_attrs.setdefault("lang", lang)
+        if is_xml:
+            html_attrs.setdefault("xmlns", "http://www.w3.org/1999/xhtml")
+    body = HTML.body(body, _nl=True, **body_attrs)
+    html = HTML(doctype, "\n", head, body, **html_attrs)
+    if is_xml:
+        html = HTML(tags.xml_declaration(xml_version, encoding), "\n", html)
+    return html
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.