Merge "Allow to load only some resources"
This commit is contained in:
commit
5b44dadcd1
@ -348,8 +348,13 @@ def load_updated(since=None, with_childs=True):
|
|||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
|
|
||||||
def load_all():
|
def load_all(startswith=None):
|
||||||
candids = DBResource.updated.filter(StrInt.p_min(), StrInt.p_max())
|
if startswith:
|
||||||
|
start = startswith
|
||||||
|
end = startswith + '~'
|
||||||
|
candids = DBResource.bucket.get_index("$key", start, end).results
|
||||||
|
else:
|
||||||
|
candids = DBResource.updated.filter(StrInt.p_min(), StrInt.p_max())
|
||||||
return [Resource(r) for r in DBResource.multi_get(candids)]
|
return [Resource(r) for r in DBResource.multi_get(candids)]
|
||||||
|
|
||||||
|
|
||||||
|
@ -166,3 +166,23 @@ input:
|
|||||||
with self.assertRaises(Exception): # NOQA
|
with self.assertRaises(Exception): # NOQA
|
||||||
sample1.input_computable_change('value', '{{value}}')
|
sample1.input_computable_change('value', '{{value}}')
|
||||||
return sample1
|
return sample1
|
||||||
|
|
||||||
|
def test_load_all(self):
|
||||||
|
sample_meta_dir = self.make_resource_meta("""
|
||||||
|
id: sample
|
||||||
|
handler: ansible
|
||||||
|
version: 1.0.0
|
||||||
|
input:
|
||||||
|
value:
|
||||||
|
schema: int
|
||||||
|
value: 0
|
||||||
|
""")
|
||||||
|
|
||||||
|
self.create_resource('sample1', sample_meta_dir, {'value': 1})
|
||||||
|
self.create_resource('sample2', sample_meta_dir, {'value': 1})
|
||||||
|
self.create_resource('x_sample1', sample_meta_dir, {'value': 1})
|
||||||
|
|
||||||
|
assert len(resource.load_all()) == 3
|
||||||
|
assert len(resource.load_all(startswith='sample')) == 2
|
||||||
|
assert len(resource.load_all(startswith='x_sample')) == 1
|
||||||
|
assert len(resource.load_all(startswith='nothing')) == 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user