o
    >I¼cù  ã                   @   sª   z!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	 W n ey<   ddl
mZmZmZmZ ddlm	Z	 Y nw ddlZddlZdd„ ZeG d	d
„ d
eƒƒZdS )é   )Úget_distÚtrustyé    )ÚQObjectÚQCoreApplicationÚpyqtSlotÚQUrl)ÚQDesktopServicesNc                    s   i ‰‡ ‡fdd„}|S )Nc                     s"   ˆ ˆvrˆ | i |¤Žˆˆ < ˆˆ  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   Ú	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__Ú	setParentr   r   ©Úselfr   r   r   r   4   s   
zQUrlOpener.__init__c                 C   s    t  d| d¡ t  d| d¡ d S )NÚhttpÚopenUrlÚhttps)r	   ÚsetUrlHandlerr   r   r   r   ÚsetupUrlHandles8   s   zQUrlOpener.setupUrlHandlesc                 C   s¤   |  ¡ }	 tj d¡rd|g}n%tj d¡rd|g}ntj d¡r&d|g}ntj d¡r1d|g}nd	|g}t ¡ d
krKdtjv rKd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   Ú	SUDO_USERÚsudoz
--set-homez-u)ÚtoStringÚosÚpathÚexistsÚgetuidÚenvironÚ
subprocessÚPopen)r   ÚurlÚ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   )Úutilsr   ÚImportErrorÚPyQt5.QtCorer   r   r   r   ÚPyQt5.QtGuir	   ÚPyQt4.QtCoreÚPyQt4.QtGuir!   r&   r   r   r   r   r   r   Ú<module>   s   
þ
