[virtualcommons-svn] commit/vcweb: 2 new changesets
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2011-06-28 06:59:07
|
2 new changesets in vcweb: http://bitbucket.org/virtualcommons/vcweb/changeset/1c4b3230f35a/ changeset: 1c4b3230f35a user: alllee date: 2011-06-28 08:41:56 summary: refactoring view logic, adjusting emitted json next affected #: 2 files (180 bytes) --- a/vcweb/core/views.py Mon Jun 27 16:28:54 2011 -0700 +++ b/vcweb/core/views.py Mon Jun 27 23:41:56 2011 -0700 @@ -44,14 +44,12 @@ def get_json_response(self, content, **httpresponse_kwargs): "Construct an `HttpResponse` object." - logger.debug("return json response %s", content) return HttpResponse(content, content_type='application/json', **httpresponse_kwargs) def convert_context_to_json(self, context, context_key='object_list', **kwargs): "Convert the context dictionary into a JSON object" - logger.debug("serializing context %s with context_key %s", context, context_key) return dumps(context[context_key]) class AnonymousMixin(object): --- a/vcweb/lighterprints/views.py Mon Jun 27 16:28:54 2011 -0700 +++ b/vcweb/lighterprints/views.py Mon Jun 27 23:41:56 2011 -0700 @@ -14,20 +14,19 @@ # FIXME: replace with dynamic set model = Activity - def get_activity_by_level(self): - activity_by_level = collections.defaultdict(list) - for activity in Activity.objects.all(): - activity_by_level[activity.level].append(activity) - return dict(activity_by_level) - def get_context_data(self, **kwargs): context = super(BaseListView, self).get_context_data(**kwargs) - context['activity_by_level'] = self.get_activity_by_level() + all_activities = Activity.objects.all() + activity_by_level = collections.defaultdict(list) + for activity in all_activities: + activity_by_level[activity.level].append(activity) + context['activity_by_level'] = dict(activity_by_level) + context['flattened_activities'] = all_activities return context def render_to_response(self, context, **response_kwargs): if self.request.GET.get('format', 'html') == 'json': - return JSONResponseMixin.render_to_response(self, context, context_key='activity_by_level') + return JSONResponseMixin.render_to_response(self, context, context_key='flattened_activities') else: return MultipleObjectTemplateResponseMixin.render_to_response(self, context) @@ -37,14 +36,14 @@ class MobileView(ActivityListView): jqm_grid_columns = tuple("abcde") - def get_activity_by_level(self): - activity_by_level = collections.defaultdict(list) - for index, activity in enumerate(Activity.objects.all()): - activity_by_level[activity.level].append((activity, MobileView.jqm_grid_columns[index])) - return dict(activity_by_level) - def get_context_data(self, **kwargs): context = super(MobileView, self).get_context_data(**kwargs) + activity_by_level = collections.defaultdict(list) + for index, activity in enumerate(context['flattened_activities']): + activity_by_level[activity.level].append((activity, + MobileView.jqm_grid_columns[index % 5])) + context['activity_by_level'] = dict(activity_by_level) + available_activities = get_available_activities(self.request) context['grid_letter'] = MobileView.jqm_grid_columns[max(len(available_activities) - 2, 0)] context['available_activities'] = available_activities http://bitbucket.org/virtualcommons/vcweb/changeset/1442870b22ab/ changeset: 1442870b22ab user: alllee date: 2011-06-28 08:59:03 summary: crude flattened json serialization. affected #: 1 file (426 bytes) --- a/vcweb/lighterprints/views.py Mon Jun 27 23:41:56 2011 -0700 +++ b/vcweb/lighterprints/views.py Mon Jun 27 23:59:03 2011 -0700 @@ -16,12 +16,19 @@ def get_context_data(self, **kwargs): context = super(BaseListView, self).get_context_data(**kwargs) - all_activities = Activity.objects.all() + all_activities = context['activity_list'] activity_by_level = collections.defaultdict(list) + flattened_activities = [] for activity in all_activities: activity_by_level[activity.level].append(activity) + #activity_as_dict = collections.OrderedDict() + activity_as_dict = {} + for attr_name in ('pk', 'name', 'summary', 'display_name', 'description', 'savings', 'url', 'available_all_day', 'level', 'group_activity', 'cooldown'): + activity_as_dict[attr_name] = getattr(activity, attr_name) + flattened_activities.append(activity_as_dict) + context['activity_by_level'] = dict(activity_by_level) - context['flattened_activities'] = all_activities + context['flattened_activities'] = flattened_activities return context def render_to_response(self, context, **response_kwargs): @@ -39,7 +46,7 @@ def get_context_data(self, **kwargs): context = super(MobileView, self).get_context_data(**kwargs) activity_by_level = collections.defaultdict(list) - for index, activity in enumerate(context['flattened_activities']): + for index, activity in enumerate(context['activity_list']): activity_by_level[activity.level].append((activity, MobileView.jqm_grid_columns[index % 5])) context['activity_by_level'] = dict(activity_by_level) Repository URL: https://bitbucket.org/virtualcommons/vcweb/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |