1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/docs/dev/modules/export_views.py.md
Matt Griswold 505760aa8d Support 202203 (#1144)
* Do not show objects in status "pending" on the UI #784

* Fix peeringdb.js bug introduced in #784

* 500 Error during login for 2FA enabled accounts with unverified email address #996

* Django-Admin: adding a network with existing asn fails with internal error #1035

* Some command-line-tool executions are not logged #1119

* Ops: API throttling of repeated requests #1126

* Ops: response header X-Auth-ID to augment logging #1120

* Allow rate-limiting of melissa enabled api functionality. #1124

* State / Province normalization #1079

* Log melissa requests #1122

* remove debug messages

* bump django-handleref to 1.0.2

* Need consolidated app logs #845

* pin django peeringdb to 2.13 and relock poetry

* pin django-restframework-apikey to 2.1.0

* linting

* migrations

* docs regenerate

* docs

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-04-12 15:39:19 -05:00

3.3 KiB

Generated from export_views.py on 2022-04-12 16:41:02.631987

peeringdb_server.export_views

Define export views used for IX-F export and advanced search file download.

Classes


AdvancedSearchExportView

AdvancedSearchExportView(peeringdb_server.export_views.ExportView)

Allow exporting of advanced search result data.

Methods

fetch

def fetch(self, request)

Fetch data from API according to GET parameters.

Note that limit and depth will be overwritten, other API parameters will be passed along as-is.

Returns: - dict: un-rendered dataset returned by API


generate

def generate(self, request)

Generate data for the reftag specified in self.tag

This function will call generate_ and return the result.

Arguments: - request

Returns: - list: list containing rendered data rows ready for export


generate_fac

def generate_fac(self, request)

Fetch facility data from the API according to request and then render it ready for export.

Arguments: - request

Returns: - list: list containing rendered data ready for export


generate_ix

def generate_ix(self, request)

Fetch exchange data from the API according to request and then render it ready for export.

Arguments: - request

Returns: - list: list containing rendered data ready for export


generate_net

def generate_net(self, request)

Fetch network data from the API according to request and then render it ready for export.

Arguments: - request

Returns: - list: list containing rendered data ready for export


generate_org

def generate_org(self, request)

Fetch organization data from the API according to request and then render it ready for export.

Arguments: - request

Returns: - list: list containing rendered data ready for export


get

def get(self, request, tag, fmt)

Handle export.

LGTM Notes: signature-mismatch: order of arguments are defined by the url routing set up for this view. (e.g., //)

The get method will never be called in a different context where a mismatching signature would matter so the lgtm warning can be ignored in this case.


ExportView

ExportView(django.views.generic.base.View)

Base class for more complex data exports.

Methods

generate

def generate(self, request)

Function that generates export data from request.

Override this.


response_csv

def response_csv(self, data)

Return Response object for CSV response.

Arguments: - data

Returns: - HttpResponse


response_json

def response_json(self, data)

Return Response object for normal json response.

Arguments: - data <list|dict>: serializable data, if list is passed you will need to specify a value in self.json_root_key

Returns: - JsonResponse


response_json_pretty

def response_json_pretty(self, data)

Return Response object for pretty (indented) json response.

Arguments: - data <list|dict>: serializable data, if list is passed tou will need to specify a value in self.json_root_key

Returns: - HttpResponse: http response with appropriate json headers, cannot use JsonResponse here because we need to specify indent level