Mercurial > repos > goeckslab > ludwig_render_config
annotate utils.py @ 6:dd663701df49 draft default tip
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit 59a0f37fed961b3ba4c55f8205e7cf4ebd551767
| author | goeckslab | 
|---|---|
| date | Sat, 06 Sep 2025 01:52:15 +0000 | 
| parents | ed8a9ea5bc73 | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
1 import base64 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
2 import json | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
3 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
4 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
5 def get_html_template(): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
6 return """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
7 <html> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
8 <head> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
9 <title>Galaxy-Ludwig Report</title> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
10 <style> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
11 body { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
12 font-family: Arial, sans-serif; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
13 margin: 0; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
14 padding: 20px; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
15 background-color: #f4f4f4; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
16 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
17 .container { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
18 max-width: 800px; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
19 margin: auto; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
20 background: white; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
21 padding: 20px; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
22 box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
23 overflow-x: auto; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
24 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
25 h1 { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
26 text-align: center; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
27 color: #333; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
28 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
29 h2 { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
30 border-bottom: 2px solid #4CAF50; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
31 color: #4CAF50; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
32 padding-bottom: 5px; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
33 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
34 table { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
35 border-collapse: collapse; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
36 margin: 20px 0; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
37 width: 100%; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
38 table-layout: fixed; /* Enforces consistent column widths */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
39 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
40 table, th, td { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
41 border: 1px solid #ddd; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
42 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
43 th, td { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
44 padding: 8px; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
45 text-align: center; /* Center-align text */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
46 vertical-align: middle; /* Center-align content vertically */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
47 word-wrap: break-word; /* Break long words to avoid overflow */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
48 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
49 th:first-child, td:first-child { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
50 width: 5%; /* Smaller width for the first column */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
51 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
52 th:nth-child(2), td:nth-child(2) { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
53 width: 50%; /* Wider for the metric/description column */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
54 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
55 th:last-child, td:last-child { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
56 width: 25%; /* Value column gets remaining space */ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
57 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
58 th { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
59 background-color: #4CAF50; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
60 color: white; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
61 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
62 .plot { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
63 text-align: center; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
64 margin: 20px 0; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
65 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
66 .plot img { | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
67 max-width: 100%; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
68 height: auto; | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
69 } | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
70 </style> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
71 </head> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
72 <body> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
73 <div class="container"> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
74 """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
75 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
76 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
77 def get_html_closing(): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
78 return """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
79 </div> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
80 </body> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
81 </html> | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
82 """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
83 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
84 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
85 def encode_image_to_base64(image_path): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
86 """Convert an image file to a base64 encoded string.""" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
87 with open(image_path, "rb") as img_file: | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
88 return base64.b64encode(img_file.read()).decode("utf-8") | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
89 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
90 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
91 def json_to_nested_html_table(json_data, depth=0): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
92 """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
93 Convert JSON object to an HTML nested table. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
94 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
95 Parameters: | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
96 json_data (dict or list): The JSON data to convert. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
97 depth (int): Current depth level for indentation. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
98 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
99 Returns: | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
100 str: HTML string for the nested table. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
101 """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
102 # Base case: if JSON is a simple key-value pair dictionary | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
103 if isinstance(json_data, dict) and all( | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
104 not isinstance(v, (dict, list)) for v in json_data.values() | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
105 ): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
106 # Render a flat table | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
107 rows = [ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
108 f"<tr><th>{key}</th><td>{value}</td></tr>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
109 for key, value in json_data.items() | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
110 ] | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
111 return f"<table>{''.join(rows)}</table>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
112 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
113 # Base case: if JSON is a list of simple values | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
114 if isinstance(json_data, list) and all( | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
115 not isinstance(v, (dict, list)) for v in json_data | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
116 ): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
117 rows = [ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
118 f"<tr><th>Index {i}</th><td>{value}</td></tr>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
119 for i, value in enumerate(json_data) | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
120 ] | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
121 return f"<table>{''.join(rows)}</table>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
122 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
123 # Recursive case: if JSON contains nested structures | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
124 if isinstance(json_data, dict): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
125 rows = [ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
126 f"<tr><th style='padding-left:{depth * 20}px;'>{key}</th>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
127 f"<td>{json_to_nested_html_table(value, depth + 1)}</td></tr>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
128 for key, value in json_data.items() | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
129 ] | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
130 return f"<table>{''.join(rows)}</table>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
131 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
132 if isinstance(json_data, list): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
133 rows = [ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
134 f"<tr><th style='padding-left:{depth * 20}px;'>[{i}]</th>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
135 f"<td>{json_to_nested_html_table(value, depth + 1)}</td></tr>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
136 for i, value in enumerate(json_data) | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
137 ] | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
138 return f"<table>{''.join(rows)}</table>" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
139 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
140 # Base case: simple value | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
141 return f"{json_data}" | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
142 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
143 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
144 def json_to_html_table(json_data): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
145 """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
146 Convert JSON to a vertically oriented HTML table. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
147 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
148 Parameters: | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
149 json_data (str or dict): JSON string or dictionary. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
150 | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
151 Returns: | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
152 str: HTML table representation. | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
153 """ | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
154 if isinstance(json_data, str): | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
155 json_data = json.loads(json_data) | 
| 
 
ed8a9ea5bc73
planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
 
goeckslab 
parents:  
diff
changeset
 | 
156 return json_to_nested_html_table(json_data) | 
