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
|
import requests
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
import random
|
||||||
|
|
||||||
import ast
|
import ast
|
||||||
import pathlib
|
import pathlib
|
||||||
@ -33,11 +34,22 @@ 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.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 и отображаем их на странице.
|
# Считываем данные из Body и отображаем их на странице.
|
||||||
# В последствии будем вставлять данные в html-форму
|
# В последствии будем вставлять данные в html-форму
|
||||||
|
|
||||||
@ -46,27 +58,6 @@ def annoncements_list(params_to_sort: schemas.SortAnnouncements):
|
|||||||
# Фильтруем по другим параметрам и делаем пересечение с not_expired
|
# Фильтруем по другим параметрам и делаем пересечение с not_expired
|
||||||
result = not_expired.intersect(get_query_results(params_to_sort))
|
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)}
|
return {"Success" : True, "list_of_announcements": result, "poem": generate_poem(database)}
|
||||||
|
|
||||||
|
|
||||||
@ -85,7 +76,7 @@ def single_annoncement(user_id:int):
|
|||||||
return {"Answer" : False} #если неуданый доступ, то сообщаем об этом
|
return {"Answer" : False} #если неуданый доступ, то сообщаем об этом
|
||||||
|
|
||||||
|
|
||||||
# Занести объявление в базу
|
# Занести объявление в базу данных
|
||||||
@app.put("/api/announcement")#адрес объявлений
|
@app.put("/api/announcement")#адрес объявлений
|
||||||
def put_in_db(name: Annotated[str, Form()], category: Annotated[str, Form()], bestBy: Annotated[int, Form()],
|
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()],
|
address: Annotated[str, Form()], longtitude: Annotated[float, Form()], latitude: Annotated[float, Form()],
|
||||||
|
@ -65,8 +65,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
|
||||||
|
@ -12,23 +12,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):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user