Python Forum
Help with a script (Python) - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Help with a script (Python) (/thread-23138.html)



Help with a script (Python) - Kometrix - Dec-12-2019

Hello dear forum,

we have a web radio and the following rules apply:
- There are two folders from which the script (playlist.py) pulls the songs. Once from 10-0 and once from 0-10. Now we want the following structure:

0 - 6> NightRotation
6 - 12> Midday rotation
12 - 18> DayRotation
18 - 24> evening rotation

And that the jingles are played every 5 songs.

Unfortunately, we are completely noobs in terms of Python, and because of our studies, our PRG is no longer able to participate. Therefore I would be happy if you solve this problem for us :-)


#!/usr/bin/env python



heavyRotationPercentage = 1.0 / 2.0



import os

import random

import pickle

import datetime



directory = os.path.dirname(os.path.abspath(__file__))

heavyRotationDir = os.path.join(directory, "HeavyRotation")

normalRotationDir = os.path.join(directory, "NormalRotation")

oldRotationDir = os.path.join(directory, "OldRotation")

jinglesDir = os.path.join(directory, "Jingles")

statusFile = os.path.join(directory, "status.txt")

currentHour = datetime.datetime.now().hour



status = [('','')]*8



if os.path.isfile(statusFile):

    with open(statusFile, "rb") as f:

        status = pickle.load(f)

lastFiles = [i[0] for i in status]



fileListFilter = lambda fileList: [fileName for fileName in fileList if

                                   fileName not in lastFiles and fileName[-4:] == ".mp3"]



choosenFileDir = False

choosenFileList = False





if status[-1][1]!=jinglesDir:

    #Letzte Track war kein Jingle

    choosenFileDir = jinglesDir

    choosenFileList = fileListFilter(os.listdir(jinglesDir))





if currentHour >= 10 and choosenFileDir == False:

    #Von 10:00 bis 24:00 aus der normalen / Heavy Rotation waehlen

    filesInHeavyRotation = fileListFilter(os.listdir(heavyRotationDir))

    filesInNormalRotation = fileListFilter(os.listdir(normalRotationDir))

    if random.random() <= heavyRotationPercentage and len(filesInHeavyRotation) > 0:

        choosenFileDir = heavyRotationDir

        choosenFileList = filesInHeavyRotation

    elif len(filesInNormalRotation) > 0:

        choosenFileDir = normalRotationDir

        choosenFileList = filesInNormalRotation



if choosenFileDir == False:

    # Von 00:00 bis 10:00 (oder wenn nichts anderes gefunden wurde) aus der alten Rotation waehlen

    choosenFileDir = oldRotationDir

    choosenFileList = fileListFilter(os.listdir(oldRotationDir))





choosenFile = random.choice(choosenFileList)



with open(statusFile, "wb") as f:

    status.append((choosenFile, choosenFileDir))

    pickle.dump(status[1:],f)



print os.path.join(choosenFileDir, choosenFile)



RE: Help with a script (Python) - Larz60+ - Dec-13-2019

homework?


RE: Help with a script (Python) - Kometrix - Dec-15-2019

we have a web radio and do not have the knowledge to change the script. So I wanted to ask if anyone has any idea about it. Unfortunately we don't have time to learn the language


RE: Help with a script (Python) - Larz60+ - Dec-15-2019

we have a jobs section where you can post, but please state compensation amount.