2025-03-12 12:42:17 +01:00

70 lines
2.3 KiB
Python

import os
import re
def extract():
result = {}
working_dir = os.path.dirname(os.path.realpath(__file__))
rpp_filename = os.path.join(working_dir, '..', r'project.rpp')
with open(rpp_filename, mode='r', encoding='utf-8') as rpp_file:
rpp_content = rpp_file.readlines()
for rpp_content_line in rpp_content:
pattern = r'^.*<S&M_RGN_PLAYLIST(.*)$'
if re.match(pattern, rpp_content_line):
playlist_name = re.findall(pattern, rpp_content_line)
if playlist_name:
playlist_name = playlist_name[0].strip()
pattern = r'^(.*) 1$'
if re.match(pattern, playlist_name):
playlist_name = re.findall(pattern, playlist_name)
playlist_name = playlist_name[0]
playlist_name = playlist_name.replace('"', '')
result[playlist_name] = []
for playlist_name in result:
is_playlist = False
for rpp_content_line in rpp_content:
pattern = r'^.*>.*$'
if re.match(pattern, rpp_content_line):
is_playlist = False
if is_playlist:
playlist_item = rpp_content_line.strip()
playlist_item = playlist_item[:-2]
playlist_item = playlist_item[8:]
playlist_item = int(playlist_item) - 24
for rpp_content_line2 in rpp_content:
pattern = r'^.*MARKER ' + str(playlist_item) + ' .*".+".*{.*}.*$' # Ouch
if re.match(pattern, rpp_content_line2):
item = rpp_content_line2.strip()
item = item.split('"')[1]
result[playlist_name].append(item)
pattern = r'^.*' + playlist_name + '.*$'
if re.match(pattern, rpp_content_line):
is_playlist = True
save2csv(result)
def save2csv(result):
for playlist in result:
working_dir = os.path.dirname(os.path.realpath(__file__))
playlist_file_name = os.path.join(working_dir, playlist + '.csv')
with open(playlist_file_name, mode='w', encoding="iso-8859-1") as playlist_file:
for item in result[playlist]:
playlist_file.write(item + '\n')
if __name__ == '__main__':
extract()