Fixed some issues with dump (#904)

* Changed method for downloading annotations

* Initial commit

* Initial commit

* Updated download method for dataset

* fixed eslint error
main
Boris Sekachev 6 years ago committed by Nikita Manovich
parent f3a3f4c90a
commit 72517557d3

@ -563,20 +563,18 @@
return new Promise((resolve, reject) => {
async function request() {
try {
const response = await Axios
.get(`${url}`, {
proxy: config.proxy,
});
Axios.get(`${url}`, {
proxy: config.proxy,
}).then((response) => {
if (response.status === 202) {
setTimeout(request, 3000);
} else {
url = `${url}&action=download`;
resolve(url);
}
} catch (errorData) {
}).catch((errorData) => {
reject(generateError(errorData));
}
});
}
setTimeout(request);

@ -164,9 +164,9 @@ ThunkAction<Promise<void>, {}, {}, AnyAction> {
try {
dispatch(dumpAnnotation(task, dumper));
const url = await task.annotations.dump(task.name, dumper);
// false positive
// eslint-disable-next-line security/detect-non-literal-fs-filename
window.open(url);
const downloadAnchor = (window.document.getElementById('downloadAnchor') as HTMLAnchorElement);
downloadAnchor.href = url;
downloadAnchor.click();
} catch (error) {
dispatch(dumpAnnotationFailed(task, dumper, error));
return;
@ -270,9 +270,9 @@ ThunkAction<Promise<void>, {}, {}, AnyAction> {
try {
const url = await task.annotations.exportDataset(exporter.tag);
// false positive
// eslint-disable-next-line security/detect-non-literal-fs-filename
window.open(url, '_blank');
const downloadAnchor = (window.document.getElementById('downloadAnchor') as HTMLAnchorElement);
downloadAnchor.href = url;
downloadAnchor.click();
} catch (error) {
dispatch(exportDatasetFailed(task, exporter, error));
}

@ -233,6 +233,7 @@ export default class CVATApplication extends React.PureComponent<CVATAppProps> {
</Switch>
<FeedbackComponent/>
<ModelRunnerModalContainer/>
<a id='downloadAnchor' style={{ display: 'none' }} download/>
</Layout.Content>
</Layout>
</BrowserRouter>

@ -364,7 +364,7 @@ class TaskViewSet(auth.TaskGetQuerySetMixin, viewsets.ModelViewSet):
"{}.{}.{}.{}".format(filename, username, timestamp, db_dumper.format.lower()))
queue = django_rq.get_queue("default")
rq_id = "{}@/api/v1/tasks/{}/annotations/{}".format(username, pk, filename)
rq_id = "{}@/api/v1/tasks/{}/annotations/{}/{}".format(username, pk, dump_format, filename)
rq_job = queue.fetch_job(rq_id)
if rq_job:

Loading…
Cancel
Save