Merge pull request #23 from dblugeon/patch-1

correction for the limit option
This commit is contained in:
Alexis Gavoty 2013-09-08 05:52:17 -07:00
commit 001db13296

View file

@ -131,31 +131,34 @@ def app_list(offset=None, limit=None, filter=None, raw=False):
app_dict.update(json.loads(str(json_list.read())))
if len(app_dict) > (0 + offset) and limit > 0:
i = 0 + offset
sorted_app_dict = {}
for sorted_keys in sorted(app_dict.keys())[i:]:
if i <= limit:
sorted_app_dict[sorted_keys] = app_dict[sorted_keys]
i += 1
for app_id, app_info in sorted_app_dict.items():
if (filter and ((filter in app_id) or (filter in app_info['manifest']['name']))) or not filter:
instance_number = len(_installed_instance_number(app_id))
if instance_number > 1:
installed_txt = 'Yes ('+ str(instance_number) +' times)'
elif instance_number == 1:
installed_txt = 'Yes'
else:
installed_txt = 'No'
for sorted_keys in sorted(app_dict.keys())[offset:]:
sorted_app_dict[sorted_keys] = app_dict[sorted_keys]
if raw:
list_dict[app_id] = app_info
else:
list_dict[app_id] = [
('Name', app_info['manifest']['name']),
('Version', app_info['manifest']['version']),
('Description', app_info['manifest']['description']),
('Installed', installed_txt)
]
i = 0
for app_id, app_info in sorted_app_dict.items():
if i < limit:
if (filter and ((filter in app_id) or (filter in app_info['manifest']['name']))) or not filter:
instance_number = len(_installed_instance_number(app_id))
if instance_number > 1:
installed_txt = 'Yes ('+ str(instance_number) +' times)'
elif instance_number == 1:
installed_txt = 'Yes'
else:
installed_txt = 'No'
if raw:
list_dict[app_id] = app_info
else:
list_dict[app_id] = [
('Name', app_info['manifest']['name']),
('Version', app_info['manifest']['version']),
('Description', app_info['manifest']['description']),
('Installed', installed_txt)
]
i += 1
else:
break
return list_dict