added the stuff that is needed for spotify sync
Signed-off-by: Ebbe Baß <ebbe@ping-mee.de>master
parent
7c55166e32
commit
b64d7789b8
35
main.py
35
main.py
|
@ -2,10 +2,22 @@ from base64 import b16decode
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from random import *
|
from random import *
|
||||||
|
from ctypes.wintypes import VARIANT_BOOL
|
||||||
|
from multiprocessing.spawn import old_main_modules
|
||||||
|
import os
|
||||||
|
from unicodedata import decimal
|
||||||
|
import requests
|
||||||
|
current_path = os.path.dirname(os.path.abspath(__file__))
|
||||||
try:
|
try:
|
||||||
from rpi_ws281x import *
|
from rpi_ws281x import *
|
||||||
import RPi.GPIO as GPIO
|
import RPi.GPIO as GPIO
|
||||||
import paho.mqtt.client as mqtt
|
import paho.mqtt.client as mqtt
|
||||||
|
import spotipy
|
||||||
|
import urllib.request
|
||||||
|
import colorgram
|
||||||
|
import numpy as np
|
||||||
|
from PIL import Image
|
||||||
|
from dotenv import load_dotenv
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print('Some modules are missing. Try to install them with "pip3 install -r requirements.txt"')
|
print('Some modules are missing. Try to install them with "pip3 install -r requirements.txt"')
|
||||||
exit()
|
exit()
|
||||||
|
@ -32,6 +44,29 @@ def debug_print(message: str):
|
||||||
current_time = now.strftime("%H:%M:%S")
|
current_time = now.strftime("%H:%M:%S")
|
||||||
print('[DEBUG]['+current_time+'] '+message)
|
print('[DEBUG]['+current_time+'] '+message)
|
||||||
|
|
||||||
|
def convertColor(hexCode):
|
||||||
|
R = int(hexCode[:2],16)
|
||||||
|
G = int(hexCode[2:4],16)
|
||||||
|
B = int(hexCode[4:6],16)
|
||||||
|
total = R + G + B
|
||||||
|
if R == 0:
|
||||||
|
firstPos = 0
|
||||||
|
else:
|
||||||
|
firstPos = R / total
|
||||||
|
if G == 0:
|
||||||
|
secondPos = 0
|
||||||
|
else:
|
||||||
|
secondPos = G / total
|
||||||
|
return [firstPos, secondPos]
|
||||||
|
|
||||||
|
def getRandomHex():
|
||||||
|
return "%06x" % random.randint(0, 0xFFFFFF)
|
||||||
|
|
||||||
|
def extract_colors(url, n=4):
|
||||||
|
urllib.request.urlretrieve(url, current_path+r"/cover.jpg")
|
||||||
|
img = current_path+r"/cover.jpg"
|
||||||
|
return colorgram.extract(img, n)
|
||||||
|
|
||||||
def wheel(pos):
|
def wheel(pos):
|
||||||
if pos < 85:
|
if pos < 85:
|
||||||
return Color(pos * 3, 255 - pos * 3, 0)
|
return Color(pos * 3, 255 - pos * 3, 0)
|
||||||
|
|
|
@ -1,2 +1,7 @@
|
||||||
|
numpy==1.23.1
|
||||||
paho_mqtt==1.6.1
|
paho_mqtt==1.6.1
|
||||||
|
Pillow==9.2.0
|
||||||
|
python-dotenv==0.20.0
|
||||||
|
requests==2.28.1
|
||||||
rpi_ws281x==4.3.4
|
rpi_ws281x==4.3.4
|
||||||
|
spotipy==2.20.0
|
||||||
|
|
Loading…
Reference in New Issue