示例#1
0
def main():
    print('Updating unsupported.txt from server.')
    with open('unsupported.txt', 'w', encoding='utf-8') as f:
        response = requests.get(
            'http://aadibajpai.pythonanywhere.com/master_unsupported')
        f.write(response.text)
    print("Updated unsupported.txt successfully.")

    parser = argparse.ArgumentParser(
        description=
        "Get lyrics for the currently playing song on Spotify. Either --tab or --cli is required."
    )

    parser.add_argument('-t',
                        '--tab',
                        action='store_true',
                        help='Display lyrics in a browser tab.')
    parser.add_argument('-c',
                        '--cli',
                        action='store_true',
                        help='Display lyrics in the command-line.')

    args = parser.parse_args()

    if args.tab:
        print('Firing up a browser tab!')
        app.template_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'templates')
        app.static_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'static')
        port = 5042  # random
        url = "http://127.0.0.1:{port}".format(port=port)
        threading.Timer(1.25, lambda: webbrowser.open(url)).start()
        app.run(port=port)

    elif args.cli:
        song = spotify.song()  # get currently playing song
        artist = spotify.artist()  # get currently playing artist
        print(lyrics(song, artist))
        print('\n(Press Ctrl+C to quit)')
        while True:
            # refresh every 5s to check whether song changed
            # if changed, display the new lyrics
            try:
                if song == spotify.song() and artist == spotify.artist():
                    time.sleep(5)
                else:
                    song = spotify.song()
                    artist = spotify.artist()
                    if song and artist is not None:
                        clear()
                        print(lyrics(song, artist))
                        print('\n(Press Ctrl+C to quit)')
            except KeyboardInterrupt:
                exit()
            if os.environ.get("TESTING", "False") != "False":
                break

    else:
        parser.print_help()
def main():
	# print(r"""
	#  ____                     _               _
	# / ___|_      ____ _  __ _| |   _   _ _ __(_) ___ ___
	# \___ \ \ /\ / / _` |/ _` | |  | | | | '__| |/ __/ __|
	#  ___) \ V  V / (_| | (_| | |__| |_| | |  | | (__\__ \
	# |____/ \_/\_/ \__,_|\__, |_____\__, |_|  |_|\___|___/
	#                     |___/      |___/
	# 	""")
	# print('\n')

	parser = argparse.ArgumentParser(
		description="Get lyrics for the currently playing song on Spotify. Either --tab or --cli is required.")

	parser.add_argument('-t', '--tab', action='store_true', help='Display lyrics in a browser tab.')
	parser.add_argument('-c', '--cli', action='store_true', help='Display lyrics in the command-line.')
	parser.add_argument('-n', '--no-issue', action='store_false', help='Disable issue-making on cli.')
	args = parser.parse_args()

	unsupported_precheck()

	if args.tab:
		print('Firing up a browser tab!')
		app.template_folder = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'templates')
		app.static_folder = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static')
		port = 5042  # random
		url = "http://127.0.0.1:{port}".format(port=port)
		threading.Timer(1.25, lambda: webbrowser.open(url)).start()
		app.run(port=port)

	elif args.cli:
		make_issue = args.no_issue
		song = spotify.song()  # get currently playing song
		artist = spotify.artist()  # get currently playing artist
		print(lyrics(song, artist, make_issue))
		print('\n(Press Ctrl+C to quit)')
		while True:
			# refresh every 5s to check whether song changed
			# if changed, display the new lyrics
			try:
				if song == spotify.song() and artist == spotify.artist():
					time.sleep(5)
				else:
					song = spotify.song()
					artist = spotify.artist()
					if song and artist is not None:
						clear()
						print(lyrics(song, artist, make_issue))
						print('\n(Press Ctrl+C to quit)')
			except KeyboardInterrupt:
				exit()
			if os.environ.get("TESTING", "False") != "False":
				break

	else:
		parser.print_help()
def show_tab():
    from threading import Timer
    from webbrowser import open
    print('Firing up a browser tab!')
    app.template_folder = os.path.join(
        os.path.dirname(os.path.abspath(__file__)), 'templates')
    app.static_folder = os.path.join(
        os.path.dirname(os.path.abspath(__file__)), 'static')
    port = 5042  # random
    url = f"http://127.0.0.1:{port}"
    Timer(1.25, open, args=[url]).start()
    app.run(port=port)
