U
    B‹ú]ù  ã                   @   s¬   zBd 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	 W n8 ek
rz   ddl
mZmZmZmZ ddlm	Z	 Y nX ddlZddlZdd„ ZeG d	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_Z	instancesr
   ú8/usr/lib/python3/dist-packages/DistUpgrade/QUrlOpener.pyÚinstance+   s    zsingleton.<locals>.instancer
   )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  | ¡ |  t ¡ ¡ d S r	   )r   Ú__init__Z	setParentr   r   ©Úselfr
   r
   r   r   4   s    
zQUrlOpener.__init__c                 C   s    t  d| d¡ t  d| d¡ d S )NZhttpÚopenUrlZhttps)r   ZsetUrlHandlerr   r
   r
   r   ÚsetupUrlHandles8   s    zQUrlOpener.setupUrlHandlesc                 C   s¢   |  ¡ }tj d¡rd|g}nJtj d¡r4d|g}n4tj d¡rJd|g}ntj d¡r`d|g}nd	|g}t ¡ d
kr”dtjkr”dddtjd g| }t |¡ 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
--set-homez-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   

