Skip to content

Commit 5b828c2

Browse files
authored
fix: fix Application UI using UTC time (#472) bump:patch
* use tzlocal to get the local time * delete tmp folder * update date_created and date_updated with current timezone * pass precommit * update date_created field default by local time
1 parent 6a81c77 commit 5b828c2

File tree

6 files changed

+22
-14
lines changed

6 files changed

+22
-14
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ repos:
5757
"types-requests",
5858
"sqlmodel",
5959
"types-Markdown",
60+
types-tzlocal,
6061
]
6162
args: ["--check-untyped-defs", "--ignore-missing-imports"]
6263
exclude: "^templates/"

libs/ktem/ktem/db/base_models.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import datetime
22
import uuid
33
from typing import Optional
4-
from zoneinfo import ZoneInfo
54

65
from sqlalchemy import JSON, Column
76
from sqlmodel import Field, SQLModel
8-
from theflow.settings import settings as flowsettings
7+
from tzlocal import get_localzone
98

109

1110
class BaseConversation(SQLModel):
@@ -26,9 +25,9 @@ class BaseConversation(SQLModel):
2625
default_factory=lambda: uuid.uuid4().hex, primary_key=True, index=True
2726
)
2827
name: str = Field(
29-
default_factory=lambda: datetime.datetime.now(
30-
ZoneInfo(getattr(flowsettings, "TIME_ZONE", "UTC"))
31-
).strftime("%Y-%m-%d %H:%M:%S")
28+
default_factory=lambda: datetime.datetime.now(get_localzone()).strftime(
29+
"%Y-%m-%d %H:%M:%S"
30+
)
3231
)
3332
user: int = Field(default=0) # For now we only have one user
3433

@@ -37,8 +36,12 @@ class BaseConversation(SQLModel):
3736
# contains messages + current files + chat_suggestions
3837
data_source: dict = Field(default={}, sa_column=Column(JSON))
3938

40-
date_created: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
41-
date_updated: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
39+
date_created: datetime.datetime = Field(
40+
default_factory=lambda: datetime.datetime.now(get_localzone())
41+
)
42+
date_updated: datetime.datetime = Field(
43+
default_factory=lambda: datetime.datetime.now(get_localzone())
44+
)
4245

4346

4447
class BaseUser(SQLModel):

libs/ktem/ktem/index/file/index.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import uuid
2+
from datetime import datetime
23
from typing import Any, Optional, Type
34

45
from ktem.components import filestorage_path, get_docstore, get_vectorstore
@@ -7,9 +8,9 @@
78
from sqlalchemy import JSON, Column, DateTime, Integer, String, UniqueConstraint
89
from sqlalchemy.ext.declarative import declarative_base
910
from sqlalchemy.ext.mutable import MutableDict
10-
from sqlalchemy.sql import func
1111
from theflow.settings import settings as flowsettings
1212
from theflow.utils.modules import import_dotted_string
13+
from tzlocal import get_localzone
1314

1415
from kotaemon.storages import BaseDocumentStore, BaseVectorStore
1516

@@ -73,7 +74,7 @@ def _setup_resources(self):
7374
"path": Column(String),
7475
"size": Column(Integer, default=0),
7576
"date_created": Column(
76-
DateTime(timezone=True), server_default=func.now()
77+
DateTime(timezone=True), default=datetime.now(get_localzone())
7778
),
7879
"user": Column(Integer, default=1),
7980
"note": Column(
@@ -98,7 +99,7 @@ def _setup_resources(self):
9899
"path": Column(String),
99100
"size": Column(Integer, default=0),
100101
"date_created": Column(
101-
DateTime(timezone=True), server_default=func.now()
102+
DateTime(timezone=True), default=datetime.now(get_localzone())
102103
),
103104
"user": Column(Integer, default=1),
104105
"note": Column(
@@ -126,7 +127,7 @@ def _setup_resources(self):
126127
"__tablename__": f"index__{self.id}__group",
127128
"id": Column(Integer, primary_key=True, autoincrement=True),
128129
"date_created": Column(
129-
DateTime(timezone=True), server_default=func.now()
130+
DateTime(timezone=True), default=datetime.now(get_localzone())
130131
),
131132
"name": Column(String, unique=True),
132133
"user": Column(Integer, default=1),

libs/ktem/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies = [
2929
"gradio>=4.31.0,<5",
3030
"python-multipart==0.0.12", # required for gradio, pinning to avoid yanking issues with micropip (fixed in gradio >= 5.4.0)
3131
"markdown>=3.6,<4",
32+
"tzlocal>=5.0",
3233
]
3334
authors = [
3435
{ name = "@trducng", email = "john@cinnamon.is" },

libs/ktem/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
platformdirs
2+
tzlocal

scripts/migrate/migrate_chroma_db.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import uuid
2+
from datetime import datetime
23

34
import chromadb
45
from ktem.index.models import Index
@@ -15,7 +16,7 @@
1516
from sqlalchemy.ext.declarative import declarative_base
1617
from sqlalchemy.ext.mutable import MutableDict
1718
from sqlalchemy.orm import Session
18-
from sqlalchemy.sql import func
19+
from tzlocal import get_localzone
1920

2021

2122
def _init_resource(private: bool = True, id: int = 1):
@@ -41,7 +42,7 @@ def _init_resource(private: bool = True, id: int = 1):
4142
"path": Column(String),
4243
"size": Column(Integer, default=0),
4344
"date_created": Column(
44-
DateTime(timezone=True), server_default=func.now()
45+
DateTime(timezone=True), default=datetime.now(get_localzone())
4546
),
4647
"user": Column(Integer, default=1),
4748
"note": Column(
@@ -66,7 +67,7 @@ def _init_resource(private: bool = True, id: int = 1):
6667
"path": Column(String),
6768
"size": Column(Integer, default=0),
6869
"date_created": Column(
69-
DateTime(timezone=True), server_default=func.now()
70+
DateTime(timezone=True), default=datetime.now(get_localzone())
7071
),
7172
"user": Column(Integer, default=1),
7273
"note": Column(

0 commit comments

Comments
 (0)