ginipick commited on
Commit
29af47d
·
verified ·
1 Parent(s): 026790d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -11
app.py CHANGED
@@ -50,26 +50,24 @@ def capture_thumbnail(space_id: str) -> bytes:
50
  pass
51
  return None
52
 
53
- def get_hardware_requirements(space: Dict) -> str:
54
- sdk_version = space.get('sdk', {}).get('hf', {}).get('version')
55
- if sdk_version and int(sdk_version.split('.')[0]) >= 3:
56
- return space.get('sdk', {}).get('hardware', 'Unknown')
57
- else:
58
- return 'CPU' if space.get('host_requirements', {}).get('hardware', {}).get('gpu') is False else 'GPU'
59
-
60
  def format_spaces(spaces: Union[List[Dict], str]) -> List[Dict]:
61
  if isinstance(spaces, str):
62
  return [{"error": spaces}]
63
 
64
- valid_spaces = [space for space in spaces if isinstance(space, dict)]
 
 
 
 
 
65
 
66
  with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
67
  return list(executor.map(format_space, valid_spaces))
68
 
69
- def format_space(space: Union[Dict, str]) -> Dict:
70
  if not isinstance(space, dict):
71
- return {"error": "Invalid space data"}
72
-
73
  space_id = space.get('id', 'Unknown')
74
  space_name = space_id.split('/')[-1] if '/' in space_id else space_id
75
 
@@ -93,6 +91,16 @@ def format_space(space: Union[Dict, str]) -> Dict:
93
  "hardware": hardware
94
  }
95
 
 
 
 
 
 
 
 
 
 
 
96
 
97
  def get_app_py_content(space_id: str) -> str:
98
  app_py_url = f"https://huggingface.co/spaces/{space_id}/raw/main/app.py"
 
50
  pass
51
  return None
52
 
 
 
 
 
 
 
 
53
  def format_spaces(spaces: Union[List[Dict], str]) -> List[Dict]:
54
  if isinstance(spaces, str):
55
  return [{"error": spaces}]
56
 
57
+ valid_spaces = []
58
+ for space in spaces:
59
+ if isinstance(space, dict):
60
+ valid_spaces.append(space)
61
+ else:
62
+ print(f"Skipping invalid space: {space}")
63
 
64
  with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
65
  return list(executor.map(format_space, valid_spaces))
66
 
67
+ def format_space(space: Dict) -> Dict:
68
  if not isinstance(space, dict):
69
+ return {"error": f"Invalid space format: {space}"}
70
+
71
  space_id = space.get('id', 'Unknown')
72
  space_name = space_id.split('/')[-1] if '/' in space_id else space_id
73
 
 
91
  "hardware": hardware
92
  }
93
 
94
+ def get_hardware_requirements(space: Dict) -> str:
95
+ if not isinstance(space, dict):
96
+ return "Unknown"
97
+
98
+ sdk_version = space.get('sdk', {}).get('hf', {}).get('version')
99
+ if sdk_version and int(sdk_version.split('.')[0]) >= 3:
100
+ return space.get('sdk', {}).get('hardware', 'Unknown')
101
+ else:
102
+ return 'CPU' if space.get('host_requirements', {}).get('hardware', {}).get('gpu') is False else 'GPU'
103
+
104
 
105
  def get_app_py_content(space_id: str) -> str:
106
  app_py_url = f"https://huggingface.co/spaces/{space_id}/raw/main/app.py"