
Y]                 @   s   y[ d  d l  m Z e   d k r( e  d d l m Z m Z m Z m Z d d l m	 Z	 WnD e k
 r d d l
 m Z m Z m Z m Z d d l m	 Z	 Yn Xd d l Z d d l Z d d   Z e Gd	 d
   d
 e   Z d S)   )get_distZtrusty    )QObjectQCoreApplicationpyqtSlotQUrl)QDesktopServicesNc                s   i      f d d   } | S)Nc                 s'      k r   |  |      <   S)N )argskwargs)class_	instancesr	   8/usr/lib/python3/dist-packages/DistUpgrade/QUrlOpener.pyinstance+   s    zsingleton.<locals>.instancer	   )r   r   r	   )r   r   r   	singleton(   s    r   c               @   s@   e  Z d  Z d d   Z d d   Z e e  d d    Z d S)
QUrlOpenerc             C   s$   t  j |   |  j t j    d  S)N)r   __init__Z	setParentr   r   )selfr	   r	   r   r   4   s    zQUrlOpener.__init__c             C   s*   t  j d |  d  t  j d |  d  d  S)NZhttpopenUrlZhttps)r   ZsetUrlHandler)r   r	   r	   r   setupUrlHandles8   s    zQUrlOpener.setupUrlHandlesc             C   s   | j    } t j j d  r- d | g } no t j j d  rN d | g } nN t j j d  ro d | g } n- t j j d  r d | g } n d	 | g } t j   d
 k r d t j k r d d t j d g | } t j |  d  S)Nz/usr/bin/xdg-openzxdg-openz/usr/bin/kde-openzkde-openz/usr/bin/exo-openzexo-openz/usr/bin/gnome-openz
gnome-openzx-www-browserr   Z	SUDO_USERZsudoz-u)ZtoStringospathexistsgetuidenviron
subprocessPopen)r   ZurlZcommandr	   r	   r   r   A   s    !zQUrlOpener.openUrlN)__name__
__module____qualname__r   r   r   r   r   r	   r	   r	   r   r   2   s   	r   )Zutilsr   ImportErrorZPyQt5.QtCorer   r   r   r   ZPyQt5.QtGuir   ZPyQt4.QtCoreZPyQt4.QtGuir   r   r   r   r	   r	   r	   r   <module>   s   ""
