From fbae6bbdcbffdef88df9702875a3eafedf3429b2 Mon Sep 17 00:00:00 2001 From: Andrey Zhavoronkov <41117609+azhavoro@users.noreply.github.com> Date: Mon, 26 Aug 2019 07:10:02 +0300 Subject: [PATCH] added settings for setup timezone (#661) deleting shapes triggers setting updated date field as other actions(create & update) --- Dockerfile | 12 ++++++++---- cvat/apps/engine/annotation.py | 25 ++++++++++++++++--------- cvat/settings/base.py | 2 +- docker-compose.yml | 1 + 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6b5d416b..a4c0e655 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,15 +4,16 @@ ARG http_proxy ARG https_proxy ARG no_proxy ARG socks_proxy +ARG TZ ENV TERM=xterm \ http_proxy=${http_proxy} \ https_proxy=${https_proxy} \ no_proxy=${no_proxy} \ - socks_proxy=${socks_proxy} - -ENV LANG='C.UTF-8' \ - LC_ALL='C.UTF-8' + socks_proxy=${socks_proxy} \ + LANG='C.UTF-8' \ + LC_ALL='C.UTF-8' \ + TZ=${TZ} ARG USER ARG DJANGO_CONFIGURATION @@ -38,11 +39,14 @@ RUN apt-get update && \ libsasl2-dev \ python3-dev \ python3-pip \ + tzdata \ unzip \ unrar \ p7zip-full \ vim && \ pip3 install -U setuptools && \ + ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime && \ + dpkg-reconfigure -f noninteractive tzdata && \ add-apt-repository --remove ppa:mc3man/gstffmpeg-keep -y && \ add-apt-repository --remove ppa:mc3man/xerus-media -y && \ rm -rf /var/lib/apt/lists/* diff --git a/cvat/apps/engine/annotation.py b/cvat/apps/engine/annotation.py index db2ebb58..13d42c34 100644 --- a/cvat/apps/engine/annotation.py +++ b/cvat/apps/engine/annotation.py @@ -390,6 +390,11 @@ class JobAnnotation: db_curr_commit.save() self.ir_data.version = db_curr_commit.version + def _set_updated_date(self): + db_task = self.db_job.segment.task + db_task.updated_date = timezone.now() + db_task.save() + def _save_to_db(self, data): self.reset() self._save_tags_to_db(data["tags"]) @@ -400,9 +405,7 @@ class JobAnnotation: def _create(self, data): if self._save_to_db(data): - db_task = self.db_job.segment.task - db_task.updated_date = timezone.now() - db_task.save() + self._set_updated_date() self.db_job.save() def create(self, data): @@ -420,10 +423,11 @@ class JobAnnotation: self._commit() def _delete(self, data=None): + deleted_shapes = 0 if data is None: - self.db_job.labeledimage_set.all().delete() - self.db_job.labeledshape_set.all().delete() - self.db_job.labeledtrack_set.all().delete() + deleted_shapes += self.db_job.labeledimage_set.all().delete()[0] + deleted_shapes += self.db_job.labeledshape_set.all().delete()[0] + deleted_shapes += self.db_job.labeledtrack_set.all().delete()[0] else: labeledimage_ids = [image["id"] for image in data["tags"]] labeledshape_ids = [shape["id"] for shape in data["shapes"]] @@ -442,9 +446,12 @@ class JobAnnotation: self.ir_data.shapes = data['shapes'] self.ir_data.tracks = data['tracks'] - labeledimage_set.delete() - labeledshape_set.delete() - labeledtrack_set.delete() + deleted_shapes += labeledimage_set.delete()[0] + deleted_shapes += labeledshape_set.delete()[0] + deleted_shapes += labeledtrack_set.delete()[0] + + if deleted_shapes: + self._set_updated_date() def delete(self, data=None): self._delete(data) diff --git a/cvat/settings/base.py b/cvat/settings/base.py index 085dcdc5..2a5af79f 100644 --- a/cvat/settings/base.py +++ b/cvat/settings/base.py @@ -285,7 +285,7 @@ CACHEOPS_DEGRADE_ON_FAILURE = True LANGUAGE_CODE = 'en-us' -TIME_ZONE = 'Europe/Moscow' +TIME_ZONE = os.getenv('TZ', 'Etc/UTC') USE_I18N = True diff --git a/docker-compose.yml b/docker-compose.yml index 3fb7b8bf..c637279e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,6 +49,7 @@ services: USER: "django" DJANGO_CONFIGURATION: "production" WITH_TESTS: "no" + TZ: "Etc/UTC" OPENVINO_TOOLKIT: "no" environment: DJANGO_MODWSGI_EXTRA_ARGS: ""