История изменений
Исправление
Psych218,
(текущая версия)
:
#!/usr/bin/python
import sys
tracklist = sys.stdin.read()
CUE_TEMPLATE = ''' TRACK {:02} AUDIO
TITLE "{}"
INDEX 01 {:02}:{:02}:00'''
def line_to_cue(s):
n, startpoint, title = s.split('/', 2)
n = int(n.strip(" ."))
startpoint = [int(x) for x in startpoint.strip().split(':')]
if len(startpoint) == 2:
startpoint = [0] + startpoint
minutes = startpoint[0]*60 + startpoint[1]
seconds = startpoint[2]
title = title.strip()
return CUE_TEMPLATE.format(n, title, minutes, seconds)
print('FILE "YOUTUBE.mp3" MP3')
for line in tracklist.split("\n"):
print(line_to_cue(line))
Вот по-быстрому. Если не говнокодить, а повдумчивее сделать, то да, больше пяти минут займёт.
На вход принимает такой вот треклист, выводит cue (насколько я формат этого самого cue помню, такой ведь должен быть?):
FILE "YOUTUBE.mp3" MP3
TRACK 01 AUDIO
TITLE "bl00dwave - radio jpn"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "CYBEREALITYライフ - ヒスイ t e m p l e"
INDEX 01 02:46:00
TRACK 03 AUDIO
TITLE "Luxury Elite - Vengeance"
INDEX 01 04:24:00
TRACK 04 AUDIO
TITLE "m ai t r o - SNAKE WAY 蛇の道"
INDEX 01 06:38:00
TRACK 05 AUDIO
TITLE "Silver Richards - Ocean Breeze"
INDEX 01 09:05:00
TRACK 06 AUDIO
TITLE "猫 シ Corp. x Patrol1993 - Congratulatory Message"
INDEX 01 11:00:00
TRACK 07 AUDIO
TITLE "t e l e p a t h テレパシー能力者 - 愛"
INDEX 01 12:53:00
TRACK 08 AUDIO
TITLE "CVLTVRΣ - Sailing By The Waves"
INDEX 01 15:06:00
TRACK 09 AUDIO
TITLE "Master Stryker マスターストライカー - Okinawa Sunset"
INDEX 01 17:38:00
TRACK 10 AUDIO
TITLE "SAINT PEPSI - Nova"
INDEX 01 20:03:00
TRACK 11 AUDIO
TITLE "ULTRA ウルトラ - C O N N E C T 自然"
INDEX 01 21:48:00
TRACK 12 AUDIO
TITLE "コンシャスTHOUGHTS - Still In Love"
INDEX 01 24:12:00
TRACK 13 AUDIO
TITLE "BBRAINZ - Atlantico"
INDEX 01 27:48:00
TRACK 14 AUDIO
TITLE "bl00dwave - VIRTUAL LONELINESS"
INDEX 01 29:22:00
TRACK 15 AUDIO
TITLE "ESPRIT 空想 - 痴心妄想"
INDEX 01 31:42:00
TRACK 16 AUDIO
TITLE "18 Carat Affair - Modus Operandi"
INDEX 01 33:02:00
TRACK 17 AUDIO
TITLE "Clinton Affair x ULTRA ウルトラ - フェム f a t a l e"
INDEX 01 35:09:00
TRACK 18 AUDIO
TITLE "Luxury Elite x マクロスMACROSS 82-99 - ウォーク·オン·バイ"
INDEX 01 37:02:00
TRACK 19 AUDIO
TITLE "ローマンRoman - シドニーSYDNEY"
INDEX 01 40:06:00
TRACK 20 AUDIO
TITLE "VentureX - First Love"
INDEX 01 42:03:00
TRACK 21 AUDIO
TITLE "bl00dwave x 猫 シ Corp. - PALM CITY"
INDEX 01 45:45:00
TRACK 22 AUDIO
TITLE "VHSテープリワインダ - Baby"
INDEX 01 47:34:00
TRACK 23 AUDIO
TITLE "CVLTVRΣ - Menthol Gallery ❑ ❖ ❒ メントールギャラリー"
INDEX 01 49:18:00
TRACK 24 AUDIO
TITLE "bl00dwave - 4LUX"
INDEX 01 52:10:00
TRACK 25 AUDIO
TITLE "Infinity Frequencies - Y∞U & ME"
INDEX 01 53:30:00
TRACK 26 AUDIO
TITLE "t e l e p a t h テレパシー能力者 - あなたの目で失わ"
INDEX 01 58:09:00
TRACK 27 AUDIO
TITLE "Yuni Wa - Hold On To You"
INDEX 01 61:09:00
TRACK 28 AUDIO
TITLE "情報デスクVIRTUAL - 街へSAPPORO✔✔✔ SPRING EQUINOX"
INDEX 01 64:34:00
TRACK 29 AUDIO
TITLE "CYBEREALITYライフ x Architecture In Tokyo - MELTNET"
INDEX 01 66:48:00
TRACK 30 AUDIO
TITLE "Clinton Affair - Here & Now"
INDEX 01 68:39:00
TRACK 31 AUDIO
TITLE "SPACE MAGIC スペース マジック - POLICE WORK"
INDEX 01 70:19:00
TRACK 32 AUDIO
TITLE "vice-AIRバイス-空気自然の愛 - call center コールセンター"
INDEX 01 72:24:00
TRACK 33 AUDIO
TITLE "bl00dwave - 24 hours"
INDEX 01 73:47:00
TRACK 34 AUDIO
TITLE "Architecture In Tokyo - Surf ~ Forever"
INDEX 01 76:01:00
TRACK 35 AUDIO
TITLE "Infinite Quazar - Grand Prix"
INDEX 01 77:32:00
TRACK 36 AUDIO
TITLE "Phoenix #2772 - Beauty Exchange"
INDEX 01 80:59:00
TRACK 37 AUDIO
TITLE "猫 シ Corp. - Oceanデート"
INDEX 01 83:15:00
TRACK 38 AUDIO
TITLE "死夢VANITY - 美しさ"
INDEX 01 86:28:00
TRACK 39 AUDIO
TITLE "CVLTVRΣ - C:/ レンズ Login"
INDEX 01 88:20:00
TRACK 40 AUDIO
TITLE "BBRAINZ - Forgive"
INDEX 01 91:50:00
TRACK 41 AUDIO
TITLE "Silver Richards - Sunset"
INDEX 01 94:17:00
TRACK 42 AUDIO
TITLE "t e l e p a t h テレパシー能力者 - b l i s s"
INDEX 01 96:54:00
TRACK 43 AUDIO
TITLE "ULTRA ウルトラ - データ LIFE STREAM"
INDEX 01 100:51:00
TRACK 44 AUDIO
TITLE "LASERDISC VISIONS - Tingri"
INDEX 01 103:16:00
TRACK 45 AUDIO
TITLE "m ai t r o - Make It Last"
INDEX 01 105:08:00
TRACK 46 AUDIO
TITLE "Luxury Elite - Hott Line"
INDEX 01 107:16:00
TRACK 47 AUDIO
TITLE "POCARI ステューシー - Infinite Moments"
INDEX 01 109:40:00
TRACK 48 AUDIO
TITLE "ESPRIT 空想 - Mindless"
INDEX 01 111:33:00
TRACK 49 AUDIO
TITLE "bl00dwave - away"
INDEX 01 113:02:00
TRACK 50 AUDIO
TITLE "2814 - 恢复"
INDEX 01 114:55:00
TRACK 51 AUDIO
TITLE "Aloe Island Posse - Last Flight (Departure)"
INDEX 01 120:35:00
Исходная версия
Psych218,
:
#!/usr/bin/python
import sys
tracklist = sys.stdin.read()
CUE_TEMPLATE = ''' TRACK {:02} AUDIO
TITLE "{}"
INDEX 01 {:02}:{:02}:00'''
def line_to_cue(s):
n, startpoint, title = s.split('/', 2)
n = int(n.strip(" ."))
startpoint = [int(x) for x in startpoint.strip().split(':')]
if len(startpoint) == 2:
startpoint = [0] + startpoint
minutes = startpoint[0]*60 + startpoint[1]
seconds = startpoint[2]
title = title.strip()
return CUE_TEMPLATE.format(n, title, minutes, seconds)
print('FILE "YOUTUBE.mp3" MP3')
for line in tracklist.split("\n"):
print(line_to_cue(line))
Вот по-быстрому. Если не говнокодить, а повдумчивее сделать, то да, больше пяти минут займёт.
На вход принимает такой вот треклист, выводит cue (насколько я формат этого самого cue помню).