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
Stefan Pratter a0f1970fec Support 202211 (#1304)
* Carrier object implementation #909

* API keys: disabling of user account by a PeeringDB admin does not disable access via a User API key. Also no disable mech, only revoke. #1140

* Ops: django needs lightweight healthcheck route that confirms database connectivity #1284

* Ops: various indexes are needed #1285

* API requests with invalid Authentication headers should notify users in some way. #1220

* Allow user to change account username #1130

* UX to remove carriers from facilities more inline the other similar UX

* more UX fixes for removing carriers from facilities

* Cache hints are needed for optimal CDN use #970

* fixes Commandline tool "Run command" button gone #1278

* RIR status gets deleted when changes are made to the network #1279

* Improve MTU field #658

* CSRF cookie not set error from email confirmation view #1296

* expose CSP_CONNECT_SRC

* fix confirm email path checking in session middleware

* Ops: Emails to OPERATIONS_EMAIL need to be rate-limited #1282

* add website field to carrier ux

* website field on carrier optional with org fallback

* linting

* add *.google-analytics.com to CSP_CONNECT_SRC

* poetry relock

* fix issues with confirm-email reverse during session creation validation

* fix tests

* fix tests

* pin django-peeringdb to support_202211

* linting

* django ratelimit to <4

* regen docs

* fix automated net stats to only include networks with status `ok` #1283

* linting

* poetry lock

Co-authored-by: Matt Griswold <grizz@20c.com>
2023-01-18 10:32:46 -06:00

3.3 KiB

Generated from export_views.py on 2023-01-17 22:33:48.733266

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