-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
40 lines (32 loc) · 1.17 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import datetime
from google.appengine.ext import db
class Car(db.Model):
name = db.StringProperty()
make = db.StringProperty()
model = db.StringProperty()
year = db.StringProperty()
default = db.BooleanProperty()
leaseStart = db.DateProperty()
leaseEnd = db.DateProperty()
startingMiles = db.IntegerProperty()
class Entry(db.Model):
date = db.DateTimeProperty()
miles = db.IntegerProperty()
gallons = db.FloatProperty()
cost = db.FloatProperty()
entered = db.DateTimeProperty(auto_now_add=True)
updated = db.DateTimeProperty(auto_now=True)
estimate = db.BooleanProperty()
location = db.StringProperty()
mpg = db.FloatProperty()
cpg = db.FloatProperty()
car = db.ReferenceProperty(Car)
def calc_cpg(self):
return self.cost/self.gallons
def calc_mpg(self, prior):
return (self.miles - prior.miles)/self.gallons
def calc_mpg_miles(self, miles):
return (self.miles - miles)/self.gallons
def jstime(self):
d3 = self.date - datetime.datetime(1970,1,1)
return ((d3.days * 86400000000) + (d3.seconds + 1000000) + d3.microseconds)/1000