Implementando DSL para la extracción de metadatos.
This commit is contained in:
parent
63ee36669b
commit
1bba25f2fc
@ -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
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user