This commit is contained in:
2023-08-07 00:03:04 +03:00
3 changed files with 34 additions and 31 deletions

View File

@ -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()],