<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.raspibo.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Esperimenti_con_Tper</id>
	<title>Esperimenti con Tper - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://www.raspibo.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Esperimenti_con_Tper"/>
	<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Esperimenti_con_Tper&amp;action=history"/>
	<updated>2026-05-05T03:27:41Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Esperimenti_con_Tper&amp;diff=6882&amp;oldid=prev</id>
		<title>Renzo il 20:08, 26 mar 2019</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Esperimenti_con_Tper&amp;diff=6882&amp;oldid=prev"/>
		<updated>2019-03-26T20:08:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 20:08, 26 mar 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Riga 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;t.py: prossimo passaggio bus&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;t.py: prossimo passaggio bus&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code &lt;/del&gt;language=python&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source &lt;/ins&gt;language=python&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python3&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import sys&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import sys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot; &gt;Riga 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(&amp;quot;Fermata: {}-{}   Linea: {}   Ora: {}&amp;quot;.format(stop,description,line,time))&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(&amp;quot;Fermata: {}-{}   Linea: {}   Ora: {}&amp;quot;.format(stop,description,line,time))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(result)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(result)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;linea.py: stampa le fermate di una linea&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;linea.py: stampa le fermate di una linea&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code &lt;/del&gt;language=python&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source &lt;/ins&gt;language=python&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python3&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import sys&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import sys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l137&quot; &gt;Riga 137:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 137:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         draw(v,src,dst,lineaarchi[v])&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         draw(v,src,dst,lineaarchi[v])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Esperimenti_con_Tper&amp;diff=6881&amp;oldid=prev</id>
		<title>Renzo: Creata pagina con 't.py: prossimo passaggio bus  &lt;code language=python&gt; #!/usr/bin/env python3 import sys import urllib.request from xml.dom import minidom prefix=&quot;TperHellobus: &quot; stop=sys.argv[...'</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Esperimenti_con_Tper&amp;diff=6881&amp;oldid=prev"/>
		<updated>2019-03-26T20:06:50Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;#039;t.py: prossimo passaggio bus  &amp;lt;code language=python&amp;gt; #!/usr/bin/env python3 import sys import urllib.request from xml.dom import minidom prefix=&amp;quot;TperHellobus: &amp;quot; stop=sys.argv[...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;t.py: prossimo passaggio bus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code language=python&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
