From 95e5c95cd48f8253ee2a4c748008cd9b6effa468 Mon Sep 17 00:00:00 2001 From: MatManSky Date: Thu, 3 Aug 2023 22:01:03 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=83=D0=B3?= =?UTF-8?q?=D0=BB=D1=83=D0=B1=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/main.py b/back/main.py index b005efd..ed3761a 100644 --- a/back/main.py +++ b/back/main.py @@ -80,7 +80,7 @@ def single_annoncement(user_id:int): return {"Answer" : False} #если неуданый доступ, то сообщаем об этом -# Занести объявление в базу +# Занести объявление в базу данных @app.put("/api/announcement")#адрес объявлений def put_in_db(name: Annotated[str, Form()], category: Annotated[str, Form()], bestBy: Annotated[int, Form()], address: Annotated[str, Form()], longtitude: Annotated[float, Form()], latitude: Annotated[float, Form()], From 8bbdbce9f82589603a00ca43e9fce81084818197 Mon Sep 17 00:00:00 2001 From: MatManSky Date: Fri, 4 Aug 2023 13:44:30 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=92=D0=BE=D0=B2=D0=B0=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BD=D0=B0=D0=B4=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=8D=D0=BC=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/main.py | 14 +++++++++++++- back/models.py | 5 +++-- back/service.py | 19 +++++++++++++++---- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/back/main.py b/back/main.py index ed3761a..df007d5 100644 --- a/back/main.py +++ b/back/main.py @@ -12,6 +12,7 @@ from starlette.staticfiles import StaticFiles import requests from uuid import uuid4 +import random import ast import pathlib @@ -33,9 +34,20 @@ if not os.path.exists("./uploads"): os.mkdir("./uploads") app.mount("/uploads", StaticFiles(directory = "./uploads")) -# # Записываем стихи в базу данных, если их еще нет (запускать только если стихов в базе нет). +# Записываем стихи в базу данных, если их еще нет (запускать только если стихов в базе нет). # add_poems_to_db(database) +#Вова тестирует получение поэм, Димоны, помогите пж +@app.post("/api/poems") +async def poems_to_front(): + kolvo_stixov = 109 # пока количество стихотворений = 101 + rand_id = random.randint(1, kolvo_stixov) # номер стихотворения + poem_json = dict() + poem = database.query(models.Poems).filter(models.Poems.id == rand_id) + poem_json = {"title": poem.title, "text": poem.text, "author":poem.author} + return poem_json + + @app.get("/api/announcements")#адрес объявлений def annoncements_list(owner_id: int = None, metro: str = None, category: str = None, booked_by: int = 0): # Считываем данные из Body и отображаем их на странице. diff --git a/back/models.py b/back/models.py index ef59272..fa712af 100644 --- a/back/models.py +++ b/back/models.py @@ -56,8 +56,9 @@ class Poems(Base):#класс поэзии __tablename__ = "poems" id = Column(Integer, primary_key=True, index=True) #айди - poem_name = Column(String) # название стихотворения - poem_text = Column(String) # текст стихотворения + title = Column(String) # название стихотворения + text = Column(String) # текст стихотворения + author = Column(String) # автор стихотворения # from typing import AsyncGenerator # from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine diff --git a/back/service.py b/back/service.py index 6022edc..800fca6 100644 --- a/back/service.py +++ b/back/service.py @@ -9,23 +9,34 @@ def add_poems_to_db(db: Session): for a in range(1, 102): f1.seek(0)#перейти к началу i=0 - str1="" + str1 = "" stixi = "" + author = "" + flag = False while str1 != f"стих {a}\n": str1=f1.readline() name=f1.readline() # Цикл для склеивания стихотворения while str1 != f"стих {a+1}\n": str1=f1.readline() - if(str1 != f"стих {a+1}\n"): - stixi+=str1#удаление /n и заключение в список - poem = Poems(poem_name=name, poem_text=stixi) + if str1 != f"стих {a + 1}\n": + if (str1 != f"Автор:\n" and flag == False): + stixi += str1 # удаление /n и заключение в список + else: + if str1 == f"Автор:\n":#чтобы не записывать слово "автор" + flag = True + else: + author += str1 + if(str1 != f"стих {a+1}\n"): + stixi+=str1#удаление /n и заключение в список + poem = Poems(title=name, text=stixi, author=author) # В конце каждой итерации добавляем в базу данных db.add(poem) db.commit() db.refresh(poem) # close the file f1.close() + def generate_poem(db: Session):