"https://creativecommons.org/licenses/by-sa/4.0/": "CC BY-SA 4.0",
"https://www.gnu.org/licenses/fdl-1.3.en.html": "GFDL 1.3" }
-print('<ul>')
+entries = []
with open('lp2023-video-import.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in spamreader:
- license = ""
- print('<li><a href="GNUAV/lp2023_audio/lp2023-' + re.sub("[.]webm$", ".ogg", row[4]) + '">' + row[0] + ': ' + row[1] + '</a> (<a href="' + row[2] + '">' + licenses[row[2]] + '</a>)</li>')
+ authors = row[0]
+ description = row[1]
+ license_link = row[2]
+ license_name = licenses[row[2]]
+ audio_file = re.sub("[.]webm$", ".ogg", row[4])
+
+ entries.append((audio_file, ' <li><a href="GNUAV/lp2023_audio/lp2023-{}">{}: {}</a> (<a href="{}">{}</a>)</li>'.format(audio_file, authors, description, license_link, license_name)))
+
+# replacing 'neptune-' with 'z-' affects sort order, placing it last
+entries = sorted(entries, key=lambda entry: re.sub("neptune-", "z-", entry[0]))
+
+print('<ul>')
+for entry in entries:
+ print(entry[1])
print('</ul>')