-
Notifications
You must be signed in to change notification settings - Fork 0
/
display.py
109 lines (91 loc) · 7.29 KB
/
display.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import os
ascii_top = """
\t█████████████████████████████████████████████████████████████████████████████████████████████
\t█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒
\t█▒ █▒
\t█▒ ARTIST NAME ALBUM NAME YEAR GENRE LENGTH █▒
\t█▒ █▒"""
ascii_bottom = """\
\t█▒ █▒
\t█████████████████████████████████████████████████████████████████████████████████████████████▒
\t ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
"""
report_top = """
\t█████████████████████████████████████████████████████████████████████████████████████████████
\t█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒
\t█▒ █▒
\t█▒ MUSIC COLLECTOR █▒
\t█▒ █▒
\t█▒ FULL REPORT █▒
\t█▒ █▒"""
reaport_bottom = """\
\t█▒ █▒
\t█████████████████████████████████████████████████████████████████████████████████████████████▒
\t ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
"""
program_top = """
\t█████████████████████████████████████████████████████████████████████████████████████████████
\t█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒
\t█▒ █▒
\t█▒ MUSIC COLLECTOR █▒
\t█▒ █▒
\t█▒ ɴᴏᴡ ᴘʟᴀʏɪɴɢ: Despacito ───────────────⚪─────────────────────────── █▒
\t█▒ ◄◄⠀▐▐ ⠀►►⠀⠀ ⠀ 1:17 / 3:48 ⠀VOLUME 🔊 ▁▂▃▄▅▆▇ 150% ───○ ⠀ ᴴᴰ ⚙ ❐ ⊏⊐ █▒"""
program_bottom = """\
\t█▒ █▒
\t█████████████████████████████████████████████████████████████████████████████████████████████▒
\t ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
"""
#check how many spaces we need to make columns straight
def fill (check_for_length, total_length, filler):
space = ""
for i in range(len(check_for_length), total_length):
space += filler
return space
def print_collection(collection, title="", count_results="", clear_screen = False):
if clear_screen:
os.system('clear')
print(f"\n\t {title}")
if count_results != "":
print(f"\t Results: {count_results}")
print(ascii_top)
for key, entry in collection.items():
artist = entry.get("artist")[0:23]
album = entry.get("album")[0:29]
year = entry.get("release_year")[0:7]
genre = entry.get("genre")[0:19]
album_length = entry.get("length")[0:6]
space1 = fill(artist, 24, " ")
space2 = fill(album, 30, " ")
space3 = fill(year, 8, " ")
space4 = fill(genre, 20, " ")
space5 = fill(album_length, 6, " ")
print(f"\t█▒ {artist}{space1}{album}{space2}{year}{space3}{genre}{space4}{space5}{album_length} █▒")
print(ascii_bottom)
#print("\n")
def print_options(program_start = False):
if program_start:
os.system('clear')
print(program_top)
print(program_bottom)
print("\n")
print("\t1 - View all albums")
print("\t2 - Find all albums by genre")
print("\t3 - Find all albums from given time range")
print("\t4 - Find shortest/longest album")
print("\t5 - Find all albums created by given artist")
print("\t6 - Find album by album name")
print("\t7 - Full report")
print("\t8 - Add album")
print("\t9 - Remove album")
print("\t0 - Save to file")
print("\t10 - Import from file")
def additional_info(albums, odlest_album, youngest_album, genres, total_length):
print(report_top)
print(reaport_bottom)
print("\n")
print(f"\tAlbums: {albums}")
print(f"\tRelease years: {odlest_album}-{youngest_album}")
print(f"\tGenres: {genres}")
print(f"\tTotal length: {total_length}")
print("\n")