Data Roda 73: Tema Libre/Emergente
!!!Sección ARTE
Repositorio:
- https://chiselapp.com/user/Nestor/repository/arts
La intensión es:
- actualizar el repositorio para que contenga la última versión del wiki
- agregar una narrativa de datos con los automatismos asociados a la creación y actualización de este wiki.
Participantes Síncronos
- Offray
- Ruidajo
- Nestor
Prerrequisitos
- Instalar Glamorous Toolkit.
- Instalar ExoRepo.
- Instalar MiniDocs.
- Instalar TiddlyWikiPharo.
- Instalar el puente entre Pharo y Fossil.
Recomendado: tener instaladores de paquetes para el sistema opeartivo Windows (Scoop, Chocolatey), Mac (brew)
Instalación de LepiterPlugins:
ExoRepo new
repository: 'https://code.sustrato.red/Offray/LepiterPlugins';
load.
==> Checking for `sudo` access (which may request your password)...
Password:
Sorry, try again.
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew
==> The Xcode Command Line Tools will be installed.
El procedimineot instalará un listado de paquetes y puede tomar algunos minutos (dependiendo de la conexión a Internet y los paquetes ya presentes). Al final de la instalación deberá aparecer algo como esto:
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Homebrew/brew#donations
==> Next steps:
- Run these three commands in your terminal to add Homebrew to your PATH:
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/nestorsire/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/nestorsire/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
https://docs.brew.sh
Ejecutamos los pasos anteriores, como dicen las instruciones y luego
para verificar que la instalación funciona realizamos: brew help
con lo cual debería aparecer la ayuda de este comando.
Instalamos fzf
, una utilidad que permite ubicar muy rápidamente archivos y carpetas.
brew install fzf
Cambiar remoto en git
Para verificar la dirección a la que apunta el remoto ejecutar:
git remote -v
Esto nos dara el name
y la url
del remote.
Para cambiar la dirección del remoto ejecutar:
git remote set-url <name> <newurl>
Actividades
- Encontrados los enlaces a repositorio y documentación.
- Revisión del estado del repositorio y la documentación.
- Busqueda de la narrativa interactiva (gtoolkit-Lepiter).
- Instalación de paquetes para importar/exportar narrativa interactiva.
-
Actualización de remotos por cambio de
tupale.co
asustrato.red
. - Depuración y replicación de la extracción de metadatos
A continuación unas notas sobre cómo realizamos tal depuración:
Nos ubicamos en la carpeta que queremos, clonamos el repositorio de arts y lo abrimos:
fossil clone https://chiselapp.com/user/Nestor/repository/arts arts.fossil
fossil open arts.fossil
Una vez abierto, veremos una estructura de carpetas como la siguiente:
.
└── metadatos
Diseñaremos la estructura de información para que sea de la siguiente manera:
index.html
readme.md
leeme.md
└── tiddlers/
└── metadatos/
└── docs/
└──── seccion-arte.md.html
└──── extraccion-metadatos.md.html
└── software/
└──── MacOS/
└──── Windows/
└──── Linux/
Dado que trabajaremos mucho desde la consola en MacOS, instalaremos Tabby.
Probar la ejecución de comandos desde Glamorous Toolkit:
process := GtSubprocessWithInMemoryOutput new
command: 'exiftool';
arguments: { (FileLocator home / 'Pictures' / 'vlcsnap-2022-09-13-22h47m24s849.png') fullName}.
process errorBlock: [ :proc | self error: 'Failed to run exiftool' ].process runAndWait.
output := process stdout.
process := GtSubprocessWithInMemoryOutput new
command: 'man';
arguments: #('ls').
process errorBlock: [ :proc | self error: 'Failed to run exiftool' ].process runAndWait.
output := process stdout.
process := GtSubprocessWithInMemoryOutput new
command: '/usr/local/bin/exiftool';
arguments: { '-j' pictureFile fullName}.
process errorBlock: [ :proc | self error: 'Failed to run exiftool' ].
process runAndWait.
output := process stdout.
Extracción completa de metadatos:
archivos do: [:archivoPruebas | | metadatosArchivo titulo metaTiddler |
extractMetadatos := GtSubprocessWithInMemoryOutput new
command: 'exiftool';
arguments: { '-j' . pictureFile fullName}.
extractMetadatos errorBlock: [ :proc | self error: 'Failed to run exiftool' ].
extractMetadatos runAndWait.
metadatosArchivo := extractMetadatos stdout.
"metadatosArchivo."
titulo := archivoPruebas basename.
metaTiddler := Tiddler new
title: titulo;
text: metadatosArchivo;
type: 'application/json'.
MarkupFile
exportAsFileOn: (destino / titulo, 'json')
containing: metaTiddler asJson
]
Identificamos que los archivos .DS_store
1 no pueden ser procesados por exiftool
debemos retirar esos archivos de la colección de archivos.
Problemas en los nombres de archivos
Las convenciones de nombrados de archivos en El Paquete Semanal son extremadamente hostiles
para trabajar desde código,
con nombres que tienen caracteres como !, @, :
y otros reservados.
Necesitamos mejorar la manera en que se trabajan de tres maneas:
- Normalizar los nombres de archivos y asociarlos a los nombres hostiles.
- Mejorar la manera en que GToolkit lee caracteres acentuados desde Unix y la consola.
- Usar los nombres normalizados para las carpetas donde estén los archivos de metadatos.
https://en.wikipedia.org/wiki/.DS_Store