Skip to content

Commit d200f00

Browse files
author
m32
committed
indented dump, other examples
1 parent d985e75 commit d200f00

File tree

3 files changed

+126
-6
lines changed

3 files changed

+126
-6
lines changed

litehtml-dumper.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,30 @@ class document_container(litehtml.document_container):
1515
class dumper(litehtmlpy.dumper):
1616
def __init__(self):
1717
super().__init__()
18+
self.indent = 0
19+
20+
def printi(self, *args):
21+
s = ' '*self.indent if self.indent else ''
22+
print(s, *args)
1823

1924
def begin_node(self, descr):
20-
print('begin_node', descr)
25+
self.printi('begin_node', descr)
26+
self.indent += 1
2127

2228
def end_node(self):
23-
print('end_node')
29+
self.indent -= 1
30+
self.printi('end_node')
2431

2532
def begin_attrs_group(self, descr):
26-
print('begin_attrs_group', descr)
33+
self.printi('begin_attrs_group', descr)
34+
self.indent += 1
2735

2836
def end_attrs_group(self):
29-
print('end_attrs_group')
37+
self.indent -= 1
38+
self.printi('end_attrs_group')
3039

3140
def add_attr(self, name, value):
32-
print('add_attr', name, value)
41+
self.printi('add_attr', name, value)
3342

3443
class Main:
3544
def demo(self):
@@ -44,7 +53,7 @@ def demo(self):
4453
print('max size=', cntr.size)
4554

4655
doc = litehtmlpy.fromString(cntr, html, None, None)
47-
#doc.render(cntr.size[0], litehtmlpy.render_all)
56+
doc.render(cntr.size[0], litehtmlpy.render_all)
4857
print('doc: width:', doc.width(), 'height:', doc.height())
4958

5059
dump = dumper()

test-01.html

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
<html lang="en">
2+
<!--
3+
https://github.com/Kozea/WeasyPrint/issues/2163
4+
-->
5+
<head>
6+
<title>Attempt Response</title>
7+
<!--
8+
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
9+
-->
10+
<link href="bootstrap.min.css" rel="stylesheet">
11+
</head>
12+
13+
<body>
14+
<div class="container">
15+
<div class="card my-3">
16+
<div class="card-header bg-gradient-light text-dark p-3 d-flex align-items-center justify-content-between">
17+
<div class="card-title text-bold mb-0 d-flex">
18+
<div class="me-1">3.</div>
19+
<div>
20+
<div class="question">
21+
Select the following that does not affect rate of evaporation?
22+
</div>
23+
<div class="d-flex">
24+
<div class="bg-primary text-xxs text-white px-2 py-1 rounded text-bolder me-1">
25+
Subject: Science
26+
</div>
27+
<div class="bg-primary text-xxs text-white px-2 py-1 rounded text-bolder">
28+
Multiple choice
29+
</div>
30+
</div>
31+
</div>
32+
</div>
33+
</div>
34+
<div class="card-body p-3">
35+
<div class="answer-preview">
36+
<div class="preview-multiple-choice blockquote ps-2 mb-0 py-2 fs-6">
37+
<div class="form-check d-flex align-items-center me-2">
38+
<input class="form-check-input"
39+
disabled=""
40+
id="input-iwslt1"
41+
type="radio"
42+
value="" name="a" checked>
43+
<label class="custom-control-label mb-0 ms-1 mt-1 text-" for="input-iwslt1">
44+
Temperature
45+
</label>
46+
</div>
47+
48+
<div class="form-check d-flex align-items-center me-2">
49+
<input class="form-check-input"
50+
disabled=""
51+
id="input-f84gw3"
52+
type="radio"
53+
value="" name="a">
54+
<label class="custom-control-label mb-0 ms-1 mt-1 text-" for="input-f84gw3">
55+
Surface area
56+
</label>
57+
</div>
58+
59+
<div class="form-check d-flex align-items-center me-2">
60+
<input class="form-check-input ng-untouched ng-pristine"
61+
disabled=""
62+
id="input-zy80v2"
63+
type="radio"
64+
value="">
65+
<label class="custom-control-label mb-0 ms-1 mt-1 text-" for="input-zy80v2">
66+
Wind speed
67+
</label>
68+
</div>
69+
70+
<div class="form-check d-flex align-items-center me-2">
71+
<input class="form-check-input"
72+
disabled=""
73+
type="radio">
74+
<label class="custom-control-label mb-0 ms-1 mt-1 text-success" for="input-ckk0hk">
75+
Insoluble heavy impurities
76+
</label>
77+
</div>
78+
</div>
79+
80+
</div>
81+
</div>
82+
<div class="card-footer d-flex justify-content-between align-items-center bg-light py-2">
83+
<div class="d-flex">
84+
<div class="bg-dark text-xxs text-white px-2 py-1 rounded text-bolder me-1"> Time Spent: 8 sec.</div>
85+
<div class="bg-dark text-xxs text-white px-2 py-1 rounded text-bolder me-1"> 1 Attempt</div>
86+
<div class="bg-dark text-xxs text-white px-2 py-1 rounded text-bolder"> Timeout</div>
87+
</div>
88+
<div>
89+
90+
</div>
91+
</div>
92+
</div>
93+
</div>
94+
</body>
95+
</html>

test-02.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<html lang="en">
2+
<head>
3+
<title>Dumper</title>
4+
<script>
5+
function onLoad()
6+
{
7+
console.log("loaded");
8+
}
9+
</script>
10+
</head>
11+
<body onload="onLoad()">
12+
<div>
13+
Empty
14+
</div>
15+
</body>
16+
</html>

0 commit comments

Comments
 (0)