Files
peeringdb-peeringdb/docs/dev/modules/export_views.py.md
Stefan Pratter 5eb925e319 Support 202301 (#1329)
* fix next redirect when using U2F 2FA auth (#1191)

* Added self identifier to API

* fix migrations hierarchy after merging in previous support branch

* campus object

Co-authored-by: Stefan Pratter <stefan@20c.com>

* fix out of bound error message
add city / country to campus view

* fix tests

* relock poetry

* linting

* linting

* fix docs regen

* regen docs

* linting

* refactor self entity view to support carrier and campus object types and also make it easier to support additional object types in the future

* remove debug message

---------

Co-authored-by: Gajanan Patil <dipaksavaliya.python@gmail.com>
2023-02-15 07:55:01 +00:00

184 lines
3.5 KiB
Markdown

Generated from export_views.py on 2023-02-14 15:33:37.171081
# 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_<tag> and return the result.
Arguments:
- request <Request>
Returns:
- list: list containing rendered data rows ready for export
---
#### generate_campus
`def generate_campus(self, request)`
Fetch campus data from the API according to request and then render
it ready for export.
Arguments:
- request <Request>
Returns:
- list: list containing rendered data 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 <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 <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 <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 <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., /<tag>/<fmt>)
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 <list>
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
---