Merge branch 'main' of https://github.com/dm1sh/porridger_tmp
This commit is contained in:
commit
5dc90b625e
41
back/main.py
41
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,11 +34,22 @@ if not os.path.exists("./uploads"):
|
||||
os.mkdir("./uploads")
|
||||
app.mount("/uploads", StaticFiles(directory = "./uploads"))
|
||||
|
||||
# # Записываем стихи в базу данных, если их еще нет (запускать только если стихов в базе нет).
|
||||
# Записываем стихи в базу данных, если их еще нет (запускать только если стихов в базе нет).
|
||||
# add_poems_to_db(database)
|
||||
|
||||
@app.get("/api/announcements", response_model=List[schemas.Announcement]) #адрес объявлений
|
||||
def annoncements_list(params_to_sort: schemas.SortAnnouncements):
|
||||
#Вова тестирует получение поэм, Димоны, помогите пж
|
||||
@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 и отображаем их на странице.
|
||||
# В последствии будем вставлять данные в html-форму
|
||||
|
||||
@ -46,27 +58,6 @@ def annoncements_list(params_to_sort: schemas.SortAnnouncements):
|
||||
# Фильтруем по другим параметрам и делаем пересечение с not_expired
|
||||
result = not_expired.intersect(get_query_results(params_to_sort))
|
||||
|
||||
|
||||
# a = database.query(models.Announcement)
|
||||
# b = database.query(models.Announcement)
|
||||
# c = database.query(models.Announcement)
|
||||
# d = database.query(models.Announcement)
|
||||
# e = database.query(models.Announcement)
|
||||
|
||||
# if owner_id != None:
|
||||
# b = a.filter(models.Announcement.owner_id == owner_id)
|
||||
|
||||
# if metro != None:
|
||||
# c = a.filter(models.Announcement.metro == metro)
|
||||
|
||||
# if category != None:
|
||||
# d = a.filter(models.Announcement.category == category)
|
||||
|
||||
# if not any([category, owner_id, metro]) and booked_by == 0:
|
||||
# result = a.all()
|
||||
|
||||
# else:
|
||||
# result = b.intersect(c, d, e).all()
|
||||
return {"Success" : True, "list_of_announcements": result, "poem": generate_poem(database)}
|
||||
|
||||
|
||||
@ -85,7 +76,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()],
|
||||
|
@ -65,8 +65,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
|
||||
|
@ -12,23 +12,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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user