Source code for data

#!/usr/bin/env python

import DatabaseManager as dbm
import datetime

localhost = {'user': 'andrew',
             'password': 'password123',
             'host': 'localhost',
             'port': '3306',
             'raise_on_warnings': True}

zeropi = {'user': 'andrew',
          'password': 'password123',
          'host': 'zeropi',
          'port': '3306',
          'raise_on_warnings': True}

pibow = {'user': 'andrew',
         'password': 'password123',
         'host': 'pibow',
         'port': '3306',
         'raise_on_warnings': True}

car = dbm.table(
    (
        ("friendlyID", " varchar(100) NOT NULL", "%s"),
        ("Make", " varchar(100) NOT NULL", "%s"),
        ("Model", " varchar(100) NOT NULL", "%s"),
        ("salePriceEst", " int(20)", "%s"),
        ("Registration", " varchar(100)", "%s"),
        ("purchaseEventID", " int(20)", "%s"),
        ("saleEventID", " int(20)", "%s"),
        ("boot_width_mm", " int(20)", "%s"),
        ("boot_length_mm", " int(20)", "%s"),
        ("boot_height_mm", " int(20)", "%s"),
        ("fuel_tank", " int(20)", "%s"),
        ("fuel", " varchar(100)", "%s"),
        ("fuel_consumption", " varchar(100)", "%s"),
        ("gearchange", " varchar(100)", "%s"),
        ("maximum_speed", " int(20)", "%s"),
        ("engine_size", " int(20)", "%s"),
        ("cylinders", " int(20)", "%s"),
        ("power_bhp", " int(20)", "%s"),
        ("power_RPM", " int(20)", "%s"),
        ("Torque_Nm", " int(20)", "%s"),
        ("Torque_RPM", " int(20)", "%s")
    )
    )
   
eventType = dbm.table((("label", " varchar(50) NOT NULL", "%s"), ("eventTypeID", " int(20)", "%s")))

Readings = dbm.table((("readingId", " int(11) NOT NULL", "%s"),
                      ("readingDate", " Date NOT NULL", "%s"),
                      ("readingType", " smallint NOT NULL", "%s"),
                      ("readingValue", " float NOT NULL", "%s")))

genericEvents = dbm.table((("eventID", " int(11) NOT NULL", "%s"),
                           ("Date", " Date NOT NULL", "%s"),
                           ("Mileage", " int(20)", "%s"),
                           ("Cost", " float NOT NULL", "%s"),
                           ("Type", " varchar(100)", "%s"),
                           ("Comment", " varchar(512)", "%s"),
                           ("Car", " varchar(100)", "%s")))

refuelEvents = dbm.table((("refuelEventID", " int(11) NOT NULL", "%s"),
                          ("eventID", " int(11) NOT NULL", "%s"),
                          ("Litres_to_fill", " float NOT NULL", "%s"),
                          ("Computer_Reading", " float", "%s"),
                          ("previousEventID", " int(11)", "%s")))

recordings = dbm.table((("destinationFile", " varchar(250) NOT NULL", "%s"),
                        ("sourceFile", " varchar(250) NOT NULL", "%s"),
                        ("Date", " Date NOT NULL", "%s")))

singleTable = {'wholeTable': 'SELECT * FROM {}',
             'recent10': 'SELECT * FROM {} ORDER BY {} ASC LIMIT 1'}

readQueries = {'allEvents' : 'SELECT * FROM genericEvents',
               'refuelEvents' : 'SELECT * FROM genericEvents INNER JOIN refuelEvents ON genericEvents.eventID = refuelEvents.eventID',
               'latestID' : 'SELECT {} FROM {} ORDER BY {} DESC LIMIT 1',
               'types' : 'SELECT * FROM eventType',
               'previousRefuelEventID' : 'SELECT refuelEvents.eventID FROM genericEvents INNER JOIN refuelEvents ON refuelEvents.eventID=genericEvents.eventID WHERE genericEvents.Car="{}" ORDER BY genericEvents.Date DESC LIMIT 1'}
    
[docs]def entity(entityName): """Provides the set of data identified by the entity name received. Entities currently available are: tables; servers; files; sql. :param entityName: The name of the entity to be returned. :type entityName: str :return: The data set identified by the entity name received. :rtype: dict""" __value = {"tables" : {"car" : car, "eventType" : eventType, "genericEvents" : genericEvents, "refuelEvents" : refuelEvents, "Readings" : Readings, "recordings" : recordings}, "servers" : {"localhost" : localhost, "pibow" : pibow, "zeropi" : zeropi}, "files" : {"car" : "/mnt/harddrive1/pibow/02-Finances/Cars_Database/table_data/car_table.csv", "eventType" : "/mnt/harddrive1/pibow/02-Finances/Cars_Database/table_data/eventType_table.csv", "genericEvents" : "/mnt/harddrive1/pibow/02-Finances/Cars_Database/table_data/genericEvents_table.csv", "refuelEvents" : "/mnt/harddrive1/pibow/02-Finances/Cars_Database/table_data/refuelEvents_table.csv"}, "sql" : {"read" : singleTable, "carQuery" : readQueries}} return __value[entityName]
[docs]def dataBaseName(): """Provides a name for a new database derived from today's date :return: Suggested database name. :rtype: str""" x = datetime.datetime.now() y = str(x.strftime("%Y")) d = str(x.strftime("%j")) tag = y + d return "testVersion" + tag