@@ -262,20 +262,33 @@ def apply_filter(i, f):
262
262
}
263
263
264
264
265
- def harvest_images (path , context ):
266
- logger .debug ("%s harvesting %r" , LOG_PREFIX , path )
265
+ def set_default_settings (settings ):
266
+ # Set default value for 'IMAGE_PROCESS'.
267
+ if "IMAGE_PROCESS" not in settings :
268
+ logger .warning ("{} No processing instructions defined." .format (LOG_PREFIX ))
269
+ settings ["IMAGE_PROCESS" ] = {}
270
+
267
271
# Set default value for 'IMAGE_PROCESS_DIR'.
268
- if "IMAGE_PROCESS_DIR" not in context :
269
- context ["IMAGE_PROCESS_DIR" ] = "derivatives"
272
+ if "IMAGE_PROCESS_DIR" not in settings :
273
+ settings ["IMAGE_PROCESS_DIR" ] = "derivatives"
270
274
271
275
# Set default value for 'IMAGE_PROCESS_ENCODING'
272
- if "IMAGE_PROCESS_ENCODING" not in context :
273
- context ["IMAGE_PROCESS_ENCODING" ] = "utf-8"
276
+ if "IMAGE_PROCESS_ENCODING" not in settings :
277
+ settings ["IMAGE_PROCESS_ENCODING" ] = "utf-8"
274
278
275
279
# Set default value for 'IMAGE_PROCESS_COPY_EXIF_TAGS'
276
- if "IMAGE_PROCESS_COPY_EXIF_TAGS" not in context :
277
- context ["IMAGE_PROCESS_COPY_EXIF_TAGS" ] = False
280
+ if "IMAGE_PROCESS_COPY_EXIF_TAGS" not in settings :
281
+ settings ["IMAGE_PROCESS_COPY_EXIF_TAGS" ] = False
278
282
283
+ # Set default value for 'IMAGE_PROCESS_FORCE'.
284
+ if "IMAGE_PROCESS_FORCE" not in settings :
285
+ settings ["IMAGE_PROCESS_FORCE" ] = False
286
+
287
+
288
+ def harvest_images (path , context ):
289
+ set_default_settings (context )
290
+
291
+ logger .debug ("%s harvesting %r" , LOG_PREFIX , path )
279
292
with open (path , "r+" , encoding = context ["IMAGE_PROCESS_ENCODING" ]) as f :
280
293
res = harvest_images_in_fragment (f , context )
281
294
f .seek (0 )
@@ -284,17 +297,7 @@ def harvest_images(path, context):
284
297
285
298
286
299
def harvest_feed_images (path , context , feed ):
287
- # Set default value for 'IMAGE_PROCESS_DIR'.
288
- if "IMAGE_PROCESS_DIR" not in context :
289
- context ["IMAGE_PROCESS_DIR" ] = "derivatives"
290
-
291
- # Set default value for 'IMAGE_PROCESS_ENCODING'
292
- if "IMAGE_PROCESS_ENCODING" not in context :
293
- context ["IMAGE_PROCESS_ENCODING" ] = "utf-8"
294
-
295
- # Set default value for 'IMAGE_PROCESS_COPY_EXIF_TAGS'
296
- if "IMAGE_PROCESS_COPY_EXIF_TAGS" not in context :
297
- context ["IMAGE_PROCESS_COPY_EXIF_TAGS" ] = False
300
+ set_default_settings (context )
298
301
299
302
with open (path , "r+" , encoding = context ["IMAGE_PROCESS_ENCODING" ]) as f :
300
303
soup = BeautifulSoup (f , "xml" )
@@ -688,10 +691,6 @@ def process_picture(soup, img, group, settings, derivative):
688
691
689
692
690
693
def process_image (image , settings ):
691
- # Set default value for 'IMAGE_PROCESS_FORCE'.
692
- if "IMAGE_PROCESS_FORCE" not in settings :
693
- settings ["IMAGE_PROCESS_FORCE" ] = False
694
-
695
694
# remove URL encoding to get to physical filenames
696
695
image = list (image )
697
696
image [0 ] = unquote (image [0 ])
@@ -729,6 +728,8 @@ def process_image(image, settings):
729
728
730
729
731
730
def dump_config (pelican ):
731
+ set_default_settings (pelican .settings )
732
+
732
733
logger .debug (
733
734
"{} config:\n {}" .format (
734
735
LOG_PREFIX , pprint .pformat (pelican .settings ["IMAGE_PROCESS" ])
0 commit comments