2016-12-21 3 views
-1

Я работаю над медиацентром OSMC linux box, где есть python. Я использую приложение flyckrsmartsync, используемое для синхронизации моей учетной записи Flickr с папкой на моем медиацентре. Приложение python должно быть аутентифицировано на Flickr. Я установил в другой Linux-модуль, где не настроен браузер. Приложение показало мне URL-адрес, который я могу использовать на своем ящике Windows для аутентификации приложения.Python отключить webbrowser, чтобы он не сработал

В моем поле OMC активирован локальный браузер, и я не могу показать URL-адрес в консоли.

В основном метод webbrowser.get(), который выходит из строя в первом окне Linux, и пусть он отображается, не во второй строке Linux, а затем зависает после его ввода в браузере.

Если я на втором поле команду «питон»:

Python 2.7.9 (default, Aug 13 2016, 17:56:53) 
[GCC 4.9.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

Тогда следующую команду:

>>> import webbrowser 
>>> webbrowser._tryorder 
['www-browser', 'lynx'] 

Есть ли способ, чтобы отменить регистрацию в питоне все браузер таким образом, чтобы веб-браузер .get api не удается? Есть ли причина добавить их снова позже, как только я аутентифицировал приложение?

+0

Ну, вы всегда можете создать модуль, который имеет 'get' функцию, которая не делает ничего, проходит все другие функции, а также к' webbrowser', а затем использовать этот новый модуль в виде капли взамен. Что в стороне, почему бы не использовать Dropbox, Google Диск и т. Д. Для хранения и синхронизации изображений? –

+0

Я хочу, чтобы мои фотографии были в моем медиацентре, потому что когда-то я мог видеть их на своем телевизоре без включения ПК. Мой медиацентр всегда доступен рядом с телевизором. У меня есть мои фотографии в Flickr, но слайд-шоу теперь быстро, когда оно начинается. Имейте копию на локальную защиту, а также мою фотографию, которая будет изменена поставщиком. Это случилось со мной с PicasaWeb, что некоторые точки изменили условия и условия и уменьшили размер всех моих фотографий. –

ответ

1

Я считаю, что вы можете использовать простой

del webbrowser._tryorder[:] 

Это не может быть переносимым - _tryorder не документирован, и она начинается с _, что означает, что она является частной модулем.

Пример:

Python 3.5.2+ (default, Sep 22 2016, 12:18:14) 
[GCC 6.2.0 20160927] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import webbrowser 
>>> webbrowser.get() 
<webbrowser.BackgroundBrowser object at 0x7f9e91773c88> 
>>> del webbrowser._tryorder[:] 
>>> webbrowser.get() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python3.5/webbrowser.py", line 51, in get 
    raise Error("could not locate runnable browser") 
webbrowser.Error: could not locate runnable browser 
Смежные вопросы