@@ -41,6 +41,9 @@ public class EnchantCommand: Command {
4141 @Key ( " -r " , " --reprint " , description: " Pickup assets based on data.sqlite file " , completion: . filename)
4242 var sqliteFile : File ?
4343
44+ @Key ( " --baseurl " , description: " Base URL to place metadata (default is difined in config.json) " , completion: . none)
45+ var baseURL : URL ?
46+
4447 @Flag ( " -e " , " --embedded " , description: " Embed encoded image in metadata " )
4548 var embedDecodedImageInMetadata : Bool
4649
@@ -155,22 +158,30 @@ private extension EnchantCommand {
155158 let exifReader = ExifReader ( fileURL: assetFile. url)
156159 let spells = exifReader. spells. map ( \. phrase)
157160
158- switch metadataFactory. generateMetadata ( from: . completedAsset( name: assetFile. nameExcludingExtension, spells: spells, config: config) , as: nameFactory. fileName ( from: index) , serial: index, imageType: fileType, embededImage: imageData) {
159- case let . success( file) :
160- stdout <<< " Created: \( file. path) "
161- return true
162- case let . failure( error) :
163- switch error {
164- case . creatingFileFailed:
165- stderr <<< " Couldn't create file to write metadata. "
166- case . invalidMetadataSortConfig:
167- stderr <<< " Sorting metadata config should cover all trait you defined. "
168- case . invalidBackgroundColorCode:
169- stderr <<< " backgroundColor in metadata should be 3 or 6 hex code without # prefix. "
170- case . writingFileFailed:
171- stderr <<< " Writing metadata failed. "
172- }
173- return false
161+ switch metadataFactory. generateMetadata (
162+ from: . completedAsset( name: assetFile. nameExcludingExtension, spells: spells, config: config) ,
163+ as: nameFactory. fileName ( from: index) ,
164+ serial: index,
165+ imageType: fileType,
166+ overrideBaseURL: baseURL,
167+ embededImage: imageData) {
168+ case let . success( file) :
169+ stdout <<< " Created: \( file. path) "
170+ return true
171+ case let . failure( error) :
172+ switch error {
173+ case . creatingFileFailed:
174+ stderr <<< " Couldn't create file to write metadata. "
175+ case . invalidMetadataSortConfig:
176+ stderr <<< " Sorting metadata config should cover all trait you defined. "
177+ case . invalidBackgroundColorCode:
178+ stderr <<< " backgroundColor in metadata should be 3 or 6 hex code without # prefix. "
179+ case . writingFileFailed:
180+ stderr <<< " Writing metadata failed. "
181+ case . undifinedBaseURL:
182+ stderr <<< " BaseURL is not defined. "
183+ }
184+ return false
174185 }
175186 }
176187
0 commit comments