Mercurial > repos > pablocarb > synbiodesign
annotate rpviz/py2html2.py @ 16:fe78fd6b315a draft
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
| author | pablocarb | 
|---|---|
| date | Tue, 11 Jun 2019 11:42:40 -0400 | 
| parents | |
| 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) | 
