mirror of
https://gitlab.com/jrmiller82/pathfinder-2-sqlite.git
synced 2026-11-10 21:29:44 -05:00
MAJOR DIRECTORY OVERHAUL
This commit is contained in:
1 parent
71ed03b165
commit
34ef5a6025
138 files changed
+48
-6
No files matched your search
@@ -28,6 +28,25 @@ will fit into memory easily so performance issues aren't likely to be a problem.
|
||||
Also, most use cases of this data will likely be read only, so the sqlite
|
||||
limitations on concurrent writes won't be an issue either.
|
||||
|
||||
## Stop yacking and tell me how to generate the database from the YAMl!
|
||||
|
||||
Ok!
|
||||
|
||||
You'll need a working python3 installation and the module `pyyaml` installed.
|
||||
|
||||
### To install pyyaml
|
||||
|
||||
Run the correct pip install command: `pip install pyyaml`. Depending on your
|
||||
operating system, this might be `pip3` or `python3-pip` instead of `pip`.
|
||||
|
||||
### Generate the database
|
||||
|
||||
From the repository root, navigate to the `bin` directory with a `cd ./bin` and
|
||||
then run `python3 gendb.py`. The code is not optimized for speed, so depending
|
||||
on your system and disk I/O, it might take a minute or so. The output file is
|
||||
currently a `tmp.db` in the repository root. You can then explore the db file
|
||||
with `sqlite3 tmp.db` called from the repository root directory.
|
||||
|
||||
## Where we need the most help right now
|
||||
|
||||
### Proofreading Spells.yaml
|
||||
|
||||
@@ -9,6 +9,9 @@ import os
|
||||
|
||||
def main():
|
||||
|
||||
# change directory to the data directory
|
||||
os.chdir('../data/')
|
||||
|
||||
# gets all files with a yaml extension in the directory
|
||||
yfiles = []
|
||||
for file in glob.glob("*.yaml"):
|
||||
@@ -1,30 +1,48 @@
|
||||
import sys
|
||||
# the append makes python look in the repo dir for other python modules
|
||||
sys.path.append('..')
|
||||
import yaml
|
||||
import sqlite3
|
||||
import os
|
||||
import pprint
|
||||
import sys
|
||||
from lib.basics import *
|
||||
import lib.utils as utils
|
||||
from lib.gendb.basics import *
|
||||
from lib.gendb import utils
|
||||
import pathlib
|
||||
|
||||
|
||||
DBFILE = 'tmp.db'
|
||||
DATA_PATH = "../data/yaml" # This is path relative to gendb.py
|
||||
DBOUTPUT_PATH = pathlib.Path().absolute().parent
|
||||
DATA_PATH = pathlib.Path().absolute().parent / 'data'
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
print("DB output is in path: {}".format(DBOUTPUT_PATH))
|
||||
print("Data is in path: {}".format(DATA_PATH))
|
||||
|
||||
# CHANGE TO DIR WHERE DB FILE IS OUTPUT
|
||||
try:
|
||||
os.chdir(DBOUTPUT_PATH)
|
||||
except OSError as e:
|
||||
print("{}".format(e))
|
||||
|
||||
# delete DBfile and run fresh
|
||||
try:
|
||||
os.remove(DBFILE)
|
||||
except OSError as e:
|
||||
print("{}".format(e))
|
||||
print("No prior database file found to remove. Will create a new one. Error message: {}".format(e))
|
||||
|
||||
# Get a DB conn
|
||||
try:
|
||||
os.chdir(DBOUTPUT_PATH)
|
||||
except OSError as e:
|
||||
print("{}".format(e))
|
||||
conn = utils.get_db_conn(DBFILE)
|
||||
pragma = "PRAGMA foreign_keys = ON;"
|
||||
c = conn.cursor()
|
||||
c.execute(pragma)
|
||||
|
||||
# change directory to where the data currently is relative to script
|
||||
# CHANGE DIRECTORY TO WHERE THE DATA CURRENTLY IS RELATIVE TO SCRIPT
|
||||
try:
|
||||
os.chdir(DATA_PATH)
|
||||
except OSError as e:
|
||||
@@ -1,5 +1,6 @@
|
||||
import yaml
|
||||
import pprint
|
||||
import os
|
||||
|
||||
|
||||
def main():
|
||||
@@ -8,6 +9,7 @@ def main():
|
||||
|
||||
|
||||
def standardize_monsters():
|
||||
os.chdir('../data/')
|
||||
with open('monsters.yaml', 'r') as f:
|
||||
data = yaml.full_load(f)
|
||||
goodset = set()
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
|
500 Internal Server Error
An error occurred: An error occurred Gitea Version: 28.1.0 |