import sys&lt;br /&gt;
import urllib.request&lt;br /&gt;
from xml.dom import minidom&lt;br /&gt;
prefix=&amp;quot;TperHellobus: &amp;quot;&lt;br /&gt;
stop=sys.argv[1]&lt;br /&gt;
line=sys.argv[2] if len(sys.argv) &amp;gt; 2 else &amp;quot;&amp;quot;&lt;br /&gt;
time=sys.argv[3] if len(sys.argv) &amp;gt; 3 else &amp;quot;&amp;quot;&lt;br /&gt;
f=urllib.request.urlopen(&amp;quot;https://hellobuswsweb.tper.it/web-services/hello-bus.asmx/QueryHellobus?fermata={}&amp;amp;linea={}&amp;amp;oraHHMM={}&amp;quot;.format(stop,line,time))&lt;br /&gt;
reply=f.read()&lt;br /&gt;
f.close()&lt;br /&gt;
#print(reply)&lt;br /&gt;
xmldoc = minidom.parseString(reply)&lt;br /&gt;
result = xmldoc.getElementsByTagName(&amp;quot;string&amp;quot;)[0].firstChild.data&lt;br /&gt;
if result[:len(prefix)]==prefix: result=result[len(prefix):]&lt;br /&gt;
fermate={}&lt;br /&gt;
with open(&amp;quot;fermate_20150415.csv&amp;quot;,&amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        for row in f:&lt;br /&gt;
                codice,denominazione,ubicazione,comune,_,_,latitudine,longitudine,codice_zona = row[:-1].split(';')&lt;br /&gt;
                fermate[codice]=denominazione,ubicazione,comune&lt;br /&gt;
description=fermate[stop][0] if stop in fermate else &amp;quot;&amp;quot;&lt;br /&gt;
print(&amp;quot;Fermata: {}-{}   Linea: {}   Ora: {}&amp;quot;.format(stop,description,line,time))&lt;br /&gt;
print(result)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
linea.py: stampa le fermate di una linea&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code language=python&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
import sys&lt;br /&gt;
ver=&amp;quot;20151101&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fermate={}&lt;br /&gt;
with open(&amp;quot;fermate_&amp;quot;+ver+&amp;quot;.csv&amp;quot;,&amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        for line in f:&lt;br /&gt;
                codice,denominazione,ubicazione,comune,_,_,latitudine,longitudine,codice_zona = line[:-1].split(';')&lt;br /&gt;
                fermate[codice]=denominazione,ubicazione,comune&lt;br /&gt;
&lt;br /&gt;
archi={}&lt;br /&gt;
with open(&amp;quot;archi_&amp;quot;+ver+&amp;quot;.csv&amp;quot;,&amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        for line in f:&lt;br /&gt;
                codice,offset_posizione,coordinata_x,coordinata_y,latitudine,longitudine,codice_fermata = line[:-1].split(';')&lt;br /&gt;
                if codice_fermata != '0':&lt;br /&gt;
                        archi.setdefault(codice,[]).append(codice_fermata)&lt;br /&gt;
&lt;br /&gt;
linee={}&lt;br /&gt;
lineepercorsi={}&lt;br /&gt;
with open(&amp;quot;lineepercorsi_&amp;quot;+ver+&amp;quot;.csv&amp;quot;,&amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        for line in f:&lt;br /&gt;
                codice_linea,verso,percorso,_,codice_arco,bacino,_,_ = line[:-1].split(';')&lt;br /&gt;
                linee.setdefault((codice_linea,bacino),[])&lt;br /&gt;
                if (verso,percorso) not in linee[codice_linea,bacino]:&lt;br /&gt;
                        linee[codice_linea,bacino].append((verso,percorso))&lt;br /&gt;
                lineepercorsi.setdefault((codice_linea,verso,percorso,bacino),[]).append(codice_arco)&lt;br /&gt;
&lt;br /&gt;
linea=sys.argv[1]&lt;br /&gt;
bacino='BO'&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;LINEA ++++++&amp;quot;,linea,&amp;quot;++++++&amp;quot;)&lt;br /&gt;
#for verso,percorso in linee[linea,bacino]:&lt;br /&gt;
#       print(&amp;quot;Verso&amp;quot;, verso,&amp;quot; Percorso&amp;quot;,percorso)&lt;br /&gt;
#       lineafermate=None&lt;br /&gt;
#       for a in lineepercorsi[(linea,verso,percorso,bacino)]:&lt;br /&gt;
#               if lineafermate:&lt;br /&gt;
#                       lineafermate += archi[a][1:]&lt;br /&gt;
#               else:&lt;br /&gt;
#                       lineafermate=archi[a]&lt;br /&gt;
#&lt;br /&gt;
#       for f in lineafermate:&lt;br /&gt;
#               print(f, fermate[f])&lt;br /&gt;
&lt;br /&gt;
lineaarchi={}&lt;br /&gt;
lineararchi={}&lt;br /&gt;
lineafermate={}&lt;br /&gt;
versi=set()&lt;br /&gt;
for verso,percorso in linee[linea,bacino]:&lt;br /&gt;
        versi.add(verso)&lt;br /&gt;
        if not verso in lineaarchi:&lt;br /&gt;
                lineaarchi[verso]={}&lt;br /&gt;
                lineararchi[verso]={}&lt;br /&gt;
                lineafermate[verso]=set()&lt;br /&gt;
        for a in lineepercorsi[(linea,verso,percorso,bacino)]:&lt;br /&gt;
                lineafermate[verso] |= set(archi[a])&lt;br /&gt;
                for i in range(len(archi[a])-1):&lt;br /&gt;
                        lineaarchi[verso].setdefault(archi[a][i],set()).add(archi[a][i+1])&lt;br /&gt;
                        lineararchi[verso].setdefault(archi[a][i+1],set()).add(archi[a][i])&lt;br /&gt;
&lt;br /&gt;
versi=list(versi)&lt;br /&gt;
versi.sort()&lt;br /&gt;
&lt;br /&gt;
#for v in versi:&lt;br /&gt;
#       print(&amp;quot;verso: {} da: &amp;quot;.format(v),end='')&lt;br /&gt;
#for c in capolinea[v]:&lt;br /&gt;
#               print(&amp;quot;{}-{} &amp;quot;.format(c, fermate[c][0]),end='')&lt;br /&gt;
#       print(&amp;quot; a: &amp;quot;,end='')&lt;br /&gt;
#       for c in rcapolinea[v]:&lt;br /&gt;
#               print(&amp;quot;{}-{} &amp;quot;.format(c, fermate[c][0]),end='')&lt;br /&gt;
#       print()&lt;br /&gt;
&lt;br /&gt;
def draw(v,src,dst,arc):&lt;br /&gt;
        print(&amp;quot;+++ VERSO: &amp;quot;,v)&lt;br /&gt;
        while src:&lt;br /&gt;
                remain=[x for x in src if x not in dst]&lt;br /&gt;
                n=min(remain)&lt;br /&gt;
                src.remove(n)&lt;br /&gt;
                print(&amp;quot;{}-{}&amp;quot;.format(n, fermate[n][0]),end='')&lt;br /&gt;
                while True:&lt;br /&gt;
                        n = arc[n].pop()&lt;br /&gt;
                        print(&amp;quot; -&amp;gt; {}-{}&amp;quot;.format(n, fermate[n][0]),end='')&lt;br /&gt;
                        if n in dst:&lt;br /&gt;
                                dst.remove(n)&lt;br /&gt;
                                break&lt;br /&gt;
                print()&lt;br /&gt;
&lt;br /&gt;
for v in versi:&lt;br /&gt;
        src=[]&lt;br /&gt;
        dst=[]&lt;br /&gt;
        for n in lineafermate[v]:&lt;br /&gt;
                if n not in lineararchi[v]:&lt;br /&gt;
                        src.append(n)&lt;br /&gt;
                if n not in lineaarchi[v]:&lt;br /&gt;
                        dst.append(n)&lt;br /&gt;
        for n in lineafermate[v]:&lt;br /&gt;
                nxt=lineaarchi[v].get(n,[])&lt;br /&gt;
                prv=lineararchi[v].get(n,[])&lt;br /&gt;
                if len(prv) &amp;gt; 1:&lt;br /&gt;
                        for _ in prv:&lt;br /&gt;
                                dst.append(n)&lt;br /&gt;
                        src.append(n)&lt;br /&gt;
                if len(nxt) &amp;gt; 1:&lt;br /&gt;
                        dst.append(n)&lt;br /&gt;
                        for _ in nxt:&lt;br /&gt;
                                src.append(n)&lt;br /&gt;
        draw(v,src,dst,lineaarchi[v])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
</feed>