SYMBOL INDEX (25 symbols across 6 files) FILE: helper_files/dexter.py function construct_path (line 26) | def construct_path(url, category): function main (line 31) | def main(download_all=False): FILE: helper_files/mp3_language_detector.py function detect_language_from_mp3 (line 6) | def detect_language_from_mp3(mp3_path: str) -> str: function analyze_pack (line 35) | def analyze_pack(pack_path: str, verbose: bool = False) -> dict: function deduce_primary_language (line 57) | def deduce_primary_language(pack_path: str, verbose: bool = False) -> str: FILE: helper_files/readme_generator.py function generate_official_voicepacks_markdown_table (line 11) | def generate_official_voicepacks_markdown_table(waze_vps_json) -> str: function generate_community_voicepacks_markdown_table (line 35) | def generate_community_voicepacks_markdown_table(waze_vps_json) -> str: function generate_readme (line 135) | def generate_readme(waze_vps_json): FILE: mp3_upload/file_compression.py function get_folder_size (line 33) | def get_folder_size(folder_path): function convert_mp3 (line 41) | def convert_mp3(input_path, output_path, bitrate): function _convert_worker (line 56) | def _convert_worker(args): function compress_pack (line 64) | def compress_pack(pack_path, output_root): function compress_mp3_packs (line 143) | def compress_mp3_packs(mp3_pack_paths): function cleanup_orphaned_pack_dirs (line 163) | def cleanup_orphaned_pack_dirs(output_root): FILE: mp3_upload/file_ingestion.py function ingest_mp3_packs (line 14) | def ingest_mp3_packs(input_directory, valid_filenames_file): function is_mp3_valid (line 67) | def is_mp3_valid(file_path): FILE: mp3_upload/file_upload.py function decodeHexProtoBUF (line 27) | def decodeHexProtoBUF(hexString): function encodeToProtoBase64 (line 33) | def encodeToProtoBase64(jsonData, protoType): function returnLoginHeader (line 38) | def returnLoginHeader(): function create_metadata_file (line 224) | def create_metadata_file(file_path, data): function compress_files (line 234) | def compress_files(source_dir, archive_name): function encode_voice_data (line 247) | def encode_voice_data(data, proto_buf_type_def): function upload_data (line 258) | def upload_data(url, headers, data, cookies): function upload (line 269) | def upload(name_of_pack): function main (line 334) | def main():