Skip to content
Snippets Groups Projects
Commit c238aba6 authored by Macinstallation's avatar Macinstallation
Browse files

Added playlist str support

parent bf8efd8d
Branches
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ from fastapi import FastAPI, Request, Response ...@@ -5,7 +5,7 @@ from fastapi import FastAPI, Request, Response
from app.journal import JournalInterceptorRoute from app.journal import JournalInterceptorRoute
from app.routers import labbooks, modify_comment_segment, modify_labbook, modify_labbook_entry, \ from app.routers import labbooks, modify_comment_segment, modify_labbook, modify_labbook_entry, \
modify_labeled_segment, modify_tape, search, tapes, top, OrchiveAPIRouter, audio_segments, orca_sequences, \ modify_labeled_segment, modify_tape, search, tapes, top, OrchiveAPIRouter, audio_segments, orca_sequences, \
modify_orca_sequence, modify_audio_segment modify_orca_sequence, modify_audio_segment, playlists
from app.elastic_search import * from app.elastic_search import *
...@@ -27,6 +27,7 @@ app.include_router(modify_labeled_segment.router, tags=["Modify Labeled Segment" ...@@ -27,6 +27,7 @@ app.include_router(modify_labeled_segment.router, tags=["Modify Labeled Segment"
app.include_router(modify_comment_segment.router, tags=["Modify Comment Segment"]) app.include_router(modify_comment_segment.router, tags=["Modify Comment Segment"])
app.include_router(modify_audio_segment.router, tags=["Modify Audio Segment"]) app.include_router(modify_audio_segment.router, tags=["Modify Audio Segment"])
app.include_router(modify_orca_sequence.router, tags=["Modify Orca Sequence"]) app.include_router(modify_orca_sequence.router, tags=["Modify Orca Sequence"])
app.include_router(playlists.router, tags=["Saved Playlists"])
app_router = OrchiveAPIRouter(route_class=JournalInterceptorRoute) app_router = OrchiveAPIRouter(route_class=JournalInterceptorRoute)
......
from datetime import date
from enum import Enum
from typing import List, Optional
from fastapi.responses import JSONResponse
from pydantic import BaseModel
import app.routers.top
from app.routers import Message, OrchiveAPIRouter
import redis
router = OrchiveAPIRouter()
redis_client = redis.StrictRedis(host='redis', port=6379, db=0)
class PlaylistEntry(BaseModel):
user_name: str
sequences_str: Optional[int] = None
@router.put("/playlists")
async def set_playlist(playlist: PlaylistEntry):
"""Adds or updates a user playlist"""
if playlist.sequences_str:
redis_client.set(playlist.user_name, playlist.sequences_str)
else:
redis_client.delete(playlist.user_name)
return JSONResponse(status_code=200, content={"message": playlist.json()})
@router.get("/playlists", response_model=PlaylistEntry)
async def set_playlist(playlist: PlaylistEntry):
"""gets the playlist or returns empty string otherwise"""
value = redis_client.get(playlist.user_name)
if value is not None:
playlist.sequences_str = value
else:
playlist.sequences_str = ''
return JSONResponse(status_code=200, content=playlist.json())
fastapi==0.65.1 fastapi==0.65.1
uvicorn[standard]==0.13.4 uvicorn[standard]==0.13.4
elasticsearch==7.12.1 elasticsearch==7.12.1
redis
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment