mirror of https://github.com/gmbrax/Pilgrim.git
Compare commits
4 Commits
4a5da4d44c
...
14055770e7
| Author | SHA1 | Date |
|---|---|---|
|
|
14055770e7 | |
|
|
56e42c51bd | |
|
|
e8f5d4b877 | |
|
|
f1195391db |
|
|
@ -7,7 +7,10 @@ from pilgrim.ui.ui import UIApp
|
||||||
class Application:
|
class Application:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.database = Database()
|
self.database = Database()
|
||||||
self.ui = UIApp(ServiceManagerMock())
|
session = self.database.session()
|
||||||
|
session_manager = ServiceManager()
|
||||||
|
session_manager.set_session(session)
|
||||||
|
self.ui = UIApp(session_manager)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.database.create()
|
self.database.create()
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from sqlalchemy import Column, Integer, String, ForeignKey
|
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
from pilgrim.models.photo_in_entry import photo_entry_association
|
from pilgrim.models.photo_in_entry import photo_entry_association
|
||||||
|
|
@ -12,7 +12,7 @@ class Entry(Base):
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
title = Column(String)
|
title = Column(String)
|
||||||
text = Column(String)
|
text = Column(String)
|
||||||
date = Column(String)
|
date = Column(DateTime)
|
||||||
photos = relationship(
|
photos = relationship(
|
||||||
"Photo",
|
"Photo",
|
||||||
secondary=photo_entry_association,
|
secondary=photo_entry_association,
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
from datetime import datetime
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from ..models.entry import Entry
|
from ..models.entry import Entry
|
||||||
|
|
@ -8,7 +9,7 @@ class EntryService:
|
||||||
def __init__(self,session):
|
def __init__(self,session):
|
||||||
self.session = session
|
self.session = session
|
||||||
|
|
||||||
def create(self, travel_diary_id:int, title: str, text: str, date: str, ):
|
def create(self, travel_diary_id:int, title: str, text: str, date: datetime, ):
|
||||||
travel_diary = self.session.query(TravelDiary).filter(TravelDiary.id == travel_diary_id).first()
|
travel_diary = self.session.query(TravelDiary).filter(TravelDiary.id == travel_diary_id).first()
|
||||||
if not travel_diary:
|
if not travel_diary:
|
||||||
return None
|
return None
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
from ..models.travel_diary import TravelDiary
|
from ..models.travel_diary import TravelDiary
|
||||||
|
import asyncio
|
||||||
|
|
||||||
class TravelDiaryService:
|
class TravelDiaryService:
|
||||||
def __init__(self,session):
|
def __init__(self,session):
|
||||||
self.session = session
|
self.session = session
|
||||||
def create(self, name:str):
|
async def async_create(self, name:str):
|
||||||
new_travel_diary = TravelDiary(name)
|
new_travel_diary = TravelDiary(name)
|
||||||
self.session.add(new_travel_diary)
|
self.session.add(new_travel_diary)
|
||||||
self.session.commit()
|
self.session.commit()
|
||||||
|
|
@ -18,14 +18,17 @@ class TravelDiaryService:
|
||||||
def read_all(self):
|
def read_all(self):
|
||||||
return self.session.query(TravelDiary).all()
|
return self.session.query(TravelDiary).all()
|
||||||
|
|
||||||
def update(self, travel_diary_id: TravelDiary, travel_diary_dst: TravelDiary):
|
def update(self, travel_diary_id: int, name: str):
|
||||||
original = self.read_by_id(travel_diary_id.id)
|
original = self.read_by_id(travel_diary_id)
|
||||||
if original is not None:
|
if original is not None:
|
||||||
original.name = travel_diary_dst.name
|
original.name = name
|
||||||
self.session.commit()
|
self.session.commit()
|
||||||
self.session.refresh(original)
|
self.session.refresh(original)
|
||||||
return original
|
return original
|
||||||
|
|
||||||
|
async def async_update(self, travel_diary_id: int, name: str):
|
||||||
|
return self.update(travel_diary_id, name)
|
||||||
|
|
||||||
def delete(self, travel_diary_id: TravelDiary):
|
def delete(self, travel_diary_id: TravelDiary):
|
||||||
excluded = self.read_by_id(travel_diary_id.id)
|
excluded = self.read_by_id(travel_diary_id.id)
|
||||||
if excluded is not None:
|
if excluded is not None:
|
||||||
|
|
|
||||||
|
|
@ -127,8 +127,8 @@ class DiaryListScreen(Screen):
|
||||||
service_manager = self.app.service_manager
|
service_manager = self.app.service_manager
|
||||||
travel_diary_service = service_manager.get_travel_diary_service()
|
travel_diary_service = service_manager.get_travel_diary_service()
|
||||||
|
|
||||||
# Uses async method
|
# Usa método síncrono agora
|
||||||
diaries = await travel_diary_service.async_read_all()
|
diaries = travel_diary_service.read_all()
|
||||||
|
|
||||||
# Saves current state
|
# Saves current state
|
||||||
current_diary_id = None
|
current_diary_id = None
|
||||||
|
|
|
||||||
|
|
@ -375,8 +375,8 @@ class EditEntryScreen(Screen):
|
||||||
service_manager = self.app.service_manager
|
service_manager = self.app.service_manager
|
||||||
entry_service = service_manager.get_entry_service()
|
entry_service = service_manager.get_entry_service()
|
||||||
|
|
||||||
# Get current date
|
# Get current date as datetime object
|
||||||
current_date = datetime.now().strftime("%d/%m/%Y")
|
current_date = datetime.now()
|
||||||
|
|
||||||
new_entry = entry_service.create(
|
new_entry = entry_service.create(
|
||||||
travel_diary_id=self.diary_id,
|
travel_diary_id=self.diary_id,
|
||||||
|
|
|
||||||
|
|
@ -387,4 +387,4 @@ Screen.-modal {
|
||||||
.RenameEntryModal-cancel-button {
|
.RenameEntryModal-cancel-button {
|
||||||
margin: 0 1;
|
margin: 0 1;
|
||||||
width: 1fr;
|
width: 1fr;
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue