@@ -143,14 +143,20 @@ def extract_and_open_file_in_vpk(self, file_name):
143
143
temp_dir = tempfile .mkdtemp ()
144
144
145
145
def extract_file (path ):
146
- pakfile = self .vpk_file .get_file (path )
147
- if pakfile :
148
- file_content = pakfile .read ()
149
- temp_file_path = os .path .join (temp_dir , os .path .basename (path ))
150
- with open (temp_file_path , 'wb' ) as temp_file :
151
- temp_file .write (file_content )
152
- return temp_file_path
153
- return None
146
+ try :
147
+ pakfile = self .vpk_file .get_file (path )
148
+ if pakfile :
149
+ file_content = pakfile .read ()
150
+ temp_file_path = os .path .join (temp_dir , os .path .basename (path ))
151
+ with open (temp_file_path , 'wb' ) as temp_file :
152
+ temp_file .write (file_content )
153
+ return temp_file_path
154
+ else :
155
+ print (f"File { path } not found in VPK." )
156
+ return None
157
+ except KeyError :
158
+ print (f"KeyError: { path } does not exist in the VPK archive." )
159
+ return None
154
160
155
161
# Extract the primary file
156
162
primary_temp_path = extract_file (file_name )
@@ -163,18 +169,17 @@ def extract_file(path):
163
169
base_name = os .path .splitext (file_name )[0 ]
164
170
related_files = []
165
171
for ext in related_extensions :
166
- try :
167
- related_temp_path = extract_file (base_name + ext )
168
- if related_temp_path :
169
- related_files .append (related_temp_path )
170
- except OSError :
171
- print ("mdl error" )
172
-
173
- # Ensure all required files are present
174
- if len (related_files ) != len (related_extensions ):
175
- print (f"Missing related files for { file_name } ." )
176
- return
177
-
172
+ related_temp_path = extract_file (base_name + ext )
173
+ if related_temp_path :
174
+ related_files .append (related_temp_path )
175
+
176
+ """"
177
+ # Ensure all required files are present
178
+ if len(related_files) != len(related_extensions):
179
+ print(f"Missing related files for {file_name}.")
180
+ return
181
+ """
182
+
178
183
# Open the file with the appropriate application
179
184
file_name , file_extension = os .path .splitext (primary_temp_path )
180
185
0 commit comments