1- import os
2-
3- from .ImportHelper import find_all_files
1+ import os , glob
42
3+ def search_resource (path , name ):
4+ files = glob .glob (os .path .join (path , "**" , name ), recursive = True )
5+ return files [0 ] if len (files ) else ""
56
67def get_resource_data (* args ):
78 """
@@ -30,27 +31,28 @@ def get_resource_data(*args):
3031 resource_file_name = path
3132
3233 reader = assets_file .environment .resources .get (resource_file_name )
34+ base_name = os .path .basename (resource_file_name )
3335 if not reader :
34- reader = assets_file .environment .resources .get (
35- os .path .basename (resource_file_name )
36- )
36+ reader = assets_file .environment .resources .get (base_name )
3737 if not reader :
3838 reader = assets_file .environment .resources .get (
39- os . path . basename ( resource_file_name . replace ('.assets.resS' , '.resource' ) )
39+ base_name . replace ('.assets.resS' , '.resource' )
4040 )
4141
4242 if reader :
4343 reader .Position = offset
4444 return reader .read_bytes (size )
4545
46+ current_directory = ''
4647 if not assets_file .environment .path :
47- return
48- current_directory = os .path .dirname (assets_file .environment .path )
48+ current_directory = os .getcwd ()
49+ else :
50+ current_directory = os .path .dirname (assets_file .environment .path )
4951 resource_file_path = os .path .join (current_directory , resource_file_name )
5052 if not os .path .isfile (resource_file_path ):
51- find_files = find_all_files (current_directory , resource_file_name )
52- if find_files :
53- resource_file_path = find_files [ 0 ]
53+ resource_file_path = search_resource (current_directory , base_name )
54+ if not os . path . isfile ( resource_file_path ) :
55+ resource_file_path = search_resource ( current_directory , base_name . replace ( '.assets.resS' , '.resource' ))
5456
5557 if os .path .isfile (resource_file_path ):
5658 with open (resource_file_path , "rb" ) as f :
@@ -60,7 +62,6 @@ def get_resource_data(*args):
6062 raise FileNotFoundError (
6163 f"Can't find the resource file { resource_file_name } "
6264 )
63-
6465 else :
6566 reader .Position = offset
6667 return reader .read_bytes (size )
0 commit comments