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))
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))
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)