From 1bba25f2fc15c2d77a2b21a757011cc55397132a Mon Sep 17 00:00:00 2001 From: nestorsire Date: Mon, 21 Nov 2022 12:26:32 -0500 Subject: [PATCH] =?UTF-8?q?Implementando=20DSL=20para=20la=20extracci?= =?UTF-8?q?=C3=83=C2=B3n=20de=20metadatos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PaqueteSemanal/PaqueteSemanal.class.st | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/PaqueteSemanal/PaqueteSemanal.class.st b/src/PaqueteSemanal/PaqueteSemanal.class.st index f161459..5efd952 100644 --- a/src/PaqueteSemanal/PaqueteSemanal.class.st +++ b/src/PaqueteSemanal/PaqueteSemanal.class.st @@ -5,5 +5,59 @@ Class { 'location', 'repository' ], + #classInstVars : [ + 'location' + ], #category : #PaqueteSemanal } + +{ #category : #accessing } +PaqueteSemanal class >> location: anObject [ + location := anObject +] + +{ #category : #accessing } +PaqueteSemanal >> extractMetadataForFolder: subfolder [ + + | subfolderFiles extractMetadatos | + subfolderFiles := subfolder allChildren select: [:item | item isFile and: [(item basename = '.DS_Store') not ]]. + subfolderFiles do: [:archivoPruebas | | metadatosArchivo titulo metaTiddler | + extractMetadatos := GtSubprocessWithInMemoryOutput new + command: '/usr/local/bin/exiftool'; + arguments: { '-j' . archivoPruebas 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: (self metadataFolder / titulo, 'json') + containing: metaTiddler asJson +]. +^ self metadataFolder + +] + +{ #category : #accessing } +PaqueteSemanal >> location: anObject [ + location := anObject +] + +{ #category : #accessing } +PaqueteSemanal >> metadataFolder [ + ^ self repository / 'metadatos' +] + +{ #category : #accessing } +PaqueteSemanal >> repository [ + ^ repository +] + +{ #category : #accessing } +PaqueteSemanal >> repository: folder [ + repository := folder +]