| Server IP : 209.205.66.10 / Your IP : 216.73.217.150 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ammon 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64 User : ( 1006) PHP Version : 8.5.8 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/xdg/__pycache__/ |
Upload File : |
o
=�_�I � @ s� d Z ddlZzddlm mZ W n ey# ddlm mZ Y nw ddlm Z m
Z
mZmZm
Z
ddlmZmZ ddlmZ ddlmZ G dd� de�ZdS ) z CLass to edit XDG Menus � N)�Menu� MenuEntry�Layout� Separator�XMLMenuBuilder)�xdg_config_dirs�
xdg_data_dirs)�ParsingError)�setRootModec @ s\ e Zd ZdQdd�ZdQdd�Zdd� ZdRd d
�ZdSdd�ZdTd
d�ZdTdd�Z dTdd�Z
dTdd�ZdTdd�ZdUdd�Z
dVdd�Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Z d-d.� Zd/d0� Zd1d2� Zd3d4� ZdWd6d7�Zd8d9� Zd:d;� ZdXd=d>�Zd?d@� Z dAdB� Z!dCdD� Z"dTdEdF�Z#dTdGdH�Z$dIdJ� Z%dKdL� Z&dMdN� Z'dOdP� Z(dS )Y�
MenuEditorNFc C s2 d | _ d | _d | _t� | _| �|||� g | _d S �N)�menu�filename�treer �parser�parse� filenames��selfr
r �root� r �0/usr/lib/python3/dist-packages/xdg/MenuEditor.py�__init__ s
zMenuEditor.__init__c C s� |rt d� t|t�r|| _n|r| j�|�| _n| j�� | _|r'| jj| _n|r-|| _ntj �
td dtj �| jj�d �| _z t
�| j�| _W n$ tya t
�d| jj �}t
�|�| _Y n
tym td| j��w | �| j� d S )NTr �menus� z�
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://standards.freedesktop.org/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name>
<MergeFile type="parent">%s</MergeFile>
</Menu>
zNot a valid .menu file)r
�
isinstancer r
r r �Filenamer �os�path�joinr �split�etreer �IOError�
fromstring�ElementTreer �$_MenuEditor__remove_whitespace_nodesr r r r r $ s.
&��zMenuEditor.parsec C s | � | j� | �� d S r )�_MenuEditor__saveEntriesr
�_MenuEditor__saveMenu�r r r r �saveG s zMenuEditor.savec
C sD t | �|d��}
| �|
||||||�}
| �||
|| � | j�� |
S )N�.desktop)r �_MenuEditor__getFileName�
editMenuEntry�_MenuEditor__addEntryr
�sort)r �parent�name�command�genericname�comment�icon�terminal�after�before� menuentryr r r �createMenuEntryK s
zMenuEditor.createMenuEntryc C sX t � }||_|jd |_|j|_|j|_| �|||||�}| �||||� | j�� |S )Nr ) r �Parent�Depth�
DefaultLayoutr �editMenur- r
r. ) r r/ r0 r2 r3 r4 r6 r7 r
r r r �
createMenuU s
zMenuEditor.createMenuc C s&