Compare commits
2 Commits
6393c9e187
...
2e110521e6
| Author | SHA1 | Date | |
|---|---|---|---|
| 2e110521e6 | |||
| ef06282eb1 |
62
breakbeat_temas songs
Normal file
62
breakbeat_temas songs
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
01 - Raw As F**k - The Slammer (12" Vinyl HD)
|
||||||
|
02 - Crack DJ's - OK Run!
|
||||||
|
03 - Unsolved Mysteries
|
||||||
|
04 - Lords of Motion (Breaks Remix) (Aquasky Vs. Masterblaster)
|
||||||
|
05 - X-Ray (Follow Me)
|
||||||
|
06 - Tu Café (Deekline & Ed Solo Remix)
|
||||||
|
07 - Cut & Run - No Good
|
||||||
|
08 - Multiply & ED 209 - You Nnow
|
||||||
|
09 - Josh Wink - Higher State Of Consciousness Original
|
||||||
|
10 - Buzzthrill - Everybody In The House (Get Some Mix)
|
||||||
|
11 - sugar - the feeling (powertools acid funk mix)
|
||||||
|
12 - Friction & Spice - Groove Me (Original Mix)
|
||||||
|
13 - Lula - Man = Drug (Sfx Beat Remix)
|
||||||
|
14 - MOSEH NAIM - NEEM (Shooting Star)
|
||||||
|
15 - DA HOOL :: Hypochondria (KULTÜR Breaks Remix)
|
||||||
|
16 - monstah freakz - thats right! (dj kultur + jan-b remix)
|
||||||
|
17 - Milk Inc - La Vache ( Kultur Remix) + Lula - Men&Drugs (Rasco&Isy Remix)
|
||||||
|
18 - LA RISSA - I DO BOTH JAY AND JANE (Sireena Breakbeat)
|
||||||
|
19 - WOOKIE - BACK UP (Dj Zinc Remix)
|
||||||
|
20 - GROOVKIDZ - I FEEL THIS WAY (DJ Razzz & Mojo´s Ultrapure Mix)
|
||||||
|
21 - Dj Mike B - Feel My Energy (Original Mix)
|
||||||
|
22 - Da Antidote
|
||||||
|
23 - Disco Biscuit (Remastered)
|
||||||
|
24 - Dj Quest & Ken Mac vs Backdraft - The Prophecy
|
||||||
|
25 - FROG JUNKIES AIR GUITAR serious acid mix
|
||||||
|
26 - The Dust Brothers - Chemical Beats
|
||||||
|
27 - You And Me
|
||||||
|
28 - Hankook - 303 (Original Mix) [Distortion Records]
|
||||||
|
29 - Micro - Fall Into Me (DJ Icey Remix)
|
||||||
|
30 - DJ Defkline And Red Polo - Felix Hustle
|
||||||
|
31 - Kiero Breakbeat
|
||||||
|
32 - BASCO - THE BEAT IS OVER (Original Mix)
|
||||||
|
33 - Krome & Time - The Slammer (1993)
|
||||||
|
34 - Brothers Of Dub -Same Frequency ( Future Funk Squad's 'Sonic Correction' Remix ) [ FREE DOWNLOAD ]
|
||||||
|
35 - Nasty
|
||||||
|
36 - Fresh Flamenco
|
||||||
|
37 - Don't you want me (Breakbeat)
|
||||||
|
38 - 1993
|
||||||
|
39 - Feel The Vibe
|
||||||
|
40 - Breaks | Müme - Finger Lickin [Phreak Recordings]
|
||||||
|
41 - Mute (ES) - Old School Flavour (Original Mix) [Distorsion Records]
|
||||||
|
42 - Karma
|
||||||
|
43 - Perfect Kombo Ft. Viper X - Go To The Guadalpark (Original Mix).wmv
|
||||||
|
44 - Tucu Tucu
|
||||||
|
45 - Cat Hedral
|
||||||
|
46 - Oscar - M.A.D. (Mental Ability To Be Different)
|
||||||
|
47 - The Dj's Project - Funk-Da-Fried-Party (Original Mix)
|
||||||
|
48 - Dylan Rhymes - Naked & Ashamed (Original Mix)
|
||||||
|
49 - Buzzthrill - Come With Me (Kelly Reverb She's A Goner Mix)
|
||||||
|
50 - Red Alien Feat. Afrika Islam - Red Alien (Zulu Beats Mix)
|
||||||
|
51 - Envelope - Electronic Love (Extended Mix)
|
||||||
|
52 - DJ I.C.O.N. - Voco Me (Breakbeat Remix)
|
||||||
|
53 - House Empire - Excuse Me (Break Beat Mix)
|
||||||
|
54 - Let's Get Loco
|
||||||
|
55 - Scania
|
||||||
|
56 - Death Race
|
||||||
|
57 - Mike Reitmayer - Cafe Del Mar (Remix 5° Aniversario)
|
||||||
|
58 - 2 Funky in Here (Maceo Rivas & Dr Black Sheep Remix)
|
||||||
|
59 - Novy vs Eniac – Smoke Dis (Original Mix) [Breakbeat]
|
||||||
|
60 - X-Perimental II
|
||||||
|
61 - DJ Icey - Low Down Good Girl
|
||||||
|
62 - Electroliners - Loose Caboose
|
||||||
@@ -30,7 +30,7 @@ def get_playlist_length(youtube, playlist_id):
|
|||||||
|
|
||||||
return playlist_info['items'][0]['contentDetails']['itemCount']
|
return playlist_info['items'][0]['contentDetails']['itemCount']
|
||||||
|
|
||||||
def list_songs(youtube, channel_id):
|
def list_songs(youtube, channel_id, stdout=False):
|
||||||
max_results = 50
|
max_results = 50
|
||||||
request = youtube.playlistItems().list(
|
request = youtube.playlistItems().list(
|
||||||
part="snippet,contentDetails",
|
part="snippet,contentDetails",
|
||||||
@@ -41,9 +41,15 @@ def list_songs(youtube, channel_id):
|
|||||||
print()
|
print()
|
||||||
|
|
||||||
# Process the first page of results
|
# Process the first page of results
|
||||||
|
deleted = 0
|
||||||
|
songs_list = []
|
||||||
|
|
||||||
for idx, item in enumerate(response['items'], start=1):
|
for idx, item in enumerate(response['items'], start=1):
|
||||||
title = item['snippet']['title']
|
title = item['snippet']['title']
|
||||||
print(f"{idx:02d} - {title}")
|
if title == "Deleted video":
|
||||||
|
deleted += 1
|
||||||
|
continue
|
||||||
|
songs_list.append(f"{idx-deleted:02d} - {title}")
|
||||||
|
|
||||||
# Continue making requests for additional pages using pageToken
|
# Continue making requests for additional pages using pageToken
|
||||||
new_starting = 51
|
new_starting = 51
|
||||||
@@ -55,11 +61,27 @@ def list_songs(youtube, channel_id):
|
|||||||
pageToken=response['nextPageToken']
|
pageToken=response['nextPageToken']
|
||||||
)
|
)
|
||||||
response = request.execute()
|
response = request.execute()
|
||||||
|
|
||||||
# Process the results for the additional pages
|
# Process the results for the additional pages
|
||||||
for idx, item in enumerate(response['items'], start=new_starting):
|
for idx, item in enumerate(response['items'], start=new_starting):
|
||||||
title = item['snippet']['title']
|
title = item['snippet']['title']
|
||||||
print(f"{idx:02d} - {title}")
|
if title == "Deleted video":
|
||||||
|
deleted += 1
|
||||||
|
continue
|
||||||
|
songs_list.append(f"{idx-deleted:02d} - {title}")
|
||||||
new_starting += 50
|
new_starting += 50
|
||||||
|
|
||||||
|
if stdout:
|
||||||
|
# Print to standard output
|
||||||
|
print("\n".join(songs_list))
|
||||||
|
|
||||||
|
get_key_by_value = lambda dict, val: next((k for k, v in dict.items() if v == val), None)
|
||||||
|
|
||||||
|
channel_name = get_key_by_value(channels, channel_id)
|
||||||
|
|
||||||
|
# Save to file if output_file is provided
|
||||||
|
with open(f"{channel_name} songs", 'w', encoding='utf-8') as file:
|
||||||
|
file.write("\n".join(songs_list))
|
||||||
|
|
||||||
def add_song(youtube, channel_id, song):
|
def add_song(youtube, channel_id, song):
|
||||||
pos = get_playlist_length(youtube, channel_id)
|
pos = get_playlist_length(youtube, channel_id)
|
||||||
@@ -83,23 +105,17 @@ def add_song(youtube, channel_id, song):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description="Manage YouTube playlist songs.")
|
parser = argparse.ArgumentParser(description="Manage YouTube playlist songs.")
|
||||||
parser.add_argument("channel_name", help="Name of the YouTube channel")
|
parser.add_argument("-l", "--list", action="store_true", help="List songs in the playlist")
|
||||||
parser.add_argument(
|
parser.add_argument("-a", "--add", metavar="song", help="Add a song to the playlist")
|
||||||
"--list",
|
parser.add_argument("channel_name", help="Name of the playlist")
|
||||||
action="store_true",
|
|
||||||
help="List all songs in the playlist"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--add",
|
|
||||||
nargs=2,
|
|
||||||
metavar=("channel", "song"),
|
|
||||||
help="Add to the playlist a song"
|
|
||||||
)
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
channel_name = args.channel_name
|
channel_name = args.channel_name
|
||||||
channel_id = channels.get(channel_name)
|
channel_id = channels.get(channel_name)
|
||||||
|
|
||||||
|
if not args.list and not args.add:
|
||||||
|
parser.error("Please provide either -l or -a option.")
|
||||||
|
|
||||||
if not channel_id:
|
if not channel_id:
|
||||||
print(f"Error: Channel '{channel_name}' not found.")
|
print(f"Error: Channel '{channel_name}' not found.")
|
||||||
return
|
return
|
||||||
@@ -121,16 +137,14 @@ def main():
|
|||||||
credentials=credentials)
|
credentials=credentials)
|
||||||
|
|
||||||
if args.list:
|
if args.list:
|
||||||
list_songs(youtube, channel_id)
|
list_songs(youtube, channel_id, stdout=False)
|
||||||
elif args.add:
|
elif args.add:
|
||||||
target_channel, song = args.add
|
song = args.add
|
||||||
# # this assumes a song is passed as in either of the following ways
|
# # this assumes a song is passed as in either of the following ways
|
||||||
# # https://youtu.be/eEnyi9L6KP4 --> split by "/"
|
# # https://youtu.be/eEnyi9L6KP4 --> split by "/"
|
||||||
# # https://youtube.com/watch?v=Ez-gizOF0Wo --> split by "="
|
# # https://youtube.com/watch?v=Ez-gizOF0Wo --> split by "="
|
||||||
song = re.split(r"/|=", song)[-1]
|
song = re.split(r"/|=", song)[-1]
|
||||||
add_song(youtube, channels.get(target_channel), song)
|
add_song(youtube, channel_id, song)
|
||||||
else:
|
|
||||||
print("Invalid command. Use --list or --add.")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
Reference in New Issue
Block a user