[WIP]Spotify × 파이톤으로 현재 심정, 작업 내용, 트렌드에 맞춰 앨범을 자동 제작한다.
아래 화면에서 이미지를 입력합니다.입력한 내용에 따라 스팟ify API를 혼자 사용해 앨범을 만든다.
사진첩 제작에 사용된 정보로 웹 인터페이스에서 얻은 당시의 심정은 지금부터 진행되는 작업 내용 외에 스포티파이 내 곡의 배열 순서, 온도 등 독자적인 알고리즘을 활용해 선곡을 하고 사진첩을 제작한다.어쨌든 앨범 한 장당 10곡 정도를 목표로 추가됐다.
여기에 사용된 알고리즘에서 스팟ify 내의 곡에 각각 다음과 같은 정보를 추가하여 제작하고 싶습니다.
환경 구조
app--
--Dockerfile
--docker-compose.yaml
--README.md
--app
|--index.py
|--templates
--|--index.html
--|--create_album.html
|--spotify
--|--sp_controller.py
Dockerfile
FROM python:3.9
WORKDIR /app
COPY ./app /app
RUN pip install Flask
RUN pip install -U MarkupSafe
RUN pip install flask-login
RUN pip install flask-mysql
RUN pip install -U PyMySQL
RUN pip install python-dotenv
CMD ["python", "index.py"]
docker-compose.yamlversion: '3'
services:
db:
image: mysql:8.0
platform: linux/x86_64
container_name: demoapp-mysql-db
hostname: demoapp-mysql-db
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
ports:
- '3306:3306'
command: --default-authentication-plugin=mysql_native_password
networks:
- app-net
flask:
build: .
ports:
- "5005:80"
volumes:
- ./app:/app
networks:
- app-net
depends_on:
- db
networks:
app-net:
driver: bridge
volumes:
db_data:
templates/index.html<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>今日の気分を入力しよう</h1>
<form action="/create_album" method="POST">
<input type="checkbox" name="date-term" value="morning">
<label for="date-term">朝</label>
<input type="checkbox" name="date-term" value="noon">
<label for="date-term">昼</label>
<input type="checkbox" name="date-term" value="night">
<label for="date-term">夜</label><br>
<select name="feeling">
<option value="">--今の気分を選択しよう--</option>
<option value="workingonsunshine">最高</option>
<option value="feelinggood">気分がいい</option>
<option value="soso">まあまあ</option>
<option value="feelingbad">気分が悪い</option>
<option value="depressed">落ち込んでる</option>
<option value="wannadonothing">何もしたくない</option>
</select><br>
<select name="todo">
<option value="">--今からする作業を選ぼう--</option>
<option value="workingonsunshine">移動</option>
<option value="feelinggood">コーディング</option>
<option value="soso">事務作業</option>
<option value="feelingbad">大学の勉強</option>
<option value="depressed">記事</option>
<option value="wannadonothing">睡眠</option>
</select><br>
<input type="submit" value="アルバム作成">
</form>
</body>
</html>
index.py3
from flask import Flask, render_template, request, session, url_for, redirect
from markupsafe import escape
import model
from spotify import sp_controller
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html')
@app.route("/create_album", methods=["POST", "GET"])
def create_album():
album = sp_controller.manage_album(request.form["date-term"], request.form["feeling"], request.form["todo"])
return render_template("spotify_page.html", album=album)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=80, debug=True)
계속...
Reference
이 문제에 관하여([WIP]Spotify × 파이톤으로 현재 심정, 작업 내용, 트렌드에 맞춰 앨범을 자동 제작한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/takanao/articles/0d07cd0fc07f92텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)