storage
Module¶
Provides:
- List; like list but returns None instead of IndexOutOfBounds
- Storage; like dictionary allowing also for obj.foo for obj[‘foo’]
-
class
gluon.storage.
List
[source]¶ Bases:
list
Like a regular python list but callable. When a(i) is called if i is out of bounds returns None instead of IndexError.
-
class
gluon.storage.
Storage
[source]¶ Bases:
dict
A Storage object is like a dictionary except obj.foo can be used in addition to obj[‘foo’], and setting obj.foo = None deletes item foo.
Example:
>>> o = Storage(a=1) >>> print o.a 1 >>> o['a'] 1 >>> o.a = 2 >>> print o['a'] 2 >>> del o.a >>> print o.a None
-
getfirst
(key, default=None)[source]¶ Returns the first value of a list or the value itself when given a request.vars style key.
If the value is a list, its first item will be returned; otherwise, the value will be returned as-is.
Example output for a query string of ?x=abc&y=abc&y=def:
>>> request = Storage() >>> request.vars = Storage() >>> request.vars.x = 'abc' >>> request.vars.y = ['abc', 'def'] >>> request.vars.getfirst('x') 'abc' >>> request.vars.getfirst('y') 'abc' >>> request.vars.getfirst('z')
-
getlast
(key, default=None)[source]¶ Returns the last value of a list or value itself when given a request.vars style key.
If the value is a list, the last item will be returned; otherwise, the value will be returned as-is.
Simulated output with a query string of ?x=abc&y=abc&y=def:
>>> request = Storage() >>> request.vars = Storage() >>> request.vars.x = 'abc' >>> request.vars.y = ['abc', 'def'] >>> request.vars.getlast('x') 'abc' >>> request.vars.getlast('y') 'def' >>> request.vars.getlast('z')
-
getlist
(key)[source]¶ Returns a Storage value as a list.
If the value is a list it will be returned as-is. If object is None, an empty list will be returned. Otherwise, [value] will be returned.
Example output for a query string of ?x=abc&y=abc&y=def:
>>> request = Storage() >>> request.vars = Storage() >>> request.vars.x = 'abc' >>> request.vars.y = ['abc', 'def'] >>> request.vars.getlist('x') ['abc'] >>> request.vars.getlist('y') ['abc', 'def'] >>> request.vars.getlist('z') []
-
-
class
gluon.storage.
Settings
[source]¶ Bases:
gluon.storage.Storage
-
class
gluon.storage.
Messages
(T)[source]¶ Bases:
gluon.storage.Settings
-
class
gluon.storage.
StorageList
[source]¶ Bases:
gluon.storage.Storage
Behaves like Storage but missing elements defaults to [] instead of None