add tables, touchup process.py
authorShane Jaroch <nutratracker@protonmail.com>
Tue, 4 Aug 2020 19:02:45 +0000 (15:02 -0400)
committerShane Jaroch <nutratracker@protonmail.com>
Tue, 4 Aug 2020 19:13:25 +0000 (15:13 -0400)
data/dep-graph.yml
data/import.sql
data/process.py
data/tables.sql

index 71e12aac288244f8de4d9855c4d66740a17f13f6..dcffe8135aeadab38690142c360253ed98b61680 100644 (file)
@@ -7,6 +7,6 @@
     - LANGDESC
       - LANGUAL
     - DATA_SRC
-      - DATASRCLN
+      - DATSRCLN
     - WEIGHT
     - FOOTNOTE
index 20a058146e3ee2a6f0ba4e3e9152a6dc015f0f6e..30b528c58ade5d1d30d35b6ab10c02b69ebdecfe 100644 (file)
@@ -4,5 +4,22 @@
 .import '| tail -n +2 nt/fdgrp.csv' fdgrp
 .import '| tail -n +2 nt/food_des.csv' food_des
 
+
+.import '| tail -n +2 nt/src_cd.csv' src_cd
+.import '| tail -n +2 nt/deriv_cd.csv' deriv_cd
+-- .import '| tail -n +2 nt/nut_data.csv' nut_data
+
+
+.import '| tail -n +2 nt/lang_desc.csv' lang_desc
+.import '| tail -n +2 nt/langual.csv' langual
+
+-- .import '| tail -n +2 nt/data_src.csv' data_src
+-- .import '| tail -n +2 nt/datsrcln.csv' datsrcln
+
+.import '| tail -n +2 nt/serv_desc.csv' serv_desc
+.import '| tail -n +2 nt/serving.csv' serving
+
+.import '| tail -n +2 nt/footnote.csv' footnote
+
 .header on
 .mode column
index 215d6309a9d30af2c24448493f650a8234cd4185..2fbd04f1aaf1459bf4617cdace5f0ef514b73661 100644 (file)
@@ -19,6 +19,13 @@ import os
 import shutil
 import sys
 
+# Check Python version
+if sys.version_info < (3, 7, 0):
+    ver = ".".join([str(x) for x in sys.version_info[0:3]])
+    print("ERROR: this requires Python 3.7.0 or later to run")
+    print("HINT: You're running Python " + ver)
+    exit(1)
+
 # change to script's dir
 os.chdir(os.path.dirname(os.path.abspath(__file__)))
 shutil.rmtree("nt", True)
@@ -34,8 +41,8 @@ output_files = {
     "SR-Leg_DB/DERIV_CD.csv": "nt/deriv_cd.csv",
     "SR-Leg_DB/LANGDESC.csv": "nt/lang_desc.csv",
     "SR-Leg_DB/LANGUAL.csv": "nt/langual.csv",
-    "SR-Leg_DB/DATA_SRC.csv": "nt/data_src.csv",
-    "SR-Leg_DB/DATSRCLN.csv": "nt/datsrcln.csv",
+    "SR-Leg_DB/DATA_SRC.csv": "nt/data_src.csv",
+    "SR-Leg_DB/DATSRCLN.csv": "nt/datsrcln.csv",
     "SR-Leg_DB/FOOTNOTE.csv": "nt/footnote.csv",
     "SR-Leg_DB/WEIGHT.csv": None,
 }
@@ -73,6 +80,7 @@ def main(args):
     process_nutr_def()
     # process_nut_data()
     process_food_des()
+    process_data_srcs()
 
     for fname in output_files:
         print(fname)
@@ -279,6 +287,13 @@ def process_food_des():
         writer.writerows(result)
 
 
+# -----------------
+# Data sources
+# -----------------
+def process_data_srcs():
+    pass
+
+
 # -----------------
 # Weight
 # -----------------
index 556ad7e90cdfd7f7fb0c680368b0c1cad6e9ebb5..1c5c4c5973406fd53505cf106abae3d44fa37dc5 100644 (file)
@@ -49,3 +49,90 @@ CREATE TABLE food_des (
   FOREIGN KEY (fdgrp_id) REFERENCES fdgrp (id)
 );
 
+CREATE TABLE src_cd (
+  id text PRIMARY KEY,
+  description text NOT NULL
+);
+
+CREATE TABLE deriv_cd (
+  id text PRIMARY KEY,
+  description text NOT NULL
+);
+
+CREATE TABLE nut_data (
+  NDB_No text,
+  Nutr_No text,
+  Nutr_Val double,
+  Num_Data_Pts int,
+  Std_Error double,
+  Src_Cd text,
+  Deriv_Cd text,
+  Ref_NDB_No text,
+  Add_Nutr_Mark text,
+  Num_Studies LONG,
+  Min double,
+  Max double,
+  DF LONG,
+  Low_EB double,
+  Up_EB double,
+  Stat_Cmt text,
+  AddMod_Date text
+);
+
+CREATE TABLE lang_desc (
+  id text PRIMARY KEY,
+  description text
+);
+
+CREATE TABLE langual (
+  food_id int NOT NULL,
+  factor_id text NOT NULL,
+  FOREIGN KEY (food_id) REFERENCES food_des (id),
+  FOREIGN KEY (factor_id) REFERENCES lang_desc (id)
+);
+
+CREATE TABLE data_src (
+  id text PRIMARY KEY,
+  authors text,
+  title text,
+  year text,
+  journal text,
+  vol_city text,
+  issue_state text,
+  start_page text,
+  end_page text
+);
+
+CREATE TABLE datsrcln (
+  food_id int NOT NULL,
+  nutr_id int NOT NULL,
+  data_src_id text NOT NULL,
+  FOREIGN KEY (food_id) REFERENCES food_des (id),
+  FOREIGN KEY (nutr_id) REFERENCES nutr_def (id),
+  FOREIGN KEY (data_src_id) REFERENCES data_src (id)
+);
+
+CREATE TABLE footnote (
+  food_id int NOT NULL,
+  footnt_no int NOT NULL,
+  footnt_typ text NOT NULL,
+  nutr_id int,
+  footnt_txt text NOT NULL,
+  FOREIGN KEY (food_id) REFERENCES food_des (id),
+  FOREIGN KEY (nutr_id) REFERENCES nutr_def (id)
+);
+
+CREATE TABLE serv_desc (
+  id integer PRIMARY KEY AUTOINCREMENT,
+  msre_desc text NOT NULL
+);
+
+CREATE TABLE serving (
+  food_id int NOT NULL,
+  msre_id int NOT NULL,
+  grams float NOT NULL,
+  num_data_pts int,
+  st_dev float,
+  FOREIGN KEY (msre_id) REFERENCES serv_desc (id)
+);
+