Fixed ONGEKI importer

This commit is contained in:
Dniel97 2023-05-16 23:24:14 +02:00
parent aaf92b0525
commit ec2fd91c71
Signed by untrusted user: Dniel97
GPG Key ID: 6180B3C768FB2E08
1 changed files with 51 additions and 48 deletions

View File

@ -409,6 +409,21 @@ class Importer:
self.logger.info(f"Imported {version_str} userPlaylog: {tmp['musicId']}")
def get_ongeki_card_id_by_aqua_row(self, row: Row, user_id_column: str = "user_id"):
aqua_user_id = row._asdict()[user_id_column]
user_result = self.aqua.execute(
f"SELECT * FROM ongeki_user_data WHERE id = {aqua_user_id}"
)
# could never be None undless somethign is really fucked up
user_data = None
for user in user_result:
user_data = user._asdict()
card_id = user_data["aime_card_id"]
return card_id
def import_ongeki(self):
game_cfg = OngekiConfig()
game_cfg.update(yaml.safe_load(open(f"{self.config_folder}/ongeki.yaml")))
@ -428,8 +443,8 @@ class Importer:
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
user_id_column="aimeCardId",
unused_columns=["id", "aimeCardId"],
card_id=row._asdict()["aime_card_id"],
)
# useless but required
tmp["accessCode"] = ""
@ -442,10 +457,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_option")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
tmp.pop("dispbp")
@ -457,7 +471,10 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_general_data")
for row in result:
tmp = self.parse_aqua_row(row, datetime_columns, unused_columns=["id"])
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row, datetime_columns, unused_columns=["id"], card_id=user
)
if tmp["propertyKey"] == "recent_rating_list":
rating_list = []
@ -484,10 +501,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_deck")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -498,10 +514,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_activity")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
tmp["id"] = tmp["activityId"]
tmp.pop("activityId")
@ -514,10 +529,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_card")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -528,10 +542,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_chapter")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -542,10 +555,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_character")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -558,10 +570,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_deck")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -572,10 +583,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_item")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -586,10 +596,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_item")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -600,10 +609,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_memory_chapter")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -619,10 +627,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_mission_point")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -638,10 +645,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_music_detail")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -654,10 +660,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_playlog")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -668,10 +673,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_story")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(
@ -682,10 +686,9 @@ class Importer:
result, datetime_columns = self.parse_aqua_db("ongeki_user_tech_count")
for row in result:
user = self.get_ongeki_card_id_by_aqua_row(row)
tmp = self.parse_aqua_row(
row,
datetime_columns,
unused_columns=["id"],
row, datetime_columns, unused_columns=["id"], card_id=user
)
base.handle_upsert_user_all_api_request(