Вова работает над поэмами

This commit is contained in:
MatManSky 2023-08-04 13:44:30 +03:00
parent 95e5c95cd4
commit 8bbdbce9f8
3 changed files with 31 additions and 7 deletions

View File

@ -12,6 +12,7 @@ from starlette.staticfiles import StaticFiles
import requests import requests
from uuid import uuid4 from uuid import uuid4
import random
import ast import ast
import pathlib import pathlib
@ -33,9 +34,20 @@ if not os.path.exists("./uploads"):
os.mkdir("./uploads") os.mkdir("./uploads")
app.mount("/uploads", StaticFiles(directory = "./uploads")) app.mount("/uploads", StaticFiles(directory = "./uploads"))
# # Записываем стихи в базу данных, если их еще нет (запускать только если стихов в базе нет). # Записываем стихи в базу данных, если их еще нет (запускать только если стихов в базе нет).
# add_poems_to_db(database) # 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")#адрес объявлений @app.get("/api/announcements")#адрес объявлений
def annoncements_list(owner_id: int = None, metro: str = None, category: str = None, booked_by: int = 0): def annoncements_list(owner_id: int = None, metro: str = None, category: str = None, booked_by: int = 0):
# Считываем данные из Body и отображаем их на странице. # Считываем данные из Body и отображаем их на странице.

View File

@ -56,8 +56,9 @@ class Poems(Base):#класс поэзии
__tablename__ = "poems" __tablename__ = "poems"
id = Column(Integer, primary_key=True, index=True) #айди id = Column(Integer, primary_key=True, index=True) #айди
poem_name = Column(String) # название стихотворения title = Column(String) # название стихотворения
poem_text = Column(String) # текст стихотворения text = Column(String) # текст стихотворения
author = Column(String) # автор стихотворения
# from typing import AsyncGenerator # from typing import AsyncGenerator
# from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine # from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine

View File

@ -9,23 +9,34 @@ def add_poems_to_db(db: Session):
for a in range(1, 102): for a in range(1, 102):
f1.seek(0)#перейти к началу f1.seek(0)#перейти к началу
i=0 i=0
str1="" str1 = ""
stixi = "" stixi = ""
author = ""
flag = False
while str1 != f"стих {a}\n": while str1 != f"стих {a}\n":
str1=f1.readline() str1=f1.readline()
name=f1.readline() name=f1.readline()
# Цикл для склеивания стихотворения # Цикл для склеивания стихотворения
while str1 != f"стих {a+1}\n": while str1 != f"стих {a+1}\n":
str1=f1.readline() str1=f1.readline()
if(str1 != f"стих {a+1}\n"): if str1 != f"стих {a + 1}\n":
stixi+=str1#удаление /n и заключение в список if (str1 != f"Автор:\n" and flag == False):
poem = Poems(poem_name=name, poem_text=stixi) 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.add(poem)
db.commit() db.commit()
db.refresh(poem) db.refresh(poem)
# close the file # close the file
f1.close() f1.close()
def generate_poem(db: Session): def generate_poem(db: Session):