satishjasthij commited on
Commit
2d90d0f
·
1 Parent(s): bc6e9f5

Add code to unzip data in HF space

Browse files
Files changed (3) hide show
  1. .gitignore +2 -1
  2. app.py +4 -0
  3. engine/utils.py +29 -0
.gitignore CHANGED
@@ -1,3 +1,4 @@
1
  data/
2
  .DS_Store
3
- __pycache__
 
 
1
  data/
2
  .DS_Store
3
+ __pycache__
4
+ data.zip
app.py CHANGED
@@ -2,17 +2,21 @@ import gradio as gr
2
  import numpy as np
3
  from PIL import Image
4
  from engine.search import ImageSearchModule
 
5
  import os
6
  from pathlib import Path
7
 
8
  PROJECT_ROOT = Path(__file__).resolve().parent
9
 
 
10
  def check_dirs():
11
  dirs = {
12
  "Data": (PROJECT_ROOT / "data"),
13
  "Images": (PROJECT_ROOT / "data" / "images"),
14
  "Features": (PROJECT_ROOT / "data" / "features")
15
  }
 
 
16
  for dir_name, dir_path in dirs.items():
17
  if not dir_path.exists():
18
  raise FileNotFoundError(f"{dir_name} directory not found: {dir_path}")
 
2
  import numpy as np
3
  from PIL import Image
4
  from engine.search import ImageSearchModule
5
+ from engine.utils import unzip_file
6
  import os
7
  from pathlib import Path
8
 
9
  PROJECT_ROOT = Path(__file__).resolve().parent
10
 
11
+
12
  def check_dirs():
13
  dirs = {
14
  "Data": (PROJECT_ROOT / "data"),
15
  "Images": (PROJECT_ROOT / "data" / "images"),
16
  "Features": (PROJECT_ROOT / "data" / "features")
17
  }
18
+ if not dirs['Data'].exists():
19
+ unzip_file(zip_file_path=str(PROJECT_ROOT / "data.zip"), destination_folder=str(PROJECT_ROOT ))
20
  for dir_name, dir_path in dirs.items():
21
  if not dir_path.exists():
22
  raise FileNotFoundError(f"{dir_name} directory not found: {dir_path}")
engine/utils.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import zipfile
2
+ import os
3
+ def unzip_file(zip_file_path: str, destination_folder: str) -> None:
4
+ """Unzips a ZIP file to the specified destination folder.
5
+
6
+ Args:
7
+ zip_file_path: The path to the ZIP file.
8
+ destination_folder: The path to the folder where the contents should be extracted.
9
+ """
10
+
11
+ try:
12
+ # Check if the ZIP file exists
13
+ if not os.path.isfile(zip_file_path):
14
+ raise FileNotFoundError(f"ZIP file not found: {zip_file_path}")
15
+
16
+ # Check if the destination folder exists and create it if necessary
17
+ os.makedirs(destination_folder, exist_ok=True)
18
+
19
+ # Extract the ZIP file
20
+ with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
21
+ zip_ref.extractall(destination_folder)
22
+ print(f"Successfully unzipped '{zip_file_path}' to '{destination_folder}'")
23
+
24
+ except zipfile.BadZipFile:
25
+ print(f"Error: '{zip_file_path}' is not a valid ZIP file.")
26
+ except FileNotFoundError as e:
27
+ print(e) # Print the error message for FileNotFoundError
28
+ except Exception as e: # Catch any other unexpected errors
29
+ print(f"An unexpected error occurred: {e}")