The 'export' requests is the second request and returns the sought data of a given generated 'hlid' (hit list id).
The params passed are many and are to allow the table formatting.
In the class SmallWorld
there's a class attribute called valid_export_columns
which is a dictionary that goes into
the get request's params.
It currently is not split up and has keys like 'columns[0][name]'
as opposed to a single 'columns'
holding a value of type List[Dict[str, Any]]
. Say:
{'columns': [{'search': {'value': '', 'regex': 'false'},
'data': '0',
'name': 'alignment',
'searchable': 'true',
'orderable': 'false'},
{'search': {'value': '0-10', 'regex': 'false'},
'data': '1',
'name': 'dist',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '', 'regex': 'false'},
'data': '2',
'name': 'ecfp4',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '', 'regex': 'false'},
'data': '3',
'name': 'daylight',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '4',
'name': 'topodist',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '', 'regex': 'false'},
'data': '5',
'name': 'mces',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '6',
'name': 'tdn',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '7',
'name': 'tup',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '8',
'name': 'rdn',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '9',
'name': 'rup',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '10',
'name': 'ldn',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '11',
'name': 'lup',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '', 'regex': 'false'},
'data': '12',
'name': 'mut',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '13',
'name': 'maj',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '14',
'name': 'min',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '15',
'name': 'hyb',
'searchable': 'true',
'orderable': 'true'},
{'search': {'value': '0-4', 'regex': 'false'},
'data': '16',
'name': 'sub',
'searchable': 'true',
'orderable': 'true'}],
'order': [{'column': 0, 'dir': 'asc'}, ],
'search': [{'value': '', 'regex': False}]
}
This is because for some reason it the HTML quoted version is different than the above.
As the janky 'columns[0][name]'
works, I've not bothered looking into it.