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:
parent
6a81c77dd8
commit
5b828c213c
|
@ -57,6 +57,7 @@ repos:
|
||||||
"types-requests",
|
"types-requests",
|
||||||
"sqlmodel",
|
"sqlmodel",
|
||||||
"types-Markdown",
|
"types-Markdown",
|
||||||
|
types-tzlocal,
|
||||||
]
|
]
|
||||||
args: ["--check-untyped-defs", "--ignore-missing-imports"]
|
args: ["--check-untyped-defs", "--ignore-missing-imports"]
|
||||||
exclude: "^templates/"
|
exclude: "^templates/"
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import datetime
|
import datetime
|
||||||
import uuid
|
import uuid
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from zoneinfo import ZoneInfo
|
|
||||||
|
|
||||||
from sqlalchemy import JSON, Column
|
from sqlalchemy import JSON, Column
|
||||||
from sqlmodel import Field, SQLModel
|
from sqlmodel import Field, SQLModel
|
||||||
from theflow.settings import settings as flowsettings
|
from tzlocal import get_localzone
|
||||||
|
|
||||||
|
|
||||||
class BaseConversation(SQLModel):
|
class BaseConversation(SQLModel):
|
||||||
|
@ -26,9 +25,9 @@ class BaseConversation(SQLModel):
|
||||||
default_factory=lambda: uuid.uuid4().hex, primary_key=True, index=True
|
default_factory=lambda: uuid.uuid4().hex, primary_key=True, index=True
|
||||||
)
|
)
|
||||||
name: str = Field(
|
name: str = Field(
|
||||||
default_factory=lambda: datetime.datetime.now(
|
default_factory=lambda: datetime.datetime.now(get_localzone()).strftime(
|
||||||
ZoneInfo(getattr(flowsettings, "TIME_ZONE", "UTC"))
|
"%Y-%m-%d %H:%M:%S"
|
||||||
).strftime("%Y-%m-%d %H:%M:%S")
|
)
|
||||||
)
|
)
|
||||||
user: int = Field(default=0) # For now we only have one user
|
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
|
# contains messages + current files + chat_suggestions
|
||||||
data_source: dict = Field(default={}, sa_column=Column(JSON))
|
data_source: dict = Field(default={}, sa_column=Column(JSON))
|
||||||
|
|
||||||
date_created: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
|
date_created: datetime.datetime = Field(
|
||||||
date_updated: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
|
default_factory=lambda: datetime.datetime.now(get_localzone())
|
||||||
|
)
|
||||||
|
date_updated: datetime.datetime = Field(
|
||||||
|
default_factory=lambda: datetime.datetime.now(get_localzone())
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class BaseUser(SQLModel):
|
class BaseUser(SQLModel):
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import uuid
|
import uuid
|
||||||
|
from datetime import datetime
|
||||||
from typing import Any, Optional, Type
|
from typing import Any, Optional, Type
|
||||||
|
|
||||||
from ktem.components import filestorage_path, get_docstore, get_vectorstore
|
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 import JSON, Column, DateTime, Integer, String, UniqueConstraint
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from sqlalchemy.ext.mutable import MutableDict
|
from sqlalchemy.ext.mutable import MutableDict
|
||||||
from sqlalchemy.sql import func
|
|
||||||
from theflow.settings import settings as flowsettings
|
from theflow.settings import settings as flowsettings
|
||||||
from theflow.utils.modules import import_dotted_string
|
from theflow.utils.modules import import_dotted_string
|
||||||
|
from tzlocal import get_localzone
|
||||||
|
|
||||||
from kotaemon.storages import BaseDocumentStore, BaseVectorStore
|
from kotaemon.storages import BaseDocumentStore, BaseVectorStore
|
||||||
|
|
||||||
|
@ -73,7 +74,7 @@ class FileIndex(BaseIndex):
|
||||||
"path": Column(String),
|
"path": Column(String),
|
||||||
"size": Column(Integer, default=0),
|
"size": Column(Integer, default=0),
|
||||||
"date_created": Column(
|
"date_created": Column(
|
||||||
DateTime(timezone=True), server_default=func.now()
|
DateTime(timezone=True), default=datetime.now(get_localzone())
|
||||||
),
|
),
|
||||||
"user": Column(Integer, default=1),
|
"user": Column(Integer, default=1),
|
||||||
"note": Column(
|
"note": Column(
|
||||||
|
@ -98,7 +99,7 @@ class FileIndex(BaseIndex):
|
||||||
"path": Column(String),
|
"path": Column(String),
|
||||||
"size": Column(Integer, default=0),
|
"size": Column(Integer, default=0),
|
||||||
"date_created": Column(
|
"date_created": Column(
|
||||||
DateTime(timezone=True), server_default=func.now()
|
DateTime(timezone=True), default=datetime.now(get_localzone())
|
||||||
),
|
),
|
||||||
"user": Column(Integer, default=1),
|
"user": Column(Integer, default=1),
|
||||||
"note": Column(
|
"note": Column(
|
||||||
|
@ -126,7 +127,7 @@ class FileIndex(BaseIndex):
|
||||||
"__tablename__": f"index__{self.id}__group",
|
"__tablename__": f"index__{self.id}__group",
|
||||||
"id": Column(Integer, primary_key=True, autoincrement=True),
|
"id": Column(Integer, primary_key=True, autoincrement=True),
|
||||||
"date_created": Column(
|
"date_created": Column(
|
||||||
DateTime(timezone=True), server_default=func.now()
|
DateTime(timezone=True), default=datetime.now(get_localzone())
|
||||||
),
|
),
|
||||||
"name": Column(String, unique=True),
|
"name": Column(String, unique=True),
|
||||||
"user": Column(Integer, default=1),
|
"user": Column(Integer, default=1),
|
||||||
|
|
|
@ -29,6 +29,7 @@ dependencies = [
|
||||||
"gradio>=4.31.0,<5",
|
"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)
|
"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",
|
"markdown>=3.6,<4",
|
||||||
|
"tzlocal>=5.0",
|
||||||
]
|
]
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "@trducng", email = "john@cinnamon.is" },
|
{ name = "@trducng", email = "john@cinnamon.is" },
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
platformdirs
|
platformdirs
|
||||||
|
tzlocal
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import uuid
|
import uuid
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
import chromadb
|
import chromadb
|
||||||
from ktem.index.models import Index
|
from ktem.index.models import Index
|
||||||
|
@ -15,7 +16,7 @@ from sqlalchemy import (
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from sqlalchemy.ext.mutable import MutableDict
|
from sqlalchemy.ext.mutable import MutableDict
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from sqlalchemy.sql import func
|
from tzlocal import get_localzone
|
||||||
|
|
||||||
|
|
||||||
def _init_resource(private: bool = True, id: int = 1):
|
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),
|
"path": Column(String),
|
||||||
"size": Column(Integer, default=0),
|
"size": Column(Integer, default=0),
|
||||||
"date_created": Column(
|
"date_created": Column(
|
||||||
DateTime(timezone=True), server_default=func.now()
|
DateTime(timezone=True), default=datetime.now(get_localzone())
|
||||||
),
|
),
|
||||||
"user": Column(Integer, default=1),
|
"user": Column(Integer, default=1),
|
||||||
"note": Column(
|
"note": Column(
|
||||||
|
@ -66,7 +67,7 @@ def _init_resource(private: bool = True, id: int = 1):
|
||||||
"path": Column(String),
|
"path": Column(String),
|
||||||
"size": Column(Integer, default=0),
|
"size": Column(Integer, default=0),
|
||||||
"date_created": Column(
|
"date_created": Column(
|
||||||
DateTime(timezone=True), server_default=func.now()
|
DateTime(timezone=True), default=datetime.now(get_localzone())
|
||||||
),
|
),
|
||||||
"user": Column(Integer, default=1),
|
"user": Column(Integer, default=1),
|
||||||
"note": Column(
|
"note": Column(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user