In [1]:
from climax import login

In [2]:
from climax.climate_data import PREC_QUERY, IRRI_QUERY, DAYLIGHT_QUERY

In [3]:
# database = login.get_db()
local_database = login.get_db(host='localhost', user='root', passwd='mariadb', db='trost_prod')
# cursor = database.cursor()
cursor = local_database.cursor()

In [4]:
cultureID = 44443
# cultureID = 56878

In [6]:
cursor.execute(DAYLIGHT_QUERY % {'CULTURE_ID': cultureID})
light_data = cursor.fetchall()

In [10]:
light_data[0]


Out[10]:
(datetime.datetime(2011, 4, 15, 0, 0), 0.0)

In [9]:
cursor.execute(PREC_QUERY % {'CULTURE_ID': cultureID})
prec_rows = cursor.fetchall()

In [10]:
# {date: precip for (date, precip) in prec_rows}

In [11]:
cursor.execute(PREC_QUERY % {'CULTURE_ID': cultureID})


# precipitation = dict(map(lambda x: (x[0], x[1:]), [row for row in cursor.fetchall()]))
precipitation = {date: precip for (date, precip) in cursor.fetchall()}

In [12]:
# precipitation

In [13]:
cursor.execute(IRRI_QUERY % {'CULTURE_ID': cultureID})
irrigation_rows = cursor.fetchall()

#maps datetime.date to (float, long)
# irrigation = dict(map(lambda x: (x[0], x[1:]),
#                       [row for row in cursor.fetchall()]))

In [14]:
irrigation_rows


Out[14]:
((datetime.date(2011, 5, 5), 6.16, 169L),
 (datetime.date(2011, 5, 5), 6.16, 170L),
 (datetime.date(2011, 5, 16), 3.08, 169L),
 (datetime.date(2011, 5, 26), 9.24, 169L),
 (datetime.date(2011, 5, 31), 3.08, 169L),
 (datetime.date(2011, 5, 31), 3.08, 170L),
 (datetime.date(2011, 6, 1), 6.16, 169L),
 (datetime.date(2011, 6, 4), 9.24, 169L),
 (datetime.date(2011, 6, 6), 3.08, 169L),
 (datetime.date(2011, 6, 6), 3.08, 170L),
 (datetime.date(2011, 6, 15), 9.24, 169L),
 (datetime.date(2011, 6, 18), 9.24, 169L),
 (datetime.date(2011, 6, 29), 9.24, 169L))

In [15]:
from collections import defaultdict

irrigation_dict = defaultdict(list)
for date, irri_amount, treatment_id in irrigation_rows:
    irrigation_dict[date].append( (irri_amount, treatment_id) )

In [16]:
for date in irrigation_dict:
    print irrigation_dict[date]


[(9.24, 169L)]
[(3.08, 169L), (3.08, 170L)]
[(6.16, 169L)]
[(9.24, 169L)]
[(9.24, 169L)]
[(3.08, 169L), (3.08, 170L)]
[(6.16, 169L), (6.16, 170L)]
[(9.24, 169L)]
[(9.24, 169L)]
[(3.08, 169L)]

In [17]:
PREC_QUERY


Out[17]:
'SELECT DATE(P.datum), P.amount FROM precipitation P JOIN cultures C ON P.location_id = C.location_id WHERE C.id = %(CULTURE_ID)i ORDER BY P.datum;'

In [18]:
cursor.execute('SHOW TABLES')


Out[18]:
72L

In [21]:
import pony

In [22]:
from pony import Database


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-22-08c07f577eac> in <module>()
----> 1 from pony import Database

ImportError: cannot import name Database

In [23]:
from pony.orm import Database

In [24]:
db = Database()

In [27]:
db.bind('mysql', host='localhost', user='root', passwd='mariadb', db='trost_prod')

In [28]:
db.generate_mapping(check_tables=True, create_tables=False)

In [ ]: