-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcsv_structure_provider.py
63 lines (49 loc) Β· 2.21 KB
/
csv_structure_provider.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import os
from pathlib import Path
class Config:
BASE_CSV_DIR = None
ENG_DIR = None
JP_DIR = None
QUEST_DIR = "quest"
CUTSCENE_DIR = "cut_scene"
@classmethod
def initialize_language_base_directories(cls, base_dir):
# Ensure the base_dir is a valid directory path
if base_dir and os.path.isdir(base_dir):
cls.BASE_CSV_DIR = base_dir
cls.ENG_DIR = os.path.join(cls.BASE_CSV_DIR, 'eng')
cls.JP_DIR = os.path.join(cls.BASE_CSV_DIR, 'jp')
print(f"Base directory initialized: {cls.BASE_CSV_DIR}")
print(f"English directory: {cls.ENG_DIR}")
print(f"Japanese directory: {cls.JP_DIR}")
else:
print("Invalid base directory provided")
def list_csv_files_in_directory(base_path):
csv_files = []
for root, _, files in os.walk(base_path):
for file in files:
if file.endswith('.csv'):
full_path = os.path.join(root, file)
csv_files.append(full_path)
return csv_files
def list_quest_files_for_language(language_name):
return list_quest_files_for_language(language_name, Config.BASE_CSV_DIR)
def list_quest_files_for_language(language_name, csv_directory):
if language_name.lower() == 'eng':
return list_quest_files_for_eng(csv_directory)
elif language_name.lower() == 'jp':
return list_quest_files_for_jp(csv_directory)
else:
raise ValueError(f"Unsupported language: {language_name}")
def list_quest_files_for_eng(csv_directory):
eng_quest_path = os.path.join(os.path.join(csv_directory, 'eng'), Config.QUEST_DIR)
return list_csv_files_in_directory(eng_quest_path)
def list_cutscene_files_for_eng(csv_directory):
eng_ct_path = os.path.join(os.path.join(csv_directory, 'eng'), Config.CUTSCENE_DIR)
return list_csv_files_in_directory(eng_ct_path)
def list_quest_files_for_jp(csv_directory):
jp_quest_path = os.path.join(os.path.join(csv_directory, 'jp'), Config.QUEST_DIR)
return list_csv_files_in_directory(jp_quest_path)
def list_cutscene_files_for_jp(csv_directory):
jp_ct_path = os.path.join(os.path.join(csv_directory, 'jp'), Config.CUTSCENE_DIR)
return list_csv_files_in_directory(jp_ct_path)