def tradegood_lang2title(cls, tradegood, lang): filepath = os.path.join(FILE_DIR, "tmplt.{}.part.txt".format(lang)) data = { "tradegood_name": Tradegood.tradegood_lang2name(tradegood, lang), } title = str2strip(HenriqueJinja2.textfile2text(filepath, data)) return title
def product2data(product): tg_codename = Product.product2tradegood(product) tg = Tradegood.codename2tradegood(tg_codename) h = { "name": Tradegood.tradegood_lang2name(tg, lang), } return h
def codename_lang2json(cls, tradegood_codename, lang): ports = Port.tradegood2ports(tradegood_codename) tradegood = Tradegood.codename2tradegood(tradegood_codename) data = {cls.Field.TRADEGOOD_NAME: Tradegood.tradegood_lang2name(tradegood, lang), cls.Field.PORT_NAMES: sorted([Port.port_lang2name(port, lang) for port in ports],) } return data
def codename_lang2text(cls, tradegood_codename, lang): tradegood = Tradegood.codename2tradegood(tradegood_codename) prefer_list = Prefer.tradegood2prefers(tradegood_codename) def prefer2culture_name(prefer): culture = Culture.codename2culture(Prefer.prefer2culture(prefer)) culture_name = Culture.culture_lang2name(culture, lang) return culture_name preferred_culture_list = lmap(prefer2culture_name, prefer_list) preferred_cultures = ", ".join(preferred_culture_list) filepath = os.path.join(FILE_DIR, "tmplt.{}.part.txt".format(lang)) data = { "tradegood_name": Tradegood.tradegood_lang2name(tradegood, lang), "preferred_cultures": preferred_cultures, } text_out = str2strip(HenriqueJinja2.textfile2text(filepath, data)) return text_out
def _price_lang2text(cls, price, tradegood_codename, lang): price_text = PriceSkill.price_lang2text(price, lang) tradegood_name = Tradegood.tradegood_lang2name( Tradegood.codename2tradegood(tradegood_codename), lang) return "{} {}".format(tradegood_name, price_text)
def _dict_tradegood_en2port(cls): return merge_dicts([{cls.name2norm(Tradegood.tradegood_lang2name(tg, "en")): tg} for tg in Tradegood.list_all()], vwrite=vwrite_no_duplicate_key)
def codename_lang2text(cls, tradegood_codename, lang): logger = HenriqueLogger.func_level2logger(cls.codename_lang2text, logging.DEBUG) tradegood = Tradegood.codename2tradegood(tradegood_codename) filepath = os.path.join(FILE_DIR, "tmplt.{}.part.txt".format(lang)) tgt_codename = Tradegood.tradegood2tradegoodtype(tradegood) tgt = Tradegoodtype.codename2tradegoodtype( tgt_codename) if tgt_codename else None category = Tradegoodtype.tradegoodtype2category(tgt) if tgt else None ports_selling = Port.tradegood2ports(tradegood_codename) prefers = Prefer.tradegood2prefers(tradegood_codename) # def prefers2cultures(prefers): # culture_codenames = luniq(map(Prefer.prefer2culture, prefers)) # return lmap(Culture.codename2culture, culture_codenames) culture_codenames_preferred = luniq(map(Prefer.prefer2culture, prefers)) if prefers else [] # culture_list_preferred = prefers2cultures(prefers) if prefers else [] port_list_preferred = lchain( *map(Port.culture2ports, culture_codenames_preferred)) def port2is_resistant(port): if not tgt: return False products = Product.port2products(Port.port2codename(port)) tgt_codenames_port = smap(Product.product2tradegoodtype, products) logger.debug({ "tgt": tgt, "tgt_codenames_port": tgt_codenames_port }) return Tradegoodtype.tradegoodtype2codename( tgt) in tgt_codenames_port port_list_preferred_resistant = lfilter(port2is_resistant, port_list_preferred) def ports2str(ports): if not ports: return None return ", ".join( [Port.port_lang2name(port, lang) for port in ports]) def culture_codenames2str(culture_codenames): if not culture_codenames: return None logger.debug({"culture_codenames": culture_codenames}) cultures = lmap(Culture.codename2culture, culture_codenames) return ", ".join([ Culture.culture_lang2name(culture, lang) for culture in cultures ]) logger.debug( {"culture_codenames_preferred": culture_codenames_preferred}) data = { "name": Tradegood.tradegood_lang2name(tradegood, lang), "category": Tradegoodcategory.tradegoodcategory2str(category) if category else None, "tradegoodtype": Tradegoodtype.tradegoodtype_lang2name(tgt, lang) if tgt else None, "ports_selling": ports2str(ports_selling), "cultures_preferred": culture_codenames2str(culture_codenames_preferred), "ports_preferred_resistant": ports2str(port_list_preferred_resistant), } text_out = str2strip(HenriqueJinja2.textfile2text(filepath, data)) return text_out