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
|
||||
|
||||
|
||||
def load_all():
|
||||
candids = DBResource.updated.filter(StrInt.p_min(), StrInt.p_max())
|
||||
def load_all(startswith=None):
|
||||
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)]
|
||||
|
||||
|
||||
|
@ -166,3 +166,23 @@ input:
|
||||
with self.assertRaises(Exception): # NOQA
|
||||
sample1.input_computable_change('value', '{{value}}')
|
||||
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