File tree Expand file tree Collapse file tree 4 files changed +37
-37
lines changed
Expand file tree Collapse file tree 4 files changed +37
-37
lines changed Original file line number Diff line number Diff line change 1- import numbers
21from datetime import datetime
32from .errors import ArgumentError
43
54
6- class FlatStore (dict ):
7-
8- def __init__ (self , * args , ** kwargs ):
9- self .update (* args , ** kwargs )
10-
11- def __setitem__ (self , key , value ):
12- # print "SETTING ITEM [%s]=[%s]" % (key, value)
13- if not (
14- isinstance (value , numbers .Real ) or
15- isinstance (value , basestring )
16- ):
17- raise ValueError (
18- "custom data only allows string and real number values" )
19- if not isinstance (key , basestring ):
20- raise ValueError ("custom data only allows string keys" )
21- super (FlatStore , self ).__setitem__ (key , value )
22-
23- def update (self , * args , ** kwargs ):
24- if args :
25- if len (args ) > 1 :
26- raise TypeError ("update expected at most 1 arguments, "
27- "got %d" % len (args ))
28- other = dict (args [0 ])
29- for key in other :
30- self [key ] = other [key ]
31- for key in kwargs :
32- self [key ] = kwargs [key ]
33-
34- def setdefault (self , key , value = None ):
35- if key not in self :
36- self [key ] = value
37- return self [key ]
38-
39-
405class SetterProperty (object ):
416
427 def __init__ (self , func , doc = None ):
Original file line number Diff line number Diff line change 1+ import numbers
2+
3+
4+ class FlatStore (dict ):
5+
6+ def __init__ (self , * args , ** kwargs ):
7+ self .update (* args , ** kwargs )
8+
9+ def __setitem__ (self , key , value ):
10+ # print "SETTING ITEM [%s]=[%s]" % (key, value)
11+ if not (
12+ isinstance (value , numbers .Real ) or
13+ isinstance (value , basestring )
14+ ):
15+ raise ValueError (
16+ "custom data only allows string and real number values" )
17+ if not isinstance (key , basestring ):
18+ raise ValueError ("custom data only allows string keys" )
19+ super (FlatStore , self ).__setitem__ (key , value )
20+
21+ def update (self , * args , ** kwargs ):
22+ if args :
23+ if len (args ) > 1 :
24+ raise TypeError ("update expected at most 1 arguments, "
25+ "got %d" % len (args ))
26+ other = dict (args [0 ])
27+ for key in other :
28+ self [key ] = other [key ]
29+ for key in kwargs :
30+ self [key ] = kwargs [key ]
31+
32+ def setdefault (self , key , value = None ):
33+ if key not in self :
34+ self [key ] = value
35+ return self [key ]
Original file line number Diff line number Diff line change 77
88import datetime
99import time
10- from intercom import FlatStore
1110from intercom .api_operations .all import All
1211from intercom .api_operations .count import Count
1312from intercom .api_operations .delete import Delete
1413from intercom .api_operations .find import Find
1514from intercom .api_operations .find_all import FindAll
1615from intercom .api_operations .save import Save
16+ from intercom .lib .flat_store import FlatStore
1717from intercom .lib .typed_json_deserializer import JsonDeserializer
1818
1919
Original file line number Diff line number Diff line change @@ -66,7 +66,7 @@ def it_presents_a_complete_user_record_correctly(self):
6666 expect (1393613864 ) == time .mktime (user .remote_created_at .timetuple ())
6767 expect (1401970114 ) == time .mktime (user .updated_at .timetuple ())
6868
69- from intercom import FlatStore
69+ from intercom . lib . flat_store import FlatStore
7070 from intercom .user import create_class_instance
7171 Avatar = create_class_instance ('Avatar' )
7272 Company = create_class_instance ('Company' )
You can’t perform that action at this time.
0 commit comments