-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMovieModels.py
More file actions
33 lines (30 loc) · 832 Bytes
/
MovieModels.py
File metadata and controls
33 lines (30 loc) · 832 Bytes
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
import config
from datetime import datetime
from ModelBase import ModelBase
def year_validator(year):
if not isinstance(year,int):
try:
year = int(year)
except:
return False
if (year < 1870) or (year > datetime.now().year + 10):
return False
return True
class RawMediaFile(ModelBase):
"""
Class methods and variables to track all media objects
"""
id = (None,int,"serial PRIMARY KEY")
title = (None,str,"varchar")
release_year = (None,int,"integer",year_validator)
filename = (None,str,"varchar")
if __name__ == "__main__":
m = RawMediaFile.create()
assert(m.id == None)
assert(m.release_year == None)
m.release_year = "2090"
assert (m.release_year == None)
m.release_year = 1850
assert (m.release_year == None)
m.release_year = "2000"
assert (m.release_year == 2000)