10
0
mirror of https://github.com/LCPQ/QUESTDB_website.git synced 2024-07-22 18:57:38 +02:00
QUESTDB_website/tools/datafileBuilder.py

35 lines
1.1 KiB
Python
Raw Normal View History

2019-11-12 20:09:18 +01:00
#!/usr/bin/env python3
import sys
import re
from enum import IntEnum,auto,unique
import numpy as np
from pathlib import Path
from lib import LaTeX
2020-06-26 14:36:35 +02:00
from lib.dfbOptions import dfbOptions
2019-12-03 15:24:29 +01:00
from lib.Format import Format
2020-06-26 14:36:35 +02:00
from TexSoup import TexSoup,TexNode,TexCmd,TexEnv
2020-06-20 18:30:18 +02:00
from lib.data import dataFileBase,DataType,state
from collections import defaultdict
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--file', type=argparse.FileType('r'))
2020-03-28 13:21:47 +01:00
parser.add_argument('--debug', action='store_true', help='Debug mode')
args = parser.parse_args()
lines=args.file.readlines()
soup=TexSoup(lines)
opt=soup.dfbOptions
2020-06-26 14:36:35 +02:00
if type(opt) is TexNode and type(opt.expr) is TexEnv:
texOps=dfbOptions.readFromEnv(opt)
else:
texOps=dfbOptions()
commands=[LaTeX.newCommand(cmd) for cmd in soup.find_all("newcommand")]
dat=LaTeX.tabularToData(soup.tabular,commands)
scriptpath=Path(sys.argv[0]).resolve()
datapath=scriptpath.parents[1]/"static"/"data"
if args.debug:
datapath=datapath/"test"
if not datapath.exists():
datapath.mkdir()
2020-06-26 14:36:35 +02:00
datalst=dataFileBase.readFromTable(dat,texOps,commands=commands)
for data in datalst:
2020-06-26 14:36:35 +02:00
data.toFile(datapath,texOps.suffix)