def __init__(self, path_to_excel, debug=False): self.excel = FilenameExcel(path_to_excel) self.file_list = self.excel.get_rows() self.discogs_client = Discogs() self.filtered_list = [] self.full_properties_list = [] self.no_properties_found_list = [] self.debug = debug self.sleep_seconds = 3
def __init__(self, arguments): 'Main entry point for iTunes-Discogs.' self.arguments = arguments self.config = Config(arguments.home) self.model = Model(self.config, arguments.database) self.itunes = iTunes(self.model, arguments.library) self.discogs = Discogs(self.model, arguments.junk) if arguments.cli: if not arguments.playlist: arguments.playlist = 'Library' for playlist in self.get_playlists().values(): if playlist.Name == arguments.playlist: self._process_playlist(playlist) else: Window(self) self.shutdown()
def __init__(self, filepath, delimiter=',', encoding='utf-8', quotechar='"'): self.discogs = Discogs() self.filepath = filepath self.delimiter = delimiter self.encoding = encoding self.quotechar = quotechar self.search_terms = ('title', 'artist', 'format', 'album', 'label', 'year') self.output_csv = 'output.csv' if not os.path.exists('images/'): os.mkdir('images/') self.image_path = 'images/' self.get_columns() self.get_param_dict()
import logging import traceback folders = Folder(ENV_PATHS) # print(style.green('\n' + MY_PATH)) for folder in folders: print(style.yellow('\n---\n')) print(style.green(folder)) print() files = File(folder) try: discogs = Discogs(files) except Exception as e: print(style.red('some error happened...')) logging.error(traceback.format_exc()) continue if discogs == ENV_TAGGING_DONE: print(style.yellow(ENV_TAGGING_DONE)) continue if discogs == ENV_TAGGING_TODO: print(style.yellow(ENV_TAGGING_TODO)) continue Tagger(files, discogs)
def main(): if "--version" in sys.argv[1:] or "-v" in sys.argv[1:]: print(f"ytam version {version.version}") exit() if "--check" in sys.argv[1:] or "-k" in sys.argv[1:]: print("Initialising.") urls = Playlist( "https://www.youtube.com/playlist?list=PLOoPqX_q5JAVPMhHjYxcUc2bxTDMyGE-a" ) playlist_title = urls.title start = 0 end = len(urls) album = "Test Album" directory = f"music{SEP}" artist = "Test Artist" is_album = True proxies = None image = f"{BASE}{SEP}check{SEP}check.jpg" titles = f"{BASE}{SEP}check{SEP}check.txt" mp3 = True else: print("Initialising.") args = parse_args(sys.argv[1:]) mp3 = args.mp3 urls = Playlist(args.url) playlist_title = urls.title start = 0 if args.start is None else args.start - 1 end = len(urls) if args.end is None else args.end directory = f"music{SEP}" if args.directory is None else args.directory proxies = None if args.proxy is not None: proxy_strings = [proxy.strip() for proxy in args.proxy.split(" ")] proxies = {} for proxy_string in proxy_strings: p = proxy_string.split("-") proxies[p[0]] = p[1] if args.discogs is not None: # do discogs error checks here try: d = Discogs(args.discogs) d.make_file(DEFAULT_TITLES) if (end - start) != d.num_tracks: raise error.TracknumberMismatchError( playlist_title, d.album) is_album = True album = d.album artist = d.artist image = d.image titles = DEFAULT_TITLES except (error.WrongMetadataLinkError, error.BrokenDiscogsLinkError, error.TracknumberMismatchError) as e: print(f"Error: {e.message}") exit() else: album = playlist_title if args.album is None else args.album artist = "Unknown" if args.artist is None else args.artist is_album = False if args.album is None else True image = args.image titles = args.titles colorama.init() d = None try: if start >= len(urls): raise error.InvalidPlaylistIndexError(start, playlist_title) if end < start: raise error.IndicesOutOfOrderError() downloading_message = f"Downloading songs {font.apply('gb', start+1)} - {font.apply('gb', end)} from playlist {font.apply('gb', playlist_title)}" text_len = (len("Downloading songs ") + len(str(start)) + len(" - ") + len(str(end)) + len(" from playlist ") + len(playlist_title)) print(downloading_message, f"\n{font.apply('gb', '─'*text_len)}") d = Downloader( list(enumerate(urls[start:end])), len(urls), album, directory, artist, is_album, titles, image, proxies, mp3, ) d.start = start retry = True while retry: d.download() print(f"{font.apply('gb', '─'*text_len)}") print( f"{d.successful}/{len(urls[start:end])} downloaded successfully.\n" ) if len(d.retry_urls) > 0: d.set_retries() urls_copy = d.urls.copy() user = input( f"Retry {font.apply('fb', str(len(list(urls_copy))) + ' failed')} downloads? Y/N " ) if not is_affirmative(user): retry = False else: print("\nRetrying.") print(f"{font.apply('gb', '─'*len('Retrying.'))}") else: retry = False except ( error.InvalidPlaylistIndexError, error.IndicesOutOfOrderError, error.TitlesNotFoundError, error.BadTitleFormatError, ) as e: print(f"Error: {e.message}")
from discord.ext import commands import random import requests discordToken = "" filename = "D:/Repos/AudioManiac-Bot/credentials.json" if filename: with open(filename, 'r') as f: data = json.load(f) discordToken = data["discordtoken"] yt = Youtube() yt.Init() dscgs = Discogs() dscgs.Init() description = "An example bot to showcase the discord.ext.commands extension module." bot = commands.Bot(command_prefix='?', description=description) @bot.event async def on_ready(): print('Logged in as') print(bot.user.name) print(bot.user.id) print('------') @bot.command()