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