Updated dump/upload in cvat-core (#635)
* Annotation formats from the server * Fixed dump * Added API tests * Dashboard integrationmain
parent
bf61962195
commit
3a6a49625c
@ -0,0 +1,235 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 Intel Corporation
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
(() => {
|
||||||
|
/**
|
||||||
|
* Class representing an annotation loader
|
||||||
|
* @memberof module:API.cvat.classes
|
||||||
|
* @hideconstructor
|
||||||
|
*/
|
||||||
|
class Loader {
|
||||||
|
constructor(initialData) {
|
||||||
|
const data = {
|
||||||
|
display_name: initialData.display_name,
|
||||||
|
format: initialData.format,
|
||||||
|
handler: initialData.handler,
|
||||||
|
version: initialData.version,
|
||||||
|
};
|
||||||
|
|
||||||
|
Object.defineProperties(this, {
|
||||||
|
name: {
|
||||||
|
/**
|
||||||
|
* @name name
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Loader
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.display_name,
|
||||||
|
},
|
||||||
|
format: {
|
||||||
|
/**
|
||||||
|
* @name format
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Loader
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.format,
|
||||||
|
},
|
||||||
|
handler: {
|
||||||
|
/**
|
||||||
|
* @name handler
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Loader
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.handler,
|
||||||
|
},
|
||||||
|
version: {
|
||||||
|
/**
|
||||||
|
* @name version
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Loader
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.version,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class representing an annotation dumper
|
||||||
|
* @memberof module:API.cvat.classes
|
||||||
|
* @hideconstructor
|
||||||
|
*/
|
||||||
|
class Dumper {
|
||||||
|
constructor(initialData) {
|
||||||
|
const data = {
|
||||||
|
display_name: initialData.display_name,
|
||||||
|
format: initialData.format,
|
||||||
|
handler: initialData.handler,
|
||||||
|
version: initialData.version,
|
||||||
|
};
|
||||||
|
|
||||||
|
Object.defineProperties(this, {
|
||||||
|
name: {
|
||||||
|
/**
|
||||||
|
* @name name
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Dumper
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.display_name,
|
||||||
|
},
|
||||||
|
format: {
|
||||||
|
/**
|
||||||
|
* @name format
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Dumper
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.format,
|
||||||
|
},
|
||||||
|
handler: {
|
||||||
|
/**
|
||||||
|
* @name handler
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Dumper
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.handler,
|
||||||
|
},
|
||||||
|
version: {
|
||||||
|
/**
|
||||||
|
* @name version
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.Dumper
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.version,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class representing an annotation format
|
||||||
|
* @memberof module:API.cvat.classes
|
||||||
|
* @hideconstructor
|
||||||
|
*/
|
||||||
|
class AnnotationFormat {
|
||||||
|
constructor(initialData) {
|
||||||
|
const data = {
|
||||||
|
created_date: initialData.created_date,
|
||||||
|
updated_date: initialData.updated_date,
|
||||||
|
id: initialData.id,
|
||||||
|
owner: initialData.owner,
|
||||||
|
name: initialData.name,
|
||||||
|
handler_file: initialData.handler_file,
|
||||||
|
};
|
||||||
|
|
||||||
|
data.dumpers = initialData.dumpers.map(el => new Dumper(el));
|
||||||
|
data.loaders = initialData.loaders.map(el => new Loader(el));
|
||||||
|
|
||||||
|
// Now all fields are readonly
|
||||||
|
Object.defineProperties(this, {
|
||||||
|
id: {
|
||||||
|
/**
|
||||||
|
* @name id
|
||||||
|
* @type {integer}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.id,
|
||||||
|
},
|
||||||
|
owner: {
|
||||||
|
/**
|
||||||
|
* @name owner
|
||||||
|
* @type {integer}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.owner,
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
/**
|
||||||
|
* @name name
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.name,
|
||||||
|
},
|
||||||
|
createdDate: {
|
||||||
|
/**
|
||||||
|
* @name createdDate
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.created_date,
|
||||||
|
},
|
||||||
|
updatedDate: {
|
||||||
|
/**
|
||||||
|
* @name updatedDate
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.updated_date,
|
||||||
|
},
|
||||||
|
handlerFile: {
|
||||||
|
/**
|
||||||
|
* @name handlerFile
|
||||||
|
* @type {string}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => data.handler_file,
|
||||||
|
},
|
||||||
|
loaders: {
|
||||||
|
/**
|
||||||
|
* @name loaders
|
||||||
|
* @type {module:API.cvat.classes.Loader[]}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => [...data.loaders],
|
||||||
|
},
|
||||||
|
dumpers: {
|
||||||
|
/**
|
||||||
|
* @name dumpers
|
||||||
|
* @type {module:API.cvat.classes.Dumper[]}
|
||||||
|
* @memberof module:API.cvat.classes.AnnotationFormat
|
||||||
|
* @readonly
|
||||||
|
* @instance
|
||||||
|
*/
|
||||||
|
get: () => [...data.dumpers],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
AnnotationFormat,
|
||||||
|
Loader,
|
||||||
|
Dumper,
|
||||||
|
};
|
||||||
|
})();
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue