Example #1
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = ViewExportSerializer(context['views'], many=True)
         xml = ViewRenderer().render(serializer.data)
         return XMLResponse(xml, name='views')
     else:
         return render_to_format(self.request, format, _('Views'), 'views/views_export.html', context)
Example #2
0
    def render_project_answers(self, project, snapshot, attachments_format):
        return render_to_format(self.request, attachments_format, project.title, 'projects/project_answers_export.html', {
            'project': project,
            'current_snapshot': snapshot,
            'format': attachments_format,
            'title': project.title,

        })
Example #3
0
 def render_project_answers(self, project, snapshot, attachments_format):
     return render_to_format(
         self.request, attachments_format, project.title,
         'projects/project_answers_export.html', {
             'project': ProjectWrapper(project, snapshot),
             'format': attachments_format,
             'title': project.title,
             'resource_path': get_value_path(project, snapshot)
         })
Example #4
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = ExportSerializer(context['optionsets'], many=True)
         response = HttpResponse(XMLRenderer().render(serializer.data), content_type="application/xml")
         response['Content-Disposition'] = 'filename="options.xml"'
         return response
     else:
         return render_to_format(self.request, format, _('Options'), 'options/options_export.html', context)
Example #5
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = OptionSetExportSerializer(context['optionsets'],
                                                many=True)
         xml = OptionSetRenderer().render(serializer.data)
         return XMLResponse(xml, name='options')
     else:
         return render_to_format(self.request, format, _('Options'),
                                 'options/options_export.html', context)
Example #6
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = CatalogExportSerializer(context['catalog'])
         xml = CatalogRenderer().render([serializer.data])
         return XMLResponse(xml, name=context['catalog'].key)
     else:
         return render_to_format(self.request, format,
                                 context['catalog'].title,
                                 'questions/catalog_export.html', context)
Example #7
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = ExportSerializer(context['catalog'])
         xmldata = XMLRenderer().render(serializer.data)
         response = HttpResponse(prettify_xml(xmldata), content_type="application/xml")
         response['Content-Disposition'] = 'filename="%s.xml"' % context['catalog'].key
         return response
     else:
         return render_to_format(self.request, format, context['catalog'].title, 'questions/catalog_export.html', context)
Example #8
0
    def render_project_views(self, project, snapshot, view, attachments_format):
        try:
            rendered_view = view.render(project, snapshot)
        except TemplateSyntaxError:
            return HttpResponse()

        return render_to_format(self.request, attachments_format, project.title, 'projects/project_view_export.html', {
            'project': project,
            'current_snapshot': snapshot,
            'format': attachments_format,
            'title': project.title,
            'view': view,
            'rendered_view': rendered_view
        })
Example #9
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = AttributeExportSerializer(context['attributes'],
                                                many=True)
         xml = AttributeRenderer().render(serializer.data)
         return XMLResponse(xml, name='domain')
     elif format[:3] == 'csv':
         if format == 'csvcomma':
             delimiter = ','
         else:
             delimiter = ';'
         rows = []
         for attribute in context['attributes']:
             rows.append((attribute.key, attribute.comment, attribute.uri))
         return render_to_csv(_('Domain'), rows, delimiter)
     else:
         return render_to_format(self.request, format, _('Domain'),
                                 'domain/domain_export.html', context)
Example #10
0
    def export_view(self, key):
        current_snapshot = None

        if self.format not in dict(settings.EXPORT_FORMATS):
            raise CommandError(
                'Format "{}" is not supported for answers.'.format(
                    self.format))

        try:
            view = View.objects.get(key=key)
        except View.DoesNotExist:
            raise CommandError(
                'A view with the key "{}" was not found.'.format(key))

        for project in self.get_queryset():
            context = {
                'project':
                project,
                'current_snapshot':
                current_snapshot,
                'view':
                project.views.get(pk=view.id),
                'rendered_view':
                view.render(project,
                            snapshot=current_snapshot,
                            export_format=self.format),
                'project_wrapper':
                ProjectWrapper(project, current_snapshot),
                'title':
                project.title,
                'format':
                self.format,
                'resource_path':
                get_value_path(project, current_snapshot)
            }

            response = render_to_format(None, context['format'],
                                        context['title'],
                                        'projects/project_view_export.html',
                                        context)
            self.write_file(self.path / str(project.id) / key, response)
Example #11
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = ExportSerializer(context['attributes'], many=True)
         xmldata = XMLRenderer().render(serializer.data)
         response = HttpResponse(prettify_xml(xmldata),
                                 content_type="application/xml")
         response['Content-Disposition'] = 'filename="domain.xml"'
         return response
     elif format[:3] == 'csv':
         if format == 'csvcomma':
             delimiter = ','
         else:
             delimiter = ';'
         rows = []
         for attribute in context['attributes']:
             rows.append((attribute.key, attribute.comment, attribute.uri))
         return render_to_csv(self.request, _('Domain'), rows, delimiter)
     else:
         return render_to_format(self.request, format, _('Domain'),
                                 'domain/domain_export.html', context)
Example #12
0
 def render_to_response(self, context, **response_kwargs):
     format = self.kwargs.get('format')
     if format == 'xml':
         serializer = ExportSerializer(context['entities'], many=True)
         xmldata = XMLRenderer().render(serializer.data)
         response = HttpResponse(prettify_xml(xmldata),
                                 content_type="application/xml")
         response['Content-Disposition'] = 'filename="domain.xml"'
         return response
     elif format == 'csv':
         rows = []
         for entity in context['entities']:
             rows.append(
                 (_('Attribute') if entity.is_attribute else _('Entity'),
                  _('collection') if entity.is_collection else '',
                  entity.key, entity.comment, entity.uri,
                  entity.attribute.value_type if entity.is_attribute else
                  '', entity.attribute.unit if entity.is_attribute else ''))
         return render_to_csv(self.request, _('Domain'), rows)
     else:
         return render_to_format(self.request, format, _('Domain'),
                                 'domain/domain_export.html', context)
Example #13
0
    def export_answers(self):
        current_snapshot = None

        if self.format not in dict(settings.EXPORT_FORMATS):
            raise CommandError(
                'Format "{}" is not supported for answers.'.format(
                    self.format))

        for project in self.get_queryset():
            context = {
                'project': project,
                'current_snapshot': current_snapshot,
                'project_wrapper': ProjectWrapper(project, current_snapshot),
                'title': project.title,
                'format': self.format,
                'resource_path': get_value_path(project, current_snapshot)
            }

            response = render_to_format(
                None, context['format'], context['title'],
                'projects/project_answers_export.html', context)
            self.write_file(self.path / str(project.id) / 'answers', response)
Example #14
0
 def render_to_response(self, context, **response_kwargs):
     return render_to_format(self.request, context['format'],
                             context['title'],
                             'projects/project_view_export.html', context)