write incoming links
This commit is contained in:
parent
cbb50dcca0
commit
b363a6945e
63
links.py
63
links.py
|
@ -5,8 +5,8 @@ import shutil
|
||||||
def filename2Wikilink( s ):
|
def filename2Wikilink( s ):
|
||||||
return '{' + s.replace('_',' ').replace('.gmo','') + '}'
|
return '{' + s.replace('_',' ').replace('.gmo','') + '}'
|
||||||
|
|
||||||
def wikilink2Filename( s ):
|
def wikilink2Filename( s, ext='.gmi' ):
|
||||||
return s.strip("{}").replace(' ','_') + '.gmi'
|
return s.strip("{}").replace(' ','_') + ext
|
||||||
|
|
||||||
os.chdir('src/')
|
os.chdir('src/')
|
||||||
|
|
||||||
|
@ -17,27 +17,50 @@ for filename in os.listdir():
|
||||||
# copy to tmp
|
# copy to tmp
|
||||||
shutil.copy(filename, '../tmp/'+filename)
|
shutil.copy(filename, '../tmp/'+filename)
|
||||||
|
|
||||||
# convert filename to wikilink
|
# if filename != 'pages.gmo' and filename != 'index.gmo':
|
||||||
wikilink=filename2Wikilink(filename)
|
if filename != 'pages.gmo':
|
||||||
|
# convert filename to wikilink
|
||||||
|
wikilink=filename2Wikilink(filename)
|
||||||
|
if wikilink not in incoming:
|
||||||
|
incoming[wikilink] = set()
|
||||||
|
|
||||||
# open file and search for all outgoing links
|
# open file and search for all outgoing links
|
||||||
file = open(filename)
|
file = open(filename)
|
||||||
for line in file:
|
for line in file:
|
||||||
m=re.search("\{.+\}",line)
|
m=re.search("\{.+\}",line)
|
||||||
if m:
|
if m:
|
||||||
match = m.group(0) # get matched string
|
match = m.group(0) # get matched string
|
||||||
if match not in incoming: # create a new set for that page
|
if match not in incoming: # create a new set for that page
|
||||||
incoming[match] = set()
|
incoming[match] = set()
|
||||||
# add this file
|
# add this file
|
||||||
incoming[match].add(wikilink)
|
incoming[match].add(wikilink)
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
os.chdir('../tmp/')
|
os.chdir('../tmp/')
|
||||||
|
|
||||||
|
# remove incoming links for:
|
||||||
|
# incoming.pop('{pages}')
|
||||||
|
incoming.pop('{index}')
|
||||||
|
incoming.pop('{license}')
|
||||||
|
|
||||||
for key,links in incoming.items():
|
for key,links in incoming.items():
|
||||||
filename = wikilink2Filename(key)
|
# get filename for key
|
||||||
if filename != 'pages.gmo' and filename != 'index.gmo':
|
filename = wikilink2Filename(key,'.gmo')
|
||||||
print( '## incoming links' )
|
print(key)
|
||||||
|
|
||||||
|
# open file in append mode
|
||||||
|
file = open(filename, 'a')
|
||||||
|
|
||||||
|
if len(links):
|
||||||
|
# write incoming links
|
||||||
|
# print( '## incoming links' )
|
||||||
|
print( '{} incoming links\n'.format( len(links) ) )
|
||||||
|
file.write("\n\n## incoming links\n")
|
||||||
for link in links:
|
for link in links:
|
||||||
print('=> {} {}'.format(wikilink2Filename(link), link) )
|
gemlink = '=> {} {}'.format(wikilink2Filename(link), link)
|
||||||
print('')
|
# print(gemlink)
|
||||||
|
file.write(gemlink+"\n")
|
||||||
|
else:
|
||||||
|
print( 'orphan\n' )
|
||||||
|
file.write("\n\nno incoming links\n")
|
||||||
|
file.close()
|
||||||
|
|
|
@ -47,8 +47,3 @@ justo cuando eso sucede, la persona-entrada empezará a ver y seguir a la person
|
||||||
la persona-escritora, paso a paso, pulso a pulso, da las señales de alto o bajo a escribir, hasta llegar al corte.
|
la persona-escritora, paso a paso, pulso a pulso, da las señales de alto o bajo a escribir, hasta llegar al corte.
|
||||||
|
|
||||||
y así, paso a paso, pulso a pulso, poco a poco, el ciclo ahora tendrá un nuevo dato.
|
y así, paso a paso, pulso a pulso, poco a poco, el ciclo ahora tendrá un nuevo dato.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
|
|
|
@ -38,7 +38,3 @@ deep adaptation agenda, the 4 Rs:
|
||||||
=> https://deepgreenresistance.org/ deep green resistance
|
=> https://deepgreenresistance.org/ deep green resistance
|
||||||
=> https://stopfossilfuels.org/ stop fossil fuels
|
=> https://stopfossilfuels.org/ stop fossil fuels
|
||||||
=> http://viznut.fi/texts-en/permacomputing.html permacomputing | viznut
|
=> http://viznut.fi/texts-en/permacomputing.html permacomputing | viznut
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./about.gmi {about}
|
|
||||||
|
|
|
@ -42,7 +42,3 @@ the booklet contains three series of computers: computers that compare, computer
|
||||||
CC-BY-SA 4.0
|
CC-BY-SA 4.0
|
||||||
|
|
||||||
for the print and cut zine: print double-sided, cut in half, fold the pages and assemble
|
for the print and cut zine: print double-sided, cut in half, fold the pages and assemble
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./talks_and_workshops.gmi {talks and workshops}
|
|
||||||
|
|
|
@ -93,9 +93,3 @@ esto no sucede así ni en NOR ni en NAND. en su caso, hay que agregar un NOT ent
|
||||||
una compuerta AND es equivalente a una compuerta NOR con sus entradas negadas.
|
una compuerta AND es equivalente a una compuerta NOR con sus entradas negadas.
|
||||||
|
|
||||||
una compuerta OR es equivalente a una compuerta NAND con sus entradas negadas.
|
una compuerta OR es equivalente a una compuerta NAND con sus entradas negadas.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./danzas_compuertas.gmi {danzas compuertas}
|
|
||||||
=> ./logiteca.gmi {logiteca}
|
|
||||||
|
|
|
@ -80,6 +80,3 @@ si la tabla no tiene una respuesta, entonces la máquina se detiene. el cómputo
|
||||||
|
|
||||||
próximamente
|
próximamente
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
|
|
|
@ -193,7 +193,3 @@ usando las palabras clave (mnemónicos) para indicar los códigos de operación,
|
||||||
* 5: FIN 0 (fin del programa)
|
* 5: FIN 0 (fin del programa)
|
||||||
|
|
||||||
(esta forma de programar es a la que se refiere la práctica de {s-camino})
|
(esta forma de programar es a la que se refiere la práctica de {s-camino})
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
|
|
|
@ -31,9 +31,3 @@ aquí un diagrama animado que muestra un par de ciclos de memoria como entrada a
|
||||||
el resultado del full-adder está conectado a otro ciclo de memoria. todos los componentes conformados por personas.
|
el resultado del full-adder está conectado a otro ciclo de memoria. todos los componentes conformados por personas.
|
||||||
|
|
||||||
=> https://ipfs.io/ipfs/QmSKnbCUGj3FR5hRG5UAgfXxjyp7aTQoRCeJ9G4MENxNNG/20190718-sumadanza_600.gif suma danza (gif, 187KB )
|
=> https://ipfs.io/ipfs/QmSKnbCUGj3FR5hRG5UAgfXxjyp7aTQoRCeJ9G4MENxNNG/20190718-sumadanza_600.gif suma danza (gif, 187KB )
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
=> ./compuertas.gmi {compuertas}
|
|
||||||
=> ./logiteca.gmi {logiteca}
|
|
||||||
|
|
|
@ -72,7 +72,3 @@ etc...
|
||||||
siempre se descartan los 2 símbolos/movimientos del inicio, pero la cantidad de símbolos/movimientos que se agregan al final cambian de acuerdo a la regla de producción.
|
siempre se descartan los 2 símbolos/movimientos del inicio, pero la cantidad de símbolos/movimientos que se agregan al final cambian de acuerdo a la regla de producción.
|
||||||
|
|
||||||
esta dinámica de respuestas a partir de esa secuencia inicial, eventualmente termina descartando a la secuencia completa.
|
esta dinámica de respuestas a partir de esa secuencia inicial, eventualmente termina descartando a la secuencia completa.
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
|
|
|
@ -51,7 +51,3 @@ Te invito a respirar de nuevo. A moverte con cómo te sientes ahora.
|
||||||
Te invito a acompañarnos en esta búsqueda.
|
Te invito a acompañarnos en esta búsqueda.
|
||||||
|
|
||||||
Está bien si todavía no es el momento. Ya sabes dónde me encuentro.
|
Está bien si todavía no es el momento. Ya sabes dónde me encuentro.
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./collapse.gmi {collapse}
|
|
||||||
|
|
|
@ -40,7 +40,3 @@ premiere invite:
|
||||||
an implementation of the máquina universal bailable {mub}
|
an implementation of the máquina universal bailable {mub}
|
||||||
|
|
||||||
dance accompanied by {the rite of computing}
|
dance accompanied by {the rite of computing}
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./the_rite_of_computing.gmi {the rite of computing}
|
|
||||||
|
|
|
@ -13,7 +13,3 @@ for a while it was seen as the closure of this project, and a recap of its histo
|
||||||
now it is seen as a new beginning.
|
now it is seen as a new beginning.
|
||||||
|
|
||||||
=> ./talks_and_workshops.gmi {talks and workshops}
|
=> ./talks_and_workshops.gmi {talks and workshops}
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./about.gmi {about}
|
|
||||||
|
|
|
@ -280,9 +280,3 @@ nor C12(r, p7, p8, p9, p10);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./danzas_compuertas.gmi {danzas compuertas}
|
|
||||||
=> ./coloring_computers.gmi {coloring computers}
|
|
||||||
|
|
|
@ -13,8 +13,3 @@ próximamente
|
||||||
una versión de la máquina universal bailable se presentó como acto escénico
|
una versión de la máquina universal bailable se presentó como acto escénico
|
||||||
|
|
||||||
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}
|
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}
|
||||||
|
|
||||||
|
|
||||||
## llega(n) aquí
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}
|
|
||||||
|
|
|
@ -99,8 +99,3 @@ probemos con secuencias de diferente longitud, a diferentes velocidades, y tambi
|
||||||
¿llega a suceder que detectamos un error?
|
¿llega a suceder que detectamos un error?
|
||||||
|
|
||||||
¿qué pasa cuando hay dos errores en la comunicación? ¿es posible que el sistema no lo detecte?
|
¿qué pasa cuando hay dos errores en la comunicación? ¿es posible que el sistema no lo detecte?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## llega aquí:
|
|
||||||
=> ./las_danzas.gmi {las danzas}
|
|
||||||
|
|
|
@ -22,7 +22,3 @@ compudanzas workshop in cuna school
|
||||||
{coloring computers} workshop in the processing community day nyc
|
{coloring computers} workshop in the processing community day nyc
|
||||||
|
|
||||||
=> https://processing.nyc/2019/#workshops processing community day nyc 2019
|
=> https://processing.nyc/2019/#workshops processing community day nyc 2019
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./log.gmi {log}
|
|
||||||
|
|
|
@ -284,8 +284,3 @@ CC BY-SA 4.0
|
||||||
=> https://itp.nyu.edu/adjacent/issue-5/the-rite-of-computing/ the rite of computing (la consagración de la computadora) - ADJACENT Issue 5 (web)
|
=> https://itp.nyu.edu/adjacent/issue-5/the-rite-of-computing/ the rite of computing (la consagración de la computadora) - ADJACENT Issue 5 (web)
|
||||||
|
|
||||||
text accompanied by {la consagración de la computadora}
|
text accompanied by {la consagración de la computadora}
|
||||||
|
|
||||||
|
|
||||||
## incoming links
|
|
||||||
=> ./poetry.gmi {poetry}
|
|
||||||
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}
|
|
||||||
|
|
Loading…
Reference in New Issue