Vernacular / utils.py
bhardwaj08sarthak's picture
Upload folder using huggingface_hub
21d8b09 verified
Raw
History Blame Contribute Delete
1.64 kB
import json
import os
from re import sub
entityNameReplacements = [
['adam_s', 'adams'],
['zoey_s', 'zoeys'],
['adams_phone', 'myphone'],
['zoeys_phone', 'herphone'],
['adams\'phone', 'myphone'],
['zoeys\'phone', 'herphone'],
['adamsphone', 'myphone'],
['zoeysphone', 'herphone'],
['prologue', 'episode0'],
['flashback', 'fb'],
['cutscenesandsequences', 'special'],
['sequences', 'events'],
['dad', 'zoeysdad'],
['mom', 'zoeysmom'],
['png', ''],
['jpg', ''],
['jpeg', ''],
]
skipMarkers = [
'(Not to be translated)',
'Media',
'Voiceovers and Subtitles',
'Store'
]
def toSimpleCase(s, joiner=''):
return joiner.join(
sub('([A-Z][a-z]+)', r' \1',
sub('([A-Z]+)', r' \1',
s.replace('-', ' ').replace('\'', '').replace('.', ''))).split()).lower()
def toSnakeCase(s):
return toSimpleCase(s, '_')
def toSafeEntityName(s):
s = toSimpleCase(s)
for replacement in entityNameReplacements:
s = s.replace(replacement[0], replacement[1])
return s
def are_keys_sequential(d):
keys = list(d.keys())
cursor = None
for index, key in enumerate(keys):
if index == 0:
if key != "0" and key != "1":
return False
if not key.isnumeric():
return False
if index > 0:
if int(key) - cursor != 1:
return False
cursor = int(key)
return True
def getMarkedFields(filePath, markers):
fileCheck = [m for m in markers if m["identifier"] in filePath]
file = None if len(fileCheck) == 0 else fileCheck[0]
return None if file is None else file["fields"]
def is_skippable(name):
return any(marker in name for marker in skipMarkers)