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()))) app_dict.update(json.loads(str(json_list.read())))
if len(app_dict) > (0 + offset) and limit > 0: if len(app_dict) > (0 + offset) and limit > 0:
i = 0 + offset
sorted_app_dict = {} sorted_app_dict = {}
for sorted_keys in sorted(app_dict.keys())[i:]: for sorted_keys in sorted(app_dict.keys())[offset:]:
if i <= limit: sorted_app_dict[sorted_keys] = app_dict[sorted_keys]
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'
if raw: i = 0
list_dict[app_id] = app_info for app_id, app_info in sorted_app_dict.items():
else: if i < limit:
list_dict[app_id] = [ if (filter and ((filter in app_id) or (filter in app_info['manifest']['name']))) or not filter:
('Name', app_info['manifest']['name']), instance_number = len(_installed_instance_number(app_id))
('Version', app_info['manifest']['version']), if instance_number > 1:
('Description', app_info['manifest']['description']), installed_txt = 'Yes ('+ str(instance_number) +' times)'
('Installed', installed_txt) 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 return list_dict