FabLab now
FabLab Wrapper zpracovává data o obsazenosti komunitní dílny FabLab a o využití místních strojů. Wrapper stáhne data z webu Fablab NOW a zpracuje je.
Zpracování dat
Webová stránka je v HTML kódu, který pomocí knihovny LXML rozparsuji. Následně program prochází po jednotlivých záznamech o stroji a zjišťuje, zda je obsazen. Výsledky se ukládají do tříd, ze kterých se vytváří výsledný JSON.
Vstupní HTML data
...
<div class="machine green"><h3>3D Maria</h3> <p>— available</p></div>
<div class="machine green"><h3>3D Niki</h3> <p>— available</p></div>
<div class="machine red"><h3>3D Pavlína</h3> <p>— working</p> (5 days)</div>
<div class="machine red"><h3>3D Tereza</h3> <p>— working</p> (4 days)</div>
...
Formát JSON souboru
{
"data": {
"members": "0-2",
"machines": [
{
"name": "Bruska",
"status": "— available"
},
...
],
"printers": [
{
"name": "3D Maria",
"status": "— working (3 hours)"
},
{
"name": "3D Niki",
"status": "— available"
},
...
]
},
"status": "ok",
"time": "2022-05-15"
}