Esempio n. 1
0
def run():
    parser = util.init_args_parser()

    parser.add_argument('--list',
                        action='store_true',
                        help='list available search plugins')
    parser.add_argument(
        '--song',
        action='store_true',
        help='search for song information by artist and title (default action)'
    )
    parser.add_argument('--cleanup',
                        action='store_true',
                        help='remove outdated files from cache')

    parser.add_argument(
        "-f",
        "--format",
        type=str,
        default='txt',
        help="lyrics output format (txt (default), json, json_ascii)")

    parser.add_argument(
        "-o",
        "--output",
        type=str,
        default='%ARTIST% - %TITLE%\nSource: %PLUGIN_NAME%\n\n%LYRICS%',
        help="output template for txt format. Available parameters: "
        "%%TITLE%% - song title, "
        "%%ARTIST%% - song artist, "
        "%%LYRICS%% - song lyrics, "
        "%%PLUGIN_ID%% - plugin id, "
        "%%PLUGIN_NAME%% - plugin name "
        "(default value: %%ARTIST%% - %%TITLE%%\\nSource: %%PLUGIN_NAME%%\\n\\n%%LYRICS%%)"
    )

    params = parser.parse_args()

    util.init_logging(params.quiet, params.verbose, params.log)
    util.log_debug_info(params)

    config = util.init_search_config(params)
    util.log_config_info(config)

    if params.list:
        list_plugins()
    elif params.cleanup:
        main.cleanup_cache(config)
    else:
        result = main.search(params.artist, params.title, config)

        if result:
            print(format_output(result, params.format, params.output))
Esempio n. 2
0
def run():
    parser = util.init_args_parser()

    parser.add_argument('--list', action='store_true', help='list available search plugins')
    parser.add_argument('--song', action='store_true',
                        help='search for song information by artist and title (default action)')
    parser.add_argument('--cleanup', action='store_true', help='remove outdated files from cache')

    parser.add_argument("-f", "--format", type=str, default='txt',
                        help="lyrics output format (txt (default), json, json_ascii)")

    parser.add_argument("-o", "--output", type=str, default='%ARTIST% - %TITLE%\nSource: %PLUGIN_NAME%\n\n%LYRICS%',
                        help="output template for txt format. Available parameters: "
                             "%%TITLE%% - song title, "
                             "%%ARTIST%% - song artist, "
                             "%%LYRICS%% - song lyrics, "
                             "%%PLUGIN_ID%% - plugin id, "
                             "%%PLUGIN_NAME%% - plugin name "
                             "(default value: %%ARTIST%% - %%TITLE%%\\nSource: %%PLUGIN_NAME%%\\n\\n%%LYRICS%%)"
                        )

    params = parser.parse_args()

    util.init_logging(params.quiet, params.verbose, params.log)
    util.log_debug_info(params)

    config = util.init_search_config(params)
    util.log_config_info(config)

    if params.list:
        list_plugins()
    elif params.cleanup:
        main.cleanup_cache(config)
    else:
        result = main.search(params.artist, params.title, config)

        if result:
            print(format_output(result, params.format, params.output))
Esempio n. 3
0
from prismriver import util

parser = util.init_args_parser()
parser.add_argument('-m', '--mpris', help='default MPRIS-player name')
parser.add_argument('--connect', action='store_true', help='connect to player and listen for song details')
parser.add_argument('--tray', default='show', choices=('show', 'minimize', 'hide'), help='tray help')
parser.add_argument('--qt4', action='store_true', help='force using PyQt4 frontend')

# skip unknown args, some of them may be handled as common qt options
# see: http://doc.qt.io/qt-5/qguiapplication.html
params, unknown = parser.parse_known_args()

util.init_logging(params.quiet, params.verbose, params.log)
util.log_debug_info(params)

config = util.init_search_config(params)
util.log_config_info(config)

force_qt4 = params.qt4

# that import should be placed here to ensure that 'force_qt4' variable will be initialized before initialization of
# compat.py module, so it can access it before starting to import Qt classes
from prismriver.qt.controller import MainController

MainController(config, params.artist, params.title, params.mpris, params.connect, params.tray)