@@ -72,6 +72,7 @@ class WindowsError(Exception):
7272from scancode .interrupt import fake_interruptible
7373from scancode .interrupt import interruptible
7474from scancode .pool import ScanCodeTimeoutError
75+ from scancode_config import USE_CACHED_RESULTS
7576
7677# Tracing flags
7778TRACE = False
@@ -1445,21 +1446,22 @@ def scan_resource(
14451446 # compute resource_cache_index
14461447 resource_cache_index = resource_cache .compute_resource_cache_index (location = location , path = path )
14471448
1448- # update `results` with cached data or add scanner to scanners_to_run if no
1449- # cache data is available
1450- for scanner in scanners :
1451- # get resource_cache_data
1452- resource_cache_data = resource_cache .get_resource_cache_data (
1453- resource_cache_index = resource_cache_index ,
1454- plugin_name = scanner .name
1455- )
1456- if resource_cache_data :
1457- results .update (resource_cache_data )
1458- else :
1459- scanners_to_run .append (scanner )
1449+ if USE_CACHED_RESULTS :
1450+ # update `results` with cached data or add scanner to scanners_to_run if no
1451+ # cache data is available
1452+ for scanner in scanners :
1453+ # get resource_cache_data
1454+ resource_cache_data = resource_cache .get_resource_cache_data (
1455+ resource_cache_index = resource_cache_index ,
1456+ plugin_name = scanner .name
1457+ )
1458+ if resource_cache_data :
1459+ results .update (resource_cache_data )
1460+ else :
1461+ scanners_to_run .append (scanner )
14601462
14611463 # run each scanner in sequence in its own interruptible
1462- for scanner in scanners_to_run :
1464+ for scanner in scanners_to_run or scanners :
14631465 if with_timing :
14641466 start = time ()
14651467
@@ -1478,10 +1480,12 @@ def scan_resource(
14781480 # the return value of a scanner fun MUST be a mapping
14791481 if values_mapping :
14801482 results .update (values_mapping )
1481- resource_cache .update_resource_cache_data (
1482- resource_cache_index = resource_cache_index ,
1483- plugin_name = scanner .name
1484- )
1483+ if USE_CACHED_RESULTS :
1484+ resource_cache .update_resource_cache_data (
1485+ resource_cache_index = resource_cache_index ,
1486+ plugin_name = scanner .name ,
1487+ results = values_mapping ,
1488+ )
14851489
14861490 except Exception :
14871491 msg = 'ERROR: for scanner: ' + scanner .name + ':\n ' + traceback .format_exc ()
0 commit comments