def print_say(self, ast, inmenu=False): if (not inmenu and self.index + 1 < len(self.block) and self.say_belongs_to_menu(ast, self.block[self.index + 1])): self.say_inside_menu = ast return self.indent() self.write(say_get_code(ast, inmenu))
def create_translate(self, block): if self.saving_translations: return [ ] # Doesn't matter, since we're throwing this away in this case md5 = hashlib.md5() for i in block: if isinstance(i, renpy.ast.Say): code = say_get_code(i) elif isinstance(i, renpy.ast.UserStatement): code = i.line else: raise Exception( "Don't know how to get canonical code for a %s" % str(type(i))) md5.update(code.encode("utf-8") + b"\r\n") if self.label: base = self.label + "_" + md5.hexdigest()[:8] else: base = md5.hexdigest()[:8] i = 0 suffix = "" while True: identifier = base + suffix if identifier not in self.identifiers: break i += 1 suffix = "_{0}".format(i) self.identifiers.add(identifier) translated_block = self.dialogue.get(identifier) if translated_block is None: return block new_block = [] old_linenumber = block[0].linenumber for ast in translated_block: new_ast = copy(ast) new_ast.linenumber = old_linenumber new_block.append(new_ast) return new_block
def create_translate(self, block): if self.saving_translations: return [] # Doesn't matter, since we're throwing this away in this case md5 = hashlib.md5() for i in block: if isinstance(i, renpy.ast.Say): code = say_get_code(i) elif isinstance(i, renpy.ast.UserStatement): code = i.line else: raise Exception("Don't know how to get canonical code for a %s" % str(type(i))) md5.update(code.encode("utf-8") + b"\r\n") if self.label: base = self.label + "_" + md5.hexdigest()[:8] else: base = md5.hexdigest()[:8] i = 0 suffix = "" while True: identifier = base + suffix if identifier not in self.identifiers: break i += 1 suffix = "_{0}".format(i) self.identifiers.add(identifier) translated_block = self.dialogue.get(identifier) if translated_block is None: return block new_block = [] old_linenumber = block[0].linenumber for ast in translated_block: new_ast = copy(ast) new_ast.linenumber = old_linenumber new_block.append(new_ast) return new_block
def create_translate(self, block): if self.saving_translations: return [ ] # Doesn't matter, since we're throwing this away in this case md5 = hashlib.md5() for i in block: if isinstance(i, renpy.ast.Say): code = say_get_code(i) elif isinstance(i, renpy.ast.UserStatement): code = i.line else: raise Exception( "Don't know how to get canonical code for a %s" % str(type(i))) md5.update(code.encode("utf-8") + b"\r\n") digest = md5.hexdigest()[:8] identifier = self.unique_identifier(self.label, digest) self.identifiers.add(identifier) if self.alternate is not None: alternate = self.unique_identifier(self.alternate, digest) self.identifiers.add(alternate) else: alternate = None translated_block = self.dialogue.get(identifier) if (translated_block is None) and alternate: translated_block = self.dialogue.get(alternate) if translated_block is None: return block new_block = [] old_linenumber = block[0].linenumber for ast in translated_block: new_ast = copy(ast) new_ast.linenumber = old_linenumber new_block.append(new_ast) return new_block