Mercurial > repos > pablocarb > synbiodesign
annotate rpviz/py2html2.py @ 22:638dcd2d93bc draft
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5-dirty
author | pablocarb |
---|---|
date | Fri, 14 Jun 2019 12:14:23 -0400 |
parents | fe78fd6b315a |
children |
rev | line source |
---|---|
16
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
2 """ |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
3 Created on Wed Jun 5 16:07:03 2019 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
4 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
5 @author: anael |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
6 """ |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
7 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
8 import json |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
9 import os |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
10 from bs4 import BeautifulSoup |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
11 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
12 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
13 def html2(jsondata,outfile): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
14 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
15 htmlfile= open(os.path.join("new_html","template2.html")) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
16 soup = BeautifulSoup(htmlfile, 'html.parser') |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
17 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
18 for key in jsondata.keys(): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
19 name=key |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
20 obj=json.loads(jsondata[key]) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
21 elements=obj['elements'] |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
22 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
23 element_script=soup.find(id="elements") #select the script section containing elements |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
24 element_script.append('\n var '+name+'='+str(elements)) #to modify |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
25 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
26 form=soup.find('form') |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
27 new_tag = soup.new_tag("input") |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
28 new_tag["type"] = "button" |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
29 new_tag["value"]=name |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
30 new_tag["onclick"]="displaynet("+name+')' |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
31 form.append(new_tag) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
32 try: |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
33 select=soup.find(id="selectbox") |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
34 new_tag=soup.new_tag("option") |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
35 new_tag["value"]=str(name) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
36 new_tag.append(name) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
37 select.append(new_tag) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
38 except: |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
39 continue |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
40 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
41 htmlfile.close() |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
42 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
43 html = soup.prettify("utf-8") |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
44 with open(os.path.join(outfile), "wb") as file: |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
45 file.write(html) |