import npc reaction images
This commit is contained in:
parent
23dc6962d8
commit
d97b100b96
@ -3,6 +3,7 @@ load_dotenv()
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import yaml
|
import yaml
|
||||||
|
import os
|
||||||
|
|
||||||
from sqlalchemy.orm import sessionmaker
|
from sqlalchemy.orm import sessionmaker
|
||||||
from truthinquiry.ext.database.models import *
|
from truthinquiry.ext.database.models import *
|
||||||
@ -30,19 +31,17 @@ class LocaleManager():
|
|||||||
return self.used_lids[1:]
|
return self.used_lids[1:]
|
||||||
|
|
||||||
|
|
||||||
def bulk_import(data):
|
def bulk_import(data, dir):
|
||||||
|
|
||||||
# Data list that will be commited to the db
|
# Data list that will be commited to the db
|
||||||
TEXT_LIST = []
|
TEXT_LIST = []
|
||||||
TRAIT_LIST = []
|
TRAIT_DICT = {}
|
||||||
REACTION_LIST = []
|
REACTION_LIST = []
|
||||||
QUESTIONS_LIST = []
|
QUESTIONS_LIST = []
|
||||||
ANSWER_LIST = []
|
ANSWER_LIST = []
|
||||||
NPC_LIST = []
|
NPC_LIST = []
|
||||||
ROOMS_LIST = []
|
ROOMS_LIST = []
|
||||||
|
|
||||||
# helper list to simplify
|
|
||||||
trait_names = {}
|
|
||||||
lm = LocaleManager()
|
lm = LocaleManager()
|
||||||
getid = lm.get_unused_lid
|
getid = lm.get_unused_lid
|
||||||
|
|
||||||
@ -71,20 +70,19 @@ def bulk_import(data):
|
|||||||
|
|
||||||
# Traits
|
# Traits
|
||||||
traits = data["traits"]
|
traits = data["traits"]
|
||||||
for trait in traits.values():
|
for trait_key, trait in traits.items():
|
||||||
# create the new trait
|
# create the new trait
|
||||||
new_trait = Trait(0,getid(), getid())
|
new_trait = Trait(None, getid(), getid())
|
||||||
|
|
||||||
for lang in trait["name"]:
|
for lang in trait["name"]:
|
||||||
TEXT_LIST.append(Text(0,new_trait.NAME_LID,
|
TEXT_LIST.append(Text(0,new_trait.NAME_LID,
|
||||||
lang, trait["name"][lang]))
|
lang, trait["name"][lang]))
|
||||||
trait_names[trait["name"][lang]] = new_trait.TRAIT_ID
|
|
||||||
|
|
||||||
for lang in trait["description"]:
|
for lang in trait["description"]:
|
||||||
TEXT_LIST.append(Text(0,new_trait.DESC_LID, lang,
|
TEXT_LIST.append(Text(0,new_trait.DESC_LID, lang,
|
||||||
trait["description"][lang]))
|
trait["description"][lang]))
|
||||||
|
|
||||||
TRAIT_LIST.append(new_trait)
|
TRAIT_DICT[trait_key] = new_trait
|
||||||
|
|
||||||
# Npcs
|
# Npcs
|
||||||
npcs = data["npcs"]
|
npcs = data["npcs"]
|
||||||
@ -96,12 +94,18 @@ def bulk_import(data):
|
|||||||
for lang in npc["name"]:
|
for lang in npc["name"]:
|
||||||
TEXT_LIST.append(Text(0,new_npc.NAME_LID, lang, npc["name"][lang]))
|
TEXT_LIST.append(Text(0,new_npc.NAME_LID, lang, npc["name"][lang]))
|
||||||
|
|
||||||
# TODO handle reactions
|
for trait_key, reaction in npc.get("reactions", {}).items():
|
||||||
"""
|
trait = TRAIT_DICT[trait_key]
|
||||||
for reaction in npc["reactions"]:
|
new_reaction = Reaction(None, new_npc.NPC_ID, None)
|
||||||
if reaction in list(trait_names.keys()):
|
new_reaction.TRAIT = trait
|
||||||
new_reaction = Reaction(0,new_npc.NPC_ID, trait_names[reaction])
|
|
||||||
REACTION_LIST.append(new_reaction) """
|
img_path = os.path.join(dir, reaction["img"])
|
||||||
|
|
||||||
|
with open(img_path, "rb") as f:
|
||||||
|
new_reaction.IMG = f.read()
|
||||||
|
|
||||||
|
REACTION_LIST.append(new_reaction)
|
||||||
|
|
||||||
|
|
||||||
for question_type in npc["answers"]:
|
for question_type in npc["answers"]:
|
||||||
question_type_id = question_type_zero.QUESTION_TYPE_ID if question_type == "where" else question_type_one.QUESTION_TYPE_ID
|
question_type_id = question_type_zero.QUESTION_TYPE_ID if question_type == "where" else question_type_one.QUESTION_TYPE_ID
|
||||||
@ -139,7 +143,7 @@ def bulk_import(data):
|
|||||||
session.add(question)
|
session.add(question)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
for trait in TRAIT_LIST:
|
for trait in TRAIT_DICT.values():
|
||||||
print("Trait : "+ str(trait))
|
print("Trait : "+ str(trait))
|
||||||
session.add(trait)
|
session.add(trait)
|
||||||
session.commit()
|
session.commit()
|
||||||
@ -167,5 +171,5 @@ def bulk_import(data):
|
|||||||
if len(sys.argv) <= 1:
|
if len(sys.argv) <= 1:
|
||||||
print("Please enter input file")
|
print("Please enter input file")
|
||||||
else:
|
else:
|
||||||
file = open(sys.argv[1], "r")
|
path = sys.argv[1]
|
||||||
bulk_import(yaml.load(file, yaml.Loader))
|
bulk_import(yaml.load(open(path, "r"), yaml.Loader), os.path.dirname(path))
|
||||||
|
|||||||
@ -9,6 +9,9 @@ npcs:
|
|||||||
- FR: "Je suis pratiquement s\xFBr que j'\xE9tais avec {NPC}."
|
- FR: "Je suis pratiquement s\xFBr que j'\xE9tais avec {NPC}."
|
||||||
name:
|
name:
|
||||||
FR: "Le M\xE9decin"
|
FR: "Le M\xE9decin"
|
||||||
|
reactions:
|
||||||
|
mefiant:
|
||||||
|
img: imgs/medecin/mefiant.png
|
||||||
2:
|
2:
|
||||||
answers:
|
answers:
|
||||||
where:
|
where:
|
||||||
@ -110,7 +113,7 @@ rooms:
|
|||||||
6:
|
6:
|
||||||
FR: Le jardin
|
FR: Le jardin
|
||||||
traits:
|
traits:
|
||||||
1:
|
mefiant:
|
||||||
description:
|
description:
|
||||||
FR: "Un maintien rigide des traits du visage, un regard de travers. Une crispation\
|
FR: "Un maintien rigide des traits du visage, un regard de travers. Une crispation\
|
||||||
\ des sourcils et parfois des rides autour de la bouche. Ces caract\xE9ristiques\
|
\ des sourcils et parfois des rides autour de la bouche. Ces caract\xE9ristiques\
|
||||||
@ -118,7 +121,7 @@ traits:
|
|||||||
\ la personne en face."
|
\ la personne en face."
|
||||||
name:
|
name:
|
||||||
FR: "m\xE9fiant(e),"
|
FR: "m\xE9fiant(e),"
|
||||||
2:
|
decontracte:
|
||||||
description:
|
description:
|
||||||
FR: "Un visage d\xE9contract\xE9 et ouvert, les muscles des joues contract\xE9\
|
FR: "Un visage d\xE9contract\xE9 et ouvert, les muscles des joues contract\xE9\
|
||||||
s qui laissent appara\xEEtre un sourire. On le d\xE9termine aussi par des\
|
s qui laissent appara\xEEtre un sourire. On le d\xE9termine aussi par des\
|
||||||
@ -128,7 +131,7 @@ traits:
|
|||||||
\ para\xEEtre ses r\xE9elles \xE9motions."
|
\ para\xEEtre ses r\xE9elles \xE9motions."
|
||||||
name:
|
name:
|
||||||
FR: heureux(se),
|
FR: heureux(se),
|
||||||
3:
|
triste:
|
||||||
description:
|
description:
|
||||||
FR: "Des sourcils contract\xE9s et resserr\xE9s vers le centre du visage auxquels\
|
FR: "Des sourcils contract\xE9s et resserr\xE9s vers le centre du visage auxquels\
|
||||||
\ s'ajoute un regard vide ou fuyant de l'interlocuteur, soit en fermant les\
|
\ s'ajoute un regard vide ou fuyant de l'interlocuteur, soit en fermant les\
|
||||||
@ -137,7 +140,7 @@ traits:
|
|||||||
\ ou accusations de son interlocuteur."
|
\ ou accusations de son interlocuteur."
|
||||||
name:
|
name:
|
||||||
FR: triste
|
FR: triste
|
||||||
4:
|
stresse:
|
||||||
description:
|
description:
|
||||||
FR: "Un visage crisp\xE9 qui s'accompagne habituellement de sourcils fronc\xE9\
|
FR: "Un visage crisp\xE9 qui s'accompagne habituellement de sourcils fronc\xE9\
|
||||||
s, un regard perdu qui se d\xE9tourne de celui de son interlocuteur. Cela\
|
s, un regard perdu qui se d\xE9tourne de celui de son interlocuteur. Cela\
|
||||||
@ -146,7 +149,7 @@ traits:
|
|||||||
\ ou une peur de ce qu'annonce ou peut nous annoncer l'interlocuteur en face."
|
\ ou une peur de ce qu'annonce ou peut nous annoncer l'interlocuteur en face."
|
||||||
name:
|
name:
|
||||||
FR: "stress\xE9(e),"
|
FR: "stress\xE9(e),"
|
||||||
5:
|
surpris:
|
||||||
description:
|
description:
|
||||||
FR: "G\xE9n\xE9ralement par des yeux \xE9carquill\xE9s et un haussement des\
|
FR: "G\xE9n\xE9ralement par des yeux \xE9carquill\xE9s et un haussement des\
|
||||||
\ sourcils. Cela peut \xE9galement se distinguer par une bouche ouverte ou,\
|
\ sourcils. Cela peut \xE9galement se distinguer par une bouche ouverte ou,\
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user