Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions data/scripts/courses_importer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from importer import Importer
import json

class Courses(Importer):

def __init__(self, dump_file):
self.table_name = "courses_t"
self.dump_file = dump_file
self.schema = [
("Course", "varchar(32) primary key"),
("CourseFull", "varchar(32)"),
("PrefixName", "varchar(32)"),
("DivisionCode", "varchar(32)"),
("DivisionName", "varchar(64)"),
("SchoolCode", "varchar(32)"),
("SchoolName", "varchar(64)"),
("DepartmentCode", "varchar(32)"),
("DepartmentName", "varchar(64)"),
("SubtermCode", "varchar(32)"),
("SubtermName", "varchar(64)"),
("EnrollmentStatus", "varchar(32)"),
("NumFixedUnits", "int"),
("MinUnits", "int"),
("MaxUnits", "int"),
("CourseTitle", "varchar(64)"),
("CourseSubtitle", "varchar(64)"),
("Approval", "varchar(32)"),
("BulletinFlags", "varchar(32)"),
("ClassNotes", "varchar(64)"),
("PrefixLongname", "varchar(32)"),
("Description", "text")
]

def import_data(self):
query = create_query(self)
send_query(query)

def create_query(self):
return 0
11 changes: 8 additions & 3 deletions data/scripts/importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
class Importer(object):
def __init__(self, schema):
self.table_name = None
self.schema = schema
self.schema = None
self._init_pg()

def _init_pg(self):
Expand All @@ -27,9 +27,9 @@ def _init_pg(self):

def create_table(self):
assert len(self.schema) > 0, "Schema is not defined."
print "Creating table `%s` with schema." $ self.table_name
print "Creating table `%s` with schema." % self.table_name
cursor = self.conn.cursor()
db_query = 'CREATE TABLE IF NOT EXISTS housing_t (%s);' % (", ".join(
db_query = 'CREATE TABLE IF NOT EXISTS %s (%s);' % (self.table_name, ", ".join(
['%s %s' % column for column in schema]))
cursor.execute(db_query)
self.conn.commit()
Expand All @@ -38,3 +38,8 @@ def drop_table():
print "Dropping table `%s`." % self.table_name
self.cursor.execute("DROP TABLE %s;", self.table_name)
self.conn.commit()

def send_query(query):
return 0

def
31 changes: 31 additions & 0 deletions data/scripts/master_importer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from courses_importer import Courses
import argparse


def main():
parser = argparse.ArgumentParser(description="""Reads a dump file and imports
it to specified table""")
parser.add_argument('table_name', help="""Table name - e.g. courses, housing,
housing_amenities""")
parser.add_argument('--create', action='store_true', help="""create the
courses_v2_t table if it doesn't already exist""")
parser.add_argument('--drop', action='store_true', help="""drop the
courses_v2_t table""")
parser.add_argument('dump_file', help="""Name of dump file""")

args = parser.parse_args()
# create object for corresponding table based on args
if (args.table_name == "courses"):
table_object = Courses(args.dump_file)
elif (args.table_name =="housing"):
table_object == Housing(args.dump_file)

if (args.create):
table_object.create_table()
elif(args.drop):
table_object.create_table()
else:
table_object.import_data()

if __name__ == "__main__":
main()