3
s_ù\ù  ã               @   s¬   yBd 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_Ú	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}nJtjjdƒr4d|g}n4tjjdƒrJd|g}ntjjdƒr`d|g}nd	|g}tjƒ d
kr”dtjkr”d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
--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   

