def init_dialog(self, root_directory): # If "<skill>/dialog/<lang>" exists, load from there. Otherwise # load dialog from "<skill>/locale/<lang>" dialog_dir = get_language_dir(join(root_directory, 'dialog'), self.lang) locale_dir = get_language_dir(join(root_directory, 'locale'), self.lang) if exists(dialog_dir): self.dialog_renderer = load_dialogs(dialog_dir) elif exists(locale_dir): self.dialog_renderer = load_dialogs(locale_dir) else: LOG.debug('No dialog loaded')
def load_regex_files(self, root_directory): """ Load regex files found under the skill directory. Arguments: root_directory (str): root folder to use when loading files """ regexes = [] regex_dir = get_language_dir(join(root_directory, 'regex'), self.lang) locale_dir = get_language_dir(join(root_directory, 'locale'), self.lang) if exists(regex_dir): regexes = load_regex(regex_dir, self.skill_id) elif exists(locale_dir): regexes = load_regex(locale_dir, self.skill_id) for regex in regexes: self.intent_service.register_adapt_regex(regex)
def load_vocab_files(self, root_directory): """ Load vocab files found under root_directory. Arguments: root_directory (str): root folder to use when loading files """ keywords = [] vocab_dir = get_language_dir(join(root_directory, 'vocab'), self.lang) locale_dir = get_language_dir(join(root_directory, 'locale'), self.lang) if exists(vocab_dir): keywords = load_vocabulary(vocab_dir, self.skill_id) elif exists(locale_dir): keywords = load_vocabulary(locale_dir, self.skill_id) else: LOG.debug('No vocab loaded') # For each found intent register the default along with any aliases for vocab_type in keywords: for line in keywords[vocab_type]: entity = line[0] aliases = line[1:] self.intent_service.register_adapt_keyword( vocab_type, entity, aliases)
def _find_resource(self, res_name, lang, res_dirname=None): """Finds a resource by name, lang and dir """ if res_dirname: # Try the old directory (dialog/vocab/regex) root_path = get_language_dir(join(self.root_dir, res_dirname), lang) path = join(root_path, res_name) if exists(path): return path # Try old-style non-translated resource path = join(self.root_dir, res_dirname, res_name) if exists(path): return path # New scheme: search for res_name under the 'locale' folder root_path = get_language_dir(join(self.root_dir, 'locale'), lang) for path, _, files in os.walk(root_path): if res_name in files: return join(path, res_name) # Not found return None