示例#4
0
def main():
    parser = argparse.ArgumentParser(
        description=
        "Get lyrics for currently playing song on Spotify. Either --tab or --cli is required."
    )

    parser.add_argument('-t',
                        '--tab',
                        action='store_true',
                        help='Display lyrics in a browser tab.')
    parser.add_argument('-c',
                        '--cli',
                        action='store_true',
                        help='Display lyrics in the command-line.')

    args = parser.parse_args()

    if args.tab:
        print('Firing up a browser tab!')
        app.template_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'templates')
        app.static_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'static')
        app.run()

    elif args.cli:
        song = spotify.song()  # get currently playing song
        artist = spotify.artist()  # get currently playing artist
        print(lyrics(song, artist))
        print('\n(Press Ctrl+C to quit)')
        while True:
            # refresh every 5s to check whether song changed
            # if changed, display the new lyrics
            try:
                if song == spotify.song() and artist == spotify.artist():
                    time.sleep(5)
                else:
                    song = spotify.song()
                    artist = spotify.artist()
                    if song and artist is not None:
                        clear()
                        print(lyrics(song, artist))
                        print('\n(Press Ctrl+C to quit)')
            except KeyboardInterrupt:
                exit()

    else:
        parser.print_help()
def main():
    # print(r"""
    #  ____                     _               _
    # / ___|_      ____ _  __ _| |   _   _ _ __(_) ___ ___
    # \___ \ \ /\ / / _` |/ _` | |  | | | | '__| |/ __/ __|
    #  ___) \ V  V / (_| | (_| | |__| |_| | |  | | (__\__ \
    # |____/ \_/\_/ \__,_|\__, |_____\__, |_|  |_|\___|___/
    #                     |___/      |___/
    # 	""")
    # print('\n')

    program = "Swaglyrics"
    parser = argparse.ArgumentParser(
        prog=program,
        usage='{prog} [options]'.format(prog=program),
        description=
        "Get lyrics for the currently playing song on Spotify. Either --tab or --cli is required."
    )

    # To select either one of the arguments provided in a group
    group = parser.add_mutually_exclusive_group()
    group.add_argument('-t',
                       '--tab',
                       action='store_true',
                       help='Display lyrics in a browser tab.')
    group.add_argument('-c',
                       '--cli',
                       action='store_true',
                       help='Display lyrics in the command-line.')
    parser.add_argument('-n',
                        '--no-issue',
                        action='store_false',
                        help='Disable issue-making on cli.')
    parser.add_argument('--song', help='Enter song name', type=str)
    parser.add_argument('--artist', help='Enter artist name', type=str)
    args = parser.parse_args()

    update_unsupported()

    if args.tab:
        print('Firing up a browser tab!')
        app.template_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'templates')
        app.static_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'static')
        port = 5042  # random
        url = "http://127.0.0.1:{port}".format(port=port)
        threading.Timer(1.25, lambda: webbrowser.open(url)).start()
        app.run(port=port)

    elif args.cli:
        make_issue = args.no_issue
        if args.song is None and args.artist is None:
            song = spotify.song()  # get currently playing song
            artist = spotify.artist()  # get currently playing artist
        else:
            song = args.song  # get song from command line argument
            artist = args.artist  # get artist from command line argument
            print(lyrics(song, artist, make_issue))
            raise SystemExit(0)

        print(lyrics(song, artist, make_issue))
        print('\n(Press Ctrl+C to quit)')
        while True:
            # refresh every 5s to check whether song changed
            # if changed, display the new lyrics
            try:
                if song == spotify.song() and artist == spotify.artist():
                    time.sleep(5)
                else:
                    song = spotify.song()
                    artist = spotify.artist()
                    if song and artist is not None:
                        clear()
                        print(lyrics(song, artist, make_issue))
                        print('\n(Press Ctrl+C to quit)')
            except KeyboardInterrupt:
                exit()
            if os.environ.get("TESTING", "False") != "False":
                break

    else:
        parser.print_help()
