blob: 50b3dd686d2e560a6188966050a5d34e05903081 [file] [log] [blame]
Joe Gregorio695fdc12011-01-16 16:46:55 -05001from django.db import models
2
3
4class CredentialsField(models.Field):
5
6 __metaclass__ = models.SubfieldBase
7
8 def db_type(self):
9 return 'VARCHAR'
10
11 def to_python(self, value):
12 if value is None:
13 return None
14 if isinstance(value, oauth2client.Credentials):
15 return value
16 return pickle.loads(base64.b64decode(value))
17
18 def get_db_prep_value(self, value):
19 return base64.b64encode(pickle.dumps(value))
20
21
22class FlowField(models.Field):
23
24 __metaclass__ = models.SubfieldBase
25
26 def db_type(self):
27 return 'VARCHAR'
28
29 def to_python(self, value):
30 print "In to_python", value
31 if value is None:
32 return None
33 if isinstance(value, oauth2client.Flow):
34 return value
35 return pickle.loads(base64.b64decode(value))
36
37 def get_db_prep_value(self, value):
38 return base64.b64encode(pickle.dumps(value))