|
18 | 18 | import logging |
19 | 19 | import os |
20 | 20 | import re |
| 21 | +import shlex |
21 | 22 | import shutil |
22 | 23 | import subprocess |
23 | 24 | import sys |
@@ -2059,19 +2060,28 @@ def check_rasters(raster_ffiles, checkfile, args): |
2059 | 2060 | "All bands will be checked for valid SETSM data range." |
2060 | 2061 | ])) |
2061 | 2062 |
|
| 2063 | + if args.get(ARGSTR_CHECK_METHOD) == ARGCHO_CHECK_METHOD_CHECKSUM: |
| 2064 | + cmd = "gdalinfo -checksum {}".format(raster_ffile) |
| 2065 | + LOGGER.debug("Running checksum with the following command:\n{}".format(cmd)) |
| 2066 | + proc = subprocess.run(shlex.split(cmd), stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT) |
| 2067 | + if proc.returncode != 0: |
| 2068 | + errmsg_print_and_list(errmsg_list, |
| 2069 | + "'gdalinfo -checksum' failure with return code {}".format(proc.returncode)) |
| 2070 | + raise RasterFileReadError() |
| 2071 | + |
2062 | 2072 | for band_index in range(num_bands): |
2063 | 2073 | band_num = band_index + 1 |
2064 | 2074 | band = ds.GetRasterBand(band_num) |
2065 | 2075 | LOGGER.debug("Processing Band {}".format(band_num)) |
2066 | 2076 |
|
2067 | | - if args.get(ARGSTR_CHECK_METHOD) == ARGCHO_CHECK_METHOD_CHECKSUM: |
2068 | | - try: |
2069 | | - LOGGER.debug("Doing checksum") |
2070 | | - checksum = band.Checksum() |
2071 | | - LOGGER.debug("Checksum succeeded: {}".format(checksum)) |
2072 | | - except RuntimeError as e: |
2073 | | - errmsg_print_and_list(errmsg_list, |
2074 | | - "Band {} checksum error: {}".format(band_num, e)) |
| 2077 | + # if args.get(ARGSTR_CHECK_METHOD) == ARGCHO_CHECK_METHOD_CHECKSUM: |
| 2078 | + # try: |
| 2079 | + # LOGGER.debug("Doing checksum") |
| 2080 | + # checksum = band.Checksum() |
| 2081 | + # LOGGER.debug("Checksum succeeded: {}".format(checksum)) |
| 2082 | + # except RuntimeError as e: |
| 2083 | + # errmsg_print_and_list(errmsg_list, |
| 2084 | + # "Band {} checksum error: {}".format(band_num, e)) |
2075 | 2085 |
|
2076 | 2086 | if args.get(ARGSTR_CHECK_METHOD) == ARGCHO_CHECK_METHOD_READ or setsm_suffix is not None: |
2077 | 2087 | try: |
|
0 commit comments