示例#6
0
def main():
    # 	print(r"""
    #  ____                     _               _
    # / ___|_      ____ _  __ _| |   _   _ _ __(_) ___ ___
    # \___ \ \ /\ / / _` |/ _` | |  | | | | '__| |/ __/ __|
    #  ___) \ V  V / (_| | (_| | |__| |_| | |  | | (__\__ \
    # |____/ \_/\_/ \__,_|\__, |_____\__, |_|  |_|\___|___/
    #                     |___/      |___/
    # 	""")
    print("Updating unsupported.txt from server.")
    with open("unsupported.txt", "w", encoding="utf-8") as f:
        response = requests.get(
            "http://aadibajpai.pythonanywhere.com/master_unsupported")
        f.write(response.text)
    print("Updated unsupported.txt successfully.")

    parser = argparse.ArgumentParser(
        description=
        "Get lyrics for the currently playing song on Spotify. Either --tab or --cli is required."
    )

    parser.add_argument("-t",
                        "--tab",
                        action='store_true',
                        help="Display lyrics in a browser tab.")
    parser.add_argument("-c",
                        "--cli",
                        action='store_true',
                        help="Display lyrics in the command-line.")
    parser.add_argument("-cr",
                        "--chrome",
                        action='store_true',
                        help="Display lyrics in the command-line.")

    args = parser.parse_args()
    app.template_folder = os.path.join(
        os.path.dirname(os.path.abspath(__file__)), "templates")
    app.static_folder = os.path.join(
        os.path.dirname(os.path.abspath(__file__)), "static")
    port = 5042  # random
    url = "http://127.0.0.1:{port}".format(port=port)

    # A Function  to initialise Chrome extension Global variables
    def modeChecker(argg):
        chrome.initvariables()

        if argg:
            chrome.isChrome = True
            print("Listesning to chrome")
        else:
            chrome.isChrome = False
            print("Listesning to local")

    if args.tab:

        modeChecker(args.chrome)

        print("Firing up a browser tab!")

        threading.Timer(1.25, lambda: webbrowser.open(url)).start()
        app.run(port=port)

    elif args.cli:

        modeChecker(args.chrome)
        chrome.isTerminal = True

        if chrome.isChrome == True:
            # Starts a new thread with server running, to post requests from extension.
            t1 = threading.Thread(target=app.run(port=port))
            t1.start()
            exit()
        # printing logic for lyrics from extension handled from tabs.py so below code not required then.

        song = spotify.song()  # get currently playing song
        artist = spotify.artist()  # get currently playing artist
        print(lyrics(song, artist))
        print("\n(Press Ctrl+C to quit)")
        while True:
            # refresh every 5s to check whether song changed
            # if changed, display the new lyrics
            try:
                if song == spotify.song() and artist == spotify.artist():
                    time.sleep(5)
                else:
                    song = spotify.song()
                    artist = spotify.artist()
                    if song and artist is not None:
                        clear()
                        print(lyrics(song, artist))
                        print("\n(Press Ctrl+C to quit)")
            except KeyboardInterrupt:
                exit()
            if os.environ.get("TESTING", "False") != "False":
                break

    else:
        parser.print_help()
示例#7
0
def main():
    # 	print(r"""
    #  ____                     _               _
    # / ___|_      ____ _  __ _| |   _   _ _ __(_) ___ ___
    # \___ \ \ /\ / / _` |/ _` | |  | | | | '__| |/ __/ __|
    #  ___) \ V  V / (_| | (_| | |__| |_| | |  | | (__\__ \
    # |____/ \_/\_/ \__,_|\__, |_____\__, |_|  |_|\___|___/
    #                     |___/      |___/
    # 	""")
    print('Updating unsupported.txt from server.')

    appDataDir = AppDirs('swaglyrics', os.getlogin()).user_config_dir

    if platform.system() == "Windows":
        if not os.path.exists("C:\\Users\\" + os.getlogin() +
                              "\\AppData\\Local\\swaglyrics\\"):
            os.makedirs("C:\\Users\\" + os.getlogin() +
                        "\\AppData\\Local\\swaglyrics\\")

        appDataDir = "C:\\Users\\" + os.getlogin(
        ) + "\\AppData\\Local\\swaglyrics\\"
        print(appDataDir)
    else:
        appDataDir = appDataDir + "/"

    with open(appDataDir + "unsupported.txt", 'w', encoding='utf-8') as f:
        response = requests.get(
            'http://aadibajpai.pythonanywhere.com/master_unsupported')
        f.write(response.text)
    print("Updated unsupported.txt successfully.")

    parser = argparse.ArgumentParser(
        description=
        "Get lyrics for the currently playing song on Spotify. Either --tab or --cli is required."
    )

    parser.add_argument('-t',
                        '--tab',
                        action='store_true',
                        help='Display lyrics in a browser tab.')
    parser.add_argument('-c',
                        '--cli',
                        action='store_true',
                        help='Display lyrics in the command-line.')

    args = parser.parse_args()

    if args.tab:
        print('Firing up a browser tab!')
        app.template_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'templates')
        app.static_folder = os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'static')
        port = 5042  # random
        url = "http://127.0.0.1:{port}".format(port=port)
        threading.Timer(1.25, lambda: webbrowser.open(url)).start()
        app.run(port=port)

    elif args.cli:
        song = spotify.song()  # get currently playing song
        artist = spotify.artist()  # get currently playing artist
        print(lyrics(song, artist))
        print('\n(Press Ctrl+C to quit)')
        while True:
            # refresh every 5s to check whether song changed
            # if changed, display the new lyrics
            try:
                if song == spotify.song() and artist == spotify.artist():
                    time.sleep(5)
                else:
                    song = spotify.song()
                    artist = spotify.artist()
                    if song and artist is not None:
                        clear()
                        print(lyrics(song, artist))
                        print('\n(Press Ctrl+C to quit)')
            except KeyboardInterrupt:
                exit()
            if os.environ.get("TESTING", "False") != "False":
                break

    else:
        parser.print_help()