44 lines
1.8 KiB
Python
44 lines
1.8 KiB
Python
import json
|
|
import glob
|
|
|
|
def patch_notebook(file_path):
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|
nb = json.load(f)
|
|
|
|
changed = False
|
|
for cell in nb.get('cells', []):
|
|
if cell.get('cell_type') == 'code':
|
|
source = cell.get('source', [])
|
|
|
|
# Check if this cell should be fully commented out
|
|
full_source = ''.join(source)
|
|
if 'dc.load(' in full_source or 'ds.vv' in full_source:
|
|
for i in range(len(source)):
|
|
if not source[i].startswith('#'):
|
|
source[i] = '# ' + source[i]
|
|
changed = True
|
|
continue
|
|
|
|
# Otherwise, do line-by-line replacements
|
|
for i, line in enumerate(source):
|
|
if 'ST_training data_updated_1130points.shp' in line:
|
|
source[i] = line.replace('ST_training data_updated_1130points.shp', 'ST_training_data_updated_1130points.shp')
|
|
changed = True
|
|
if 'from new_import import *' in line:
|
|
source[i] = line.replace('from new_import import *', 'from new_import_ODC import *')
|
|
changed = True
|
|
if 'dc = datacube.Datacube()' in line:
|
|
source[i] = line.replace('dc = datacube.Datacube()', 'dc = None')
|
|
changed = True
|
|
if 'load_data(dc,' in line:
|
|
source[i] = line.replace('load_data(dc,', 'load_data(None,')
|
|
changed = True
|
|
|
|
if changed:
|
|
with open(file_path, 'w', encoding='utf-8') as f:
|
|
json.dump(nb, f, indent=1)
|
|
print(f"Patched {file_path}")
|
|
|
|
for nb in glob.glob("*.ipynb"):
|
|
patch_notebook(nb)
|