added pypika for db queries
parent
3c5501643b
commit
2b7f711641
BIN
database/show.db
BIN
database/show.db
Binary file not shown.
|
@ -107,14 +107,35 @@
|
||||||
</audio>
|
</audio>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<h4>This weeks playlist:</h4>
|
<h4>This weeks playlist:</h4>
|
||||||
{% for track in episode_playlist[1:] %}
|
{% for track in episode_playlist[0:] %}
|
||||||
<item>
|
<h4>{{track}}</h4>
|
||||||
<p>{{track}}</p>
|
|
||||||
</item>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
<!-- <table> -->
|
||||||
|
<!-- {% for track in episode_playlist[0:] %} -->
|
||||||
|
<!-- <TR> -->
|
||||||
|
|
||||||
|
<!-- <TD class="c1"><IMG src="favicon.ico"></TD> -->
|
||||||
|
<!-- <TD class="c2">{{track[0]}}</TD> -->
|
||||||
|
<!-- <TD class="c3">{{track[1]}}</TD> -->
|
||||||
|
<!-- <TD class="c4"><SPAN>{{track[2]}}</SPAN></TD> -->
|
||||||
|
<!-- <TD class="c5"><SPAN>{{track[3]}}</SPAN></TD> -->
|
||||||
|
|
||||||
|
<!-- <\!-- <Item> -\-> -->
|
||||||
|
<!-- <\!-- <p>{{track}}</p> -\-> -->
|
||||||
|
<!-- <\!-- </item> -\-> -->
|
||||||
|
<!-- </TR> -->
|
||||||
|
<!-- {% endfor %} -->
|
||||||
|
<!-- </table> -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,9 @@ from tinytag import TinyTag
|
||||||
from random import shuffle
|
from random import shuffle
|
||||||
import sqlite3, json
|
import sqlite3, json
|
||||||
import uuid
|
import uuid
|
||||||
|
#import pypika # sql query builder
|
||||||
|
from pypika import Query, Table, Field, Column
|
||||||
|
|
||||||
conn = ''
|
conn = ''
|
||||||
|
|
||||||
music_library_path = "/home/rob/antena/music/"
|
music_library_path = "/home/rob/antena/music/"
|
||||||
|
@ -15,35 +18,37 @@ conn = sqlite3.connect("database/show.db")
|
||||||
#TODO fix getting bandcamp urls into db
|
#TODO fix getting bandcamp urls into db
|
||||||
labelnames = [("sploh", "https://sploh.bandcamp.com"), ("terraformer"), ("pharamafabric") ]
|
labelnames = [("sploh", "https://sploh.bandcamp.com"), ("terraformer"), ("pharamafabric") ]
|
||||||
|
|
||||||
|
# todo find album with no album name
|
||||||
|
mus_lib = Query \
|
||||||
|
.create_table("MUSIC_LIBRARY") \
|
||||||
|
.columns(
|
||||||
|
Column("id", "INT", nullable=True),
|
||||||
|
Column("label", "VARCHAR(100)", nullable=True),
|
||||||
|
Column("album", "VARCHAR(100)", nullable=True),
|
||||||
|
Column("track", "VARCHAR(200)", nullable=True),
|
||||||
|
Column("artist", "VARCHAR(120)", nullable=True),
|
||||||
|
Column("genre", "VARCHAR(120)", nullable=True),
|
||||||
|
Column("trackdur", "FLOAT", nullable=True),
|
||||||
|
Column("year", "INT", nullable=True),
|
||||||
|
Column("url", "VARCHAR(120)", nullable=True),
|
||||||
|
Column("path", "VARCHAR(120)", nullable=False),
|
||||||
|
Column("lastplay", "DATETINE", nullable=True),
|
||||||
|
Column("comment", "VARCHAR(120)", nullable=True))\
|
||||||
|
.unique("path") \
|
||||||
|
.primary_key("path")
|
||||||
|
|
||||||
def database_create(conn):
|
def database_create(conn):
|
||||||
# the MUSIC LIBRARY TABLE
|
# the MUSIC LIBRARY TABLE
|
||||||
#TODO UNIQUE constraint prevents duplicats but what if tracks are in another locaton?fixme
|
#TODO UNIQUE constraint prevents duplicats but what if tracks are in another locaton?fixme
|
||||||
conn.execute('''CREATE TABLE IF NOT EXISTS MUSICLIB(
|
conn.execute(str(mus_lib))
|
||||||
ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
print('''MUSIC LIBRARY Table created successfully''');
|
||||||
LABEL TEXT NOT NULL,
|
|
||||||
ALBUM TEXT ,
|
|
||||||
TRACK TEXT ,
|
|
||||||
ARTIST TEXT ,
|
|
||||||
GENRE TEXT ,
|
|
||||||
TRACKDUR TEXT ,
|
|
||||||
YEAR TEXT,
|
|
||||||
URL TEXT,
|
|
||||||
PATH TEXT UNIQUE,
|
|
||||||
LASTPLAY TEXT,
|
|
||||||
COMMENT TEXT
|
|
||||||
);''')
|
|
||||||
|
|
||||||
print("Table created successfully");
|
|
||||||
|
|
||||||
#######################################################
|
|
||||||
|
|
||||||
def mk_db_entry(conn):
|
def mk_db_entry(conn):
|
||||||
|
print("ADDING TRACKS TO DATABASE > > > one moment please! ");
|
||||||
import os
|
|
||||||
|
|
||||||
label_url = "https://fixme.bandcamp.com/"
|
label_url = "https://fixme.bandcamp.com/"
|
||||||
|
|
||||||
for subdir, dirs, files in os.walk(music_library_path):
|
for subdir, dirs, files in os.walk(music_library_path):
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
for m in [".flac", ".FLAC", ".mp3"]: # get audio files
|
for m in [".flac", ".FLAC", ".mp3"]: # get audio files
|
||||||
if m in file:
|
if m in file:
|
||||||
|
@ -52,25 +57,31 @@ def mk_db_entry(conn):
|
||||||
track = TinyTag.get(os.path.join(subdir, file))# get metadata from file
|
track = TinyTag.get(os.path.join(subdir, file))# get metadata from file
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
|
|
||||||
cursor.execute("INSERT OR IGNORE INTO MUSICLIB (\
|
mus_lib = Table('MUSIC_LIBRARY')
|
||||||
ID, LABEL, ALBUM, TRACK, ARTIST,\
|
q = mus_lib.insert(1, label, track.album, track.title, track.artist, \
|
||||||
GENRE, TRACKDUR, YEAR, URL, PATH, LASTPLAY, COMMENT) \
|
track.genre, track.duration, track.year, \
|
||||||
VALUES (NULL, ?, ?, ?, ?,?, ?,?,?,?,?,? )",\
|
label_url, str(filepath), "last_played", track.comment)
|
||||||
[label, track.album, track.title, track.artist, \
|
cursor.execute(str(q));
|
||||||
track.genre, track.duration, track.year, label_url, str(filepath), "last_played", track.comment]);
|
|
||||||
conn.commit()
|
conn.commit()
|
||||||
# print("DB Record created successfully");
|
|
||||||
|
|
||||||
# track = TinyTag.get(i)
|
def count_tracks(conn):
|
||||||
# detail = str(track.artist) + " | " + str(track.album) + \
|
query = f"SELECT COUNT(*) FROM MUSIC_LIBRARY"
|
||||||
# " | " + str(track.title) + " | " + str(track.year) + \
|
cursor = conn.cursor()
|
||||||
# " | " + str(timedelta(seconds=round(track.duration)))
|
cursor.execute(query)
|
||||||
# show_info.append("" + detail)
|
result = cursor.fetchone()
|
||||||
|
row_count = result[0]
|
||||||
#def insert_track(conn, track):
|
print(f'''\n WHOOP! THE MUSIC LIBRARY CONTAINS {row_count} TRACKS!!
|
||||||
|
--------------------------------------------''')
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
database_create(conn)
|
database_create(conn)
|
||||||
mk_db_entry(conn)
|
mk_db_entry(conn)
|
||||||
|
count_tracks(conn)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
164
mk_show.py
164
mk_show.py
|
@ -7,6 +7,7 @@ from tinytag import TinyTag
|
||||||
from random import shuffle
|
from random import shuffle
|
||||||
import sqlite3, json
|
import sqlite3, json
|
||||||
import uuid
|
import uuid
|
||||||
|
from pypika import Query, Table, Field, Column
|
||||||
|
|
||||||
#from mk_web import *
|
#from mk_web import *
|
||||||
|
|
||||||
|
@ -44,29 +45,47 @@ def set_episode_date(input_date):
|
||||||
print(episode_date)
|
print(episode_date)
|
||||||
|
|
||||||
conn = ''
|
conn = ''
|
||||||
def database_create():
|
def database_create_episodes_table():
|
||||||
# the show database
|
# the show database
|
||||||
global conn
|
global conn
|
||||||
conn = sqlite3.connect("database/show.db")
|
conn = sqlite3.connect("database/show.db")
|
||||||
|
|
||||||
#cursor = conn.cursor()
|
q = Query \
|
||||||
#cursor.execute("DROP TABLE SHOW")
|
.create_table("EPISODES") \
|
||||||
#conn.commit()
|
.columns(
|
||||||
|
Column("id", "INT", nullable=True),
|
||||||
|
Column("episode", "INT", nullable=True),
|
||||||
|
Column("date", 'DATETIME', nullable=True),
|
||||||
|
Column("album", "VARCHAR(200)", nullable=True),
|
||||||
|
Column("track", "VARCHAR(120)", nullable=True),
|
||||||
|
Column("artist", "VARCHAR(120)", nullable=True),
|
||||||
|
Column("trackdur", "FLOAT", nullable=True),
|
||||||
|
Column("genre", "VARCHAR(120)", nullable=True),
|
||||||
|
Column("year", 'DATETIME', nullable=True),
|
||||||
|
Column("path", "VARCHAR(120)", nullable=False))\
|
||||||
|
.primary_key("path")
|
||||||
|
#.unique("path") \
|
||||||
|
#TODO get the unique path back into action find bug
|
||||||
|
conn.execute(str(q))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
print("EPISODES Table created successfully");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
conn.execute('''CREATE TABLE IF NOT EXISTS SHOW(
|
|
||||||
ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
EPISODE INT NOT NULL,
|
|
||||||
DATE TEXT NOT NULL,
|
|
||||||
ALBUM TEXT ,
|
|
||||||
TRACK TEXT NOT NULL,
|
|
||||||
ARTIST TEXT NOT NULL,
|
|
||||||
TRACKDUR FLOAT NOT NULL,
|
|
||||||
GENRE TEXT NOT NULL,
|
|
||||||
YEAR TEXT NOT NULL,
|
|
||||||
PATH TEXT NOT NULL
|
|
||||||
);''')
|
|
||||||
|
|
||||||
print("Table created successfully");
|
|
||||||
|
|
||||||
def create_intro(episode_playlist):
|
def create_intro(episode_playlist):
|
||||||
intropath = path + "audio/texts/clips/this_is"
|
intropath = path + "audio/texts/clips/this_is"
|
||||||
|
@ -104,25 +123,31 @@ def create_episode_playlist(episode_playlist: list, complete_playlist:list):
|
||||||
while episode_duration < 60 * 60 and track_count < 12 :
|
while episode_duration < 60 * 60 and track_count < 12 :
|
||||||
|
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
cursor.execute("SELECT * FROM MUSICLIB ORDER BY RANDOM() LIMIT 1 ;")
|
cursor.execute("SELECT * FROM MUSIC_LIBRARY ORDER BY RANDOM() LIMIT 1 ;")
|
||||||
r = cursor.fetchall()
|
r = cursor.fetchone() # FETCH ONE RANDOM TRACK FROM THE DATABASE
|
||||||
for t in r:
|
print(str(r)+"ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss")
|
||||||
song = str(t[9])
|
# for t in r:
|
||||||
track_label = str(t[1])
|
song = str(r[9])
|
||||||
track_album = str(t[2])
|
track_label = str(r[1])
|
||||||
track_title = str(t[3])
|
track_album = str(r[2])
|
||||||
track_artist = str(t[4])
|
track_title = str(r[3])
|
||||||
track_duration = float(t[6])
|
track_artist = str(r[4])
|
||||||
track_genre = str(t[5])
|
track_duration = float(r[6])
|
||||||
track_year = str(t[7])
|
track_genre = str(r[5])
|
||||||
|
track_year = str(r[7])
|
||||||
track_path = '/'.join(song.split('/')[0:-1])
|
track_path = '/'.join(song.split('/')[0:-1])
|
||||||
|
|
||||||
|
# SOME LOGIC TO SEE IF WE ALLOW THAT TRACK OR NOT
|
||||||
|
|
||||||
|
|
||||||
|
# TODO here we need to append to DB not the static file
|
||||||
if track_artist not in artists_played:
|
if track_artist not in artists_played:
|
||||||
if check_archive(track_title) is True:
|
if check_archive(track_title) is True:
|
||||||
if track_duration > min_track_dur * 60:
|
if track_duration > min_track_dur * 60:
|
||||||
if int(track_duration) < max_track_dur * 60:
|
if int(track_duration) < max_track_dur * 60:
|
||||||
episode_playlist.append(song.rstrip()) # if 'not in' is true then add the song
|
episode_playlist.append(song.rstrip()) # if 'not in' is true then add the song
|
||||||
art = string=re.sub("\(.*?\)","",track_artist)
|
art = string=re.sub("\(.*?\)","",track_artist)
|
||||||
|
print(art + "?????????????????????????????????????????????????????????????????????????????????????")
|
||||||
# shorten verbose artist names such as trojnik Trojnik (Cene Resnik, Tomaž Grom, Vid Drašler)
|
# shorten verbose artist names such as trojnik Trojnik (Cene Resnik, Tomaž Grom, Vid Drašler)
|
||||||
art = string=re.sub("and","&",art)
|
art = string=re.sub("and","&",art)
|
||||||
artist_abreviated.append(art)
|
artist_abreviated.append(art)
|
||||||
|
@ -133,17 +158,16 @@ def create_episode_playlist(episode_playlist: list, complete_playlist:list):
|
||||||
track_year = 0000
|
track_year = 0000
|
||||||
|
|
||||||
|
|
||||||
#long_string = json.dumps(["' SomeWord"])
|
e = Table('EPISODES')
|
||||||
|
q = e.insert(1, episode_number, episode_date, \
|
||||||
print([episode_number, episode_date, \
|
|
||||||
track_album, track_title, track_artist, \
|
track_album, track_title, track_artist, \
|
||||||
track_duration, track_year, track_path])
|
track_duration,track_genre, track_year, track_path)
|
||||||
|
|
||||||
cursor.execute("INSERT INTO SHOW (\
|
cursor.execute(str(q))
|
||||||
ID, EPISODE, DATE, ALBUM, TRACK, ARTIST, TRACKDUR, YEAR, PATH) \
|
# ID, EPISODE, DATE, ALBUM, TRACK, ARTIST, TRACKDUR, YEAR, PATH) \
|
||||||
VALUES (NULL, ?, ?, ?, ?, ?,?,?,? )", [episode_number, episode_date, \
|
# VALUES (NULL, ?, ?, ?, ?, ?,?,?,? )", [episode_number, episode_date, \
|
||||||
track_album, track_title, track_artist, \
|
# track_album, track_title, track_artist, \
|
||||||
track_duration, track_year, track_path]);
|
# track_duration, track_year, track_path]);
|
||||||
conn.commit()
|
conn.commit()
|
||||||
print("sqlite: Episode track successfully inserted into SHOW table");
|
print("sqlite: Episode track successfully inserted into SHOW table");
|
||||||
|
|
||||||
|
@ -219,7 +243,7 @@ def combine_images(columns, space, images, variants:int):
|
||||||
[len(s) for s in [''.join(artist_abreviated[6:9])]][0] > str_length_thresh or \
|
[len(s) for s in [''.join(artist_abreviated[6:9])]][0] > str_length_thresh or \
|
||||||
[len(s) for s in [''.join(artist_abreviated[9:12])]][0] > str_length_thresh:
|
[len(s) for s in [''.join(artist_abreviated[9:12])]][0] > str_length_thresh:
|
||||||
print('''one of the lines is longer than fits the page...
|
print('''one of the lines is longer than fits the page...
|
||||||
...................shuffling the list for a better look''')
|
...................shuffling the list for a better look: {0}'''.format(artist_abreviated))
|
||||||
|
|
||||||
random.shuffle(artist_abreviated)
|
random.shuffle(artist_abreviated)
|
||||||
|
|
||||||
|
@ -353,13 +377,14 @@ def create_podcast(episode_playlist: list):
|
||||||
|
|
||||||
# get length of final show / podcast
|
# get length of final show / podcast
|
||||||
playlist_length = len(playlist) / (1000*60)
|
playlist_length = len(playlist) / (1000*60)
|
||||||
# save the entire poidcast
|
|
||||||
|
|
||||||
|
# save the entire poidcast as FLAC
|
||||||
# with open("html/episode/{0}/show.flac".format(episode_number), 'wb') as out_f:
|
# with open("html/episode/{0}/show.flac".format(episode_number), 'wb') as out_f:
|
||||||
# print("FLAC output file opened...writing to file...")
|
# print("FLAC output file opened...writing to file...")
|
||||||
# playlist.export(out_f, format='flac')
|
# playlist.export(out_f, format='flac')
|
||||||
# print("FLAC audio file exported...")
|
# print("FLAC audio file exported...")
|
||||||
|
|
||||||
|
# save the entire poidcast as MP3
|
||||||
with open("html/episode/{0}/show.mp3".format(episode_number), 'wb') as out_f:
|
with open("html/episode/{0}/show.mp3".format(episode_number), 'wb') as out_f:
|
||||||
print("MP3 output file opened...writing to file...")
|
print("MP3 output file opened...writing to file...")
|
||||||
playlist.export(out_f, format='mp3')
|
playlist.export(out_f, format='mp3')
|
||||||
|
@ -381,7 +406,7 @@ def create_html_homepage_from_template(episode_playlist):
|
||||||
episode_artists = []
|
episode_artists = []
|
||||||
for i in range(10):
|
for i in range(10):
|
||||||
artists = []
|
artists = []
|
||||||
cursor.execute("SELECT ARTIST FROM SHOW WHERE EPISODE=?", [i])
|
cursor.execute("SELECT artist FROM EPISODES WHERE episode=?", [i])
|
||||||
rows = cursor.fetchall()
|
rows = cursor.fetchall()
|
||||||
|
|
||||||
for artist in rows:
|
for artist in rows:
|
||||||
|
@ -402,17 +427,18 @@ def create_html_homepage_from_template(episode_playlist):
|
||||||
episodes = reversed(episodes) # reversed order to most recent episode appears first in list
|
episodes = reversed(episodes) # reversed order to most recent episode appears first in list
|
||||||
|
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
cursor.execute('SELECT * FROM SHOW WHERE EPISODE=?', [episode_number])
|
cursor.execute('SELECT * FROM EPISODES WHERE episode=?', [episode_number])
|
||||||
r = cursor.fetchall()
|
r = cursor.fetchall()
|
||||||
|
|
||||||
for t in r:
|
for t in r:
|
||||||
song = str(t[0])
|
song = str(t[0])
|
||||||
track_label = str(t[1])
|
#track_label = str(t[1])
|
||||||
track_album = str(t[2])
|
track_album = str(t[2])
|
||||||
track_title = str(t[3])
|
track_title = str(t[3])
|
||||||
track_artist = str(t[4])
|
track_artist = str(t[4])
|
||||||
track_duration = float(t[6])
|
track_duration = float(t[6])
|
||||||
track_genre = str(t[5])
|
track_genre = str(t[7])
|
||||||
track_year = str(t[7])
|
track_year = str(t[8])
|
||||||
|
|
||||||
detail = str(track_artist) + " | " + str(track_album) + \
|
detail = str(track_artist) + " | " + str(track_album) + \
|
||||||
" | " + str(track_title) + " | " + str(track_year) + \
|
" | " + str(track_title) + " | " + str(track_year) + \
|
||||||
|
@ -442,27 +468,33 @@ def create_html_episode_from_template(episode_playlist):
|
||||||
|
|
||||||
# maybe a jinja2 template loop here instead
|
# maybe a jinja2 template loop here instead
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
cursor.execute('SELECT * FROM SHOW WHERE EPISODE=?', [episode_number])
|
|
||||||
|
e = Table('EPISODES')
|
||||||
|
q = Query.from_(e).select(
|
||||||
|
e.episode
|
||||||
|
).where(
|
||||||
|
e.episode == episode_number)
|
||||||
|
# raw 'SELECT * FROM EPISODES WHERE EPISODE=?', [episode_number]
|
||||||
|
cursor.execute('SELECT * FROM EPISODES WHERE EPISODE=?', [episode_number])
|
||||||
|
|
||||||
r = cursor.fetchall()
|
r = cursor.fetchall()
|
||||||
for t in r:
|
for t in r:
|
||||||
song = str(t[0])
|
song = str(t[0])
|
||||||
track_label = str(t[1])
|
#track_label = str(t[1])
|
||||||
track_album = str(t[2])
|
track_album = str(t[3])
|
||||||
track_title = str(t[3])
|
track_title = str(t[4])
|
||||||
track_artist = str(t[4])
|
track_artist = str(t[5]).upper()
|
||||||
track_duration = float(t[6])
|
track_duration = float(t[6])
|
||||||
track_genre = str(t[5])
|
track_genre = str(t[7])
|
||||||
track_year = str(t[7])
|
track_year = str(t[8])
|
||||||
|
|
||||||
# for i in episode_playlist: # liar od files
|
|
||||||
#for i in cur: # liar od files
|
|
||||||
|
|
||||||
#track = TinyTag.get(i)
|
|
||||||
detail = str(track_artist) + " | " + str(track_album) + \
|
detail = str(track_artist) + " | " + str(track_album) + \
|
||||||
" | " + str(track_title) + " | " + str(track_year) + \
|
" | " + str(track_title) + " | " + str(track_year) + \
|
||||||
" | " + str(timedelta(seconds=round(track_duration)))
|
" | " + str(timedelta(seconds=round(track_duration)))
|
||||||
show_info.append("" + detail)
|
show_info.append("" + detail)
|
||||||
|
|
||||||
|
#TODO FIX THIS UP TO SEND COLUMNS FROM LIST TO JINJA
|
||||||
|
|
||||||
output_from_parsed_template = episode_template.render(\
|
output_from_parsed_template = episode_template.render(\
|
||||||
show_name=show_name, episode_author="Rob Canning",\
|
show_name=show_name, episode_author="Rob Canning",\
|
||||||
episode_duration=episode_duration, \
|
episode_duration=episode_duration, \
|
||||||
|
@ -490,25 +522,29 @@ def create_RSS_XML_from_template():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
database_create()
|
database_create_episodes_table()
|
||||||
|
|
||||||
set_episode_date(input_date)
|
set_episode_date(input_date)
|
||||||
create_episode_playlist(episode_playlist, complete_playlist)
|
create_episode_playlist(episode_playlist, complete_playlist)
|
||||||
create_show_coverart(episode_playlist, 1) #episode_duration = 100
|
create_show_coverart(episode_playlist, 1) #episode_duration = 100
|
||||||
#create_animated_gif()
|
#create_animated_gif()
|
||||||
|
|
||||||
|
|
||||||
create_intro(episode_playlist)
|
create_intro(episode_playlist)
|
||||||
create_pls_file()
|
create_pls_file()
|
||||||
|
|
||||||
create_html_homepage_from_template(episode_playlist)
|
|
||||||
create_html_episode_from_template(episode_playlist)
|
create_html_episode_from_template(episode_playlist)
|
||||||
|
create_html_homepage_from_template(episode_playlist)
|
||||||
create_RSS_XML_from_template()
|
create_RSS_XML_from_template()
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
create_podcast(episode_playlist)
|
create_podcast(episode_playlist)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#convert -delay 100 -loop 0 html/episode/2/img/show_cover_2024-01-12* animatedGIF.gif
|
#convert -delay 100 -loop 0 html/episode/2/img/show_cover_2024-01-12* animatedGIF.gif
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
|
|
||||||
|
Stampede
|
||||||
|
Vrtnice
|
||||||
|
zvoki iz dnevne sobe
|
||||||
|
jez
|
||||||
|
The Left Eye
|
||||||
|
NeoPogo - FeS2
|
||||||
|
BE CREEP - Burnt Dreams
|
||||||
|
Zlatko Kaučič, Tomaž Grom - Torn Memories Of Folklore - Raztrgana folklora spomina - 08 Almost The Same
|
||||||
|
The Mother (Act VII)
|
||||||
一点一滴
|
一点一滴
|
||||||
BE CREEP - LIVE
|
Jean-Luc Guionnet & Samo Kutin - Kopaš - 02 02
|
||||||
Todestriebe
|
Vertex
|
||||||
The Great White Buffalo
|
|
||||||
Liqweed
|
|
||||||
Keep An Eye On That Ice Cream
|
|
||||||
Kaverna
|
|
||||||
Jošt Drašler - The Balloon Catcher - 03 Water Balloon
|
|
||||||
Magie de la Pleine Lune
|
|
||||||
Domen Gnezda - Misnomer II - 16 Misnomer 38
|
|
||||||
All is silent, All is dead
|
|
||||||
Exit Lover
|
|
||||||
|
|
2
runme.sh
2
runme.sh
|
@ -8,7 +8,7 @@ rm html/index.html
|
||||||
|
|
||||||
show_dates=(2024-03-03 2024-03-10 2024-03-17 2024-03-24 2024-03-31 2024-03-31 2024-03-31 2024-03-31 2024-03-31 )
|
show_dates=(2024-03-03 2024-03-10 2024-03-17 2024-03-24 2024-03-31 2024-03-31 2024-03-31 2024-03-31 2024-03-31 )
|
||||||
|
|
||||||
counter= # set this as input argument to set what episode to start creating from...
|
counter=0 # set this as input argument to set what episode to start creating from...
|
||||||
|
|
||||||
episodes=12 # set this as another input argument for how many episodes to produce
|
episodes=12 # set this as another input argument for how many episodes to produce
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue