-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlorcana.py
41 lines (37 loc) · 1.68 KB
/
lorcana.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from langchain.document_loaders import PyPDFLoader
from langchain.document_loaders import JSONLoader
import external_comm
import json
import os
def lorcana_rules(supa_client, supa_key, config):
rules_file = external_comm.web_downloader(config.get('Sources', 'lorcana_rules'),
"lorcana rules", "pdf")
rules_location = "./rules.pdf"
pdf = open(rules_location, 'wb')
pdf.write(rules_file)
loader = PyPDFLoader(rules_location)
docs = loader.load_and_split()
external_comm.supa_trainer("lorcana_rules", "Lorcana", supa_client, supa_key,
rules_file, "pdf", docs, rules_location)
os.remove(rules_location)
print("rules loaded")
# TODO perge the cards json for things the ai doens't need
def lorcana_cards(supa_client, supa_key, config):
# this web downloader specifies json when actually it is
# going to retrieve txt because the api for lorcana cards is bad
cards = external_comm.web_downloader(config.get('Sources', 'lorcana_cards'),
"lorcana cards", "json")
json_cards = json.loads(cards)
cards_location = "./lorcana_cards.json"
with open(cards_location, 'w') as file:
json.dump(json_cards, file, indent=1, ensure_ascii=False)
print(f'{cards_location} saved')
loader = JSONLoader(
file_path=cards_location,
jq_schema='.[] | tostring')
card_docs = loader.load()
print("loader loaded")
external_comm.supa_trainer("lorcana_cards", "Lorcana", supa_client, supa_key,
cards, "json", card_docs, cards_location)
os.remove(cards_location)
print("cards loaded")