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
This commit is contained in:
cin-cris 2024-11-11 16:51:38 +07:00 committed by GitHub
parent 6a81c77dd8
commit 5b828c213c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 22 additions and 14 deletions

View File

@ -57,6 +57,7 @@ repos:
"types-requests",
"sqlmodel",
"types-Markdown",
types-tzlocal,
]
args: ["--check-untyped-defs", "--ignore-missing-imports"]
exclude: "^templates/"

View File

@ -1,11 +1,10 @@
import datetime
import uuid
from typing import Optional
from zoneinfo import ZoneInfo
from sqlalchemy import JSON, Column
from sqlmodel import Field, SQLModel
from theflow.settings import settings as flowsettings
from tzlocal import get_localzone
class BaseConversation(SQLModel):
@ -26,9 +25,9 @@ class BaseConversation(SQLModel):
default_factory=lambda: uuid.uuid4().hex, primary_key=True, index=True
)
name: str = Field(
default_factory=lambda: datetime.datetime.now(
ZoneInfo(getattr(flowsettings, "TIME_ZONE", "UTC"))
).strftime("%Y-%m-%d %H:%M:%S")
default_factory=lambda: datetime.datetime.now(get_localzone()).strftime(
"%Y-%m-%d %H:%M:%S"
)
)
user: int = Field(default=0) # For now we only have one user
@ -37,8 +36,12 @@ class BaseConversation(SQLModel):
# contains messages + current files + chat_suggestions
data_source: dict = Field(default={}, sa_column=Column(JSON))
date_created: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
date_updated: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
date_created: datetime.datetime = Field(
default_factory=lambda: datetime.datetime.now(get_localzone())
)
date_updated: datetime.datetime = Field(
default_factory=lambda: datetime.datetime.now(get_localzone())
)
class BaseUser(SQLModel):

View File

@ -1,4 +1,5 @@
import uuid
from datetime import datetime
from typing import Any, Optional, Type
from ktem.components import filestorage_path, get_docstore, get_vectorstore
@ -7,9 +8,9 @@ from ktem.index.base import BaseIndex
from sqlalchemy import JSON, Column, DateTime, Integer, String, UniqueConstraint
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.mutable import MutableDict
from sqlalchemy.sql import func
from theflow.settings import settings as flowsettings
from theflow.utils.modules import import_dotted_string
from tzlocal import get_localzone
from kotaemon.storages import BaseDocumentStore, BaseVectorStore
@ -73,7 +74,7 @@ class FileIndex(BaseIndex):
"path": Column(String),
"size": Column(Integer, default=0),
"date_created": Column(
DateTime(timezone=True), server_default=func.now()
DateTime(timezone=True), default=datetime.now(get_localzone())
),
"user": Column(Integer, default=1),
"note": Column(
@ -98,7 +99,7 @@ class FileIndex(BaseIndex):
"path": Column(String),
"size": Column(Integer, default=0),
"date_created": Column(
DateTime(timezone=True), server_default=func.now()
DateTime(timezone=True), default=datetime.now(get_localzone())
),
"user": Column(Integer, default=1),
"note": Column(
@ -126,7 +127,7 @@ class FileIndex(BaseIndex):
"__tablename__": f"index__{self.id}__group",
"id": Column(Integer, primary_key=True, autoincrement=True),
"date_created": Column(
DateTime(timezone=True), server_default=func.now()
DateTime(timezone=True), default=datetime.now(get_localzone())
),
"name": Column(String, unique=True),
"user": Column(Integer, default=1),

View File

@ -29,6 +29,7 @@ dependencies = [
"gradio>=4.31.0,<5",
"python-multipart==0.0.12", # required for gradio, pinning to avoid yanking issues with micropip (fixed in gradio >= 5.4.0)
"markdown>=3.6,<4",
"tzlocal>=5.0",
]
authors = [
{ name = "@trducng", email = "john@cinnamon.is" },

View File

@ -1 +1,2 @@
platformdirs
tzlocal

View File

@ -1,4 +1,5 @@
import uuid
from datetime import datetime
import chromadb
from ktem.index.models import Index
@ -15,7 +16,7 @@ from sqlalchemy import (
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.mutable import MutableDict
from sqlalchemy.orm import Session
from sqlalchemy.sql import func
from tzlocal import get_localzone
def _init_resource(private: bool = True, id: int = 1):
@ -41,7 +42,7 @@ def _init_resource(private: bool = True, id: int = 1):
"path": Column(String),
"size": Column(Integer, default=0),
"date_created": Column(
DateTime(timezone=True), server_default=func.now()
DateTime(timezone=True), default=datetime.now(get_localzone())
),
"user": Column(Integer, default=1),
"note": Column(
@ -66,7 +67,7 @@ def _init_resource(private: bool = True, id: int = 1):
"path": Column(String),
"size": Column(Integer, default=0),
"date_created": Column(
DateTime(timezone=True), server_default=func.now()
DateTime(timezone=True), default=datetime.now(get_localzone())
),
"user": Column(Integer, default=1),
"note": Column(