fimeval 0.1.48__py3-none-any.whl → 0.1.49__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,8 @@ from pathlib import Path
4
4
  import geopandas as gpd
5
5
  import rasterio
6
6
  import shutil
7
+ import subprocess
8
+ import platform
7
9
  import pandas as pd
8
10
  from rasterio.warp import reproject, Resampling
9
11
  from rasterio.io import MemoryFile
@@ -19,6 +21,30 @@ from .metrics import evaluationmetrics
19
21
  from .PWBs3 import get_PWB
20
22
  from ..utilis import MakeFIMsUniform
21
23
 
24
+ #giving the permission to the folder
25
+ def is_writable(path):
26
+ """Check if the directory and its contents are writable."""
27
+ path = Path(path)
28
+ return os.access(path, os.W_OK)
29
+
30
+ def fix_permissions(path):
31
+ path = Path(path).resolve()
32
+ script_path = Path(__file__).parent / "fix_permissions.sh"
33
+
34
+ if not script_path.exists():
35
+ raise FileNotFoundError(f"Shell script not found: {script_path}")
36
+
37
+ if is_writable(path):
38
+ return
39
+
40
+ try:
41
+ result = subprocess.run(["bash", str(script_path), str(path)],
42
+ check=True, capture_output=True, text=True)
43
+ print(result.stdout)
44
+ except subprocess.CalledProcessError as e:
45
+ print(f"Shell script failed:\n{e.stderr}")
46
+
47
+
22
48
  # Function for the evalution of the model
23
49
  def evaluateFIM(
24
50
  benchmark_path, candidate_paths, gdf, folder, method, output_dir, shapefile=None
@@ -351,7 +377,12 @@ def EvaluateFIM(main_dir, method_name, output_dir, PWB_dir=None, shapefile_dir=N
351
377
  gdf = get_PWB()
352
378
  else:
353
379
  gdf = gpd.read_file(PWB_dir)
380
+
381
+ #Grant the permission to the main directory
382
+ print(f"Fixing permissions for {main_dir}...")
383
+ fix_permissions(main_dir)
354
384
 
385
+ #runt the process
355
386
  def process_TIFF(tif_files, folder_dir):
356
387
  benchmark_path = None
357
388
  candidate_path = []
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ DIR="$1"
4
+
5
+ if [ -z "$DIR" ]; then
6
+ echo "No directory provided."
7
+ exit 1
8
+ fi
9
+ echo "Fixing permissions for: $DIR"
10
+
11
+ UNAME=$(uname)
12
+ if [[ "$UNAME" == "Darwin" || "$UNAME" == "Linux" ]]; then
13
+ chmod -R u+rwX "$DIR"
14
+ echo "Permissions granted for user (u+rwX)"
15
+
16
+ elif [[ "$UNAME" == *"MINGW"* || "$UNAME" == *"MSYS"* || "$UNAME" == *"CYGWIN"* ]]; then
17
+ icacls "$DIR" /grant Everyone:F /T > /dev/null
18
+ echo "Permissions granted for working folder"
19
+
20
+ else
21
+ echo "Unsupported OS: $UNAME"
22
+ exit 1
23
+ fi
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fimeval
3
- Version: 0.1.48
3
+ Version: 0.1.49
4
4
  Summary: A Framework for Automatic Evaluation of Flood Inundation Mapping Predictions Evaluation
5
5
  License: GPLv3
6
6
  Author: Surface Dynamics Modeling Lab
@@ -2,14 +2,15 @@ fimeval/BuildingFootprint/__init__.py,sha256=oP9YWLdo6ANzSQFxYLv7Ku_26AY5NkLNhZL
2
2
  fimeval/BuildingFootprint/evaluationwithBF.py,sha256=0jqHbzEhDSouXXBOGHuJ2R4yo1rBKrhiC5mXO8SwJek,14167
3
3
  fimeval/ContingencyMap/PWBs3.py,sha256=YAg03jzdplYIstG-pZM1MECse7gYjWrJNKAopjgt3uk,1294
4
4
  fimeval/ContingencyMap/__init__.py,sha256=ckps2dyg6aci3TA-3P7oTMcCAcSTz9AA6sndHtZEwdE,259
5
- fimeval/ContingencyMap/evaluationFIM.py,sha256=o2jBZz58CPuvmJM9eF5pK8oCcj0i2-q0KNAYrClq_X4,15864
5
+ fimeval/ContingencyMap/evaluationFIM.py,sha256=ZVoSAseQ_tb_WrY0JLZaTc9z3VCjMLt7iw_OY2-Gobc,16796
6
+ fimeval/ContingencyMap/fix_permissions.sh,sha256=prIeJGXwAUO28nhgtCtvcpOxWK-J75rxN4FQ6QjGET4,508
6
7
  fimeval/ContingencyMap/methods.py,sha256=kbutfo9FUH-yjvnOXxwLpdErUuebMJ8NjCroNWIYCjo,3299
7
8
  fimeval/ContingencyMap/metrics.py,sha256=eEv1zAfmIjyg9OWM1b6-i25q_3jEBmeLZ7JeuvxS1QI,1070
8
9
  fimeval/ContingencyMap/plotevaluationmetrics.py,sha256=3bKfPKZnMR39dA3teDVpQBeTFKnF9v_2Vku0JNVGggs,3921
9
10
  fimeval/ContingencyMap/printcontingency.py,sha256=Ef0TlGNxvLlrliM2SCkhusgz9BsEGvVOBHAO62YC_QA,5421
10
11
  fimeval/__init__.py,sha256=kN114EvzG_BFjd65fKWXg29TqaWvR173EdCN3yj30oc,433
11
12
  fimeval/utilis.py,sha256=KNXcR0RvhT_lPqM_8cuAGXMpRtcLMfb_UDqUiMlDevs,7311
12
- fimeval-0.1.48.dist-info/LICENSE.txt,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
13
- fimeval-0.1.48.dist-info/METADATA,sha256=j1KdqdorzmChdi6YQU8SchyWZSMKuave4FwWziJfuho,14848
14
- fimeval-0.1.48.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
15
- fimeval-0.1.48.dist-info/RECORD,,
13
+ fimeval-0.1.49.dist-info/LICENSE.txt,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
14
+ fimeval-0.1.49.dist-info/METADATA,sha256=ENaY50DKfXdhuWsJsMMfvrr9p3ibHnjtRPwWSuE_uHQ,14848
15
+ fimeval-0.1.49.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
16
+ fimeval-0.1.49.dist-info/RECORD,,