File: //proc/self/root/usr/lib/byobu/include/__pycache__/select-session.cpython-38.pyc
U
&�J^� � @ sz d dl Z d dlZd dlZd dlZzd dlmZ W n ek
rD Y nX dZe �dd�Z e �d�Z
e �de
d �Ze �d d
�ZdZ
g Zg Ze j�de �Zd
ddddddddddddddddgZdd� Zdd � Zd!d"� Zd#d$� Ze� Ze j�d%e �Zee�d&k�se�r8e�d'� e�d(e � e�d� e�d)e � ee�d&k�r�ej�d*� d Zed+k �r�d&ZeD ]"Zej�d,eef � ed&7 Z�qhz�zed-ed& �Z W n ek
�r� d.Z Y nX e �r�e d.k�r�d&Z
W �q�ze!e �Z
W n" ek
�r e!e"e ��Z
Y nX e
d&k�r$e
ek �r$W �q�ned&7 ZdZ
ej#�d/� W nv e$k
�rj ej�d0� e�%d � Y nL ek
�r� e
d.k�s�e
dk�r�d&Z
Y �q�ed&7 ZdZ
ej#�d/� Y nX �qVnee�d&k�r�d&Z
e
d&k�rLee
d& d'k�red
k�re �&ddd1e g� ne �&dde g� n2ee
d& dk�r<e �&e e g� neee
d& � ed
k�rfe �&d
d
g� ne �&d2d2d3g� dS )4� N)�inputZbyobu�SHELLz /bin/bash�HOME�BYOBU_CONFIG_DIRz/.byobu�
BYOBU_BACKEND�tmux���z%s/.reuse-sessionZDISPLAYZDBUS_SESSION_BUS_ADDRESSZSESSION_MANAGERZGPG_AGENT_INFOZXDG_SESSION_COOKIEZXDG_SESSION_PATHZGNOME_KEYRING_CONTROLZGNOME_KEYRING_PIDZSSH_ASKPASSZ
SSH_AUTH_SOCKZ
SSH_AGENT_PIDZWINDOWIDZUPSTART_JOBZUPSTART_EVENTSZUPSTART_SESSIONZUPSTART_INSTANCEc
C s� g } d}d}t dk�r0z tjddgtjd��� d }W n8 tjk
rn } z|jdkrX� n|j}W 5 d }~X Y nX tj j
d kr�|�d�}n|�tj j
�}|�r0|�� D ]�}t
�dd |�}|r�|d kr�|�d �dkr�t|�dkr�|�d
�dkr�|�d�dkr�t�d|�� � |�d �}| �d
|d � |d7 }q�t dk�r�tjddgtjd��� d }tj j
d k�rp|�d�}n|�tj j
�}|�r�|�� D ]Z}|�r�|�d��s�|�d�dk�r�t�d|�� � | �d|�d�d � |d7 }�q�| S )Nr F�screenz-ls��stdout� �UTF-8z\s+� z..z._z
screen: %szscreen____%sr �
list-sessions�_�-r ztmux: %sz
tmux____%s�:)r �
subprocess�Popen�PIPE�communicateZCalledProcessError�
returncode�output�sysr �encoding�decode�
splitlines�re�sub�find�len�count�text�append�strip�split�
startswith)�sessions�ir Zcpe�s�items� r+ �(/usr/lib/byobu/include/select-session.py�get_sessions0 sB
B
"r- c C s� t dkr�tjddgtjd��� d }tjjd kr<|�d�}n|�tjj�}|sRd S d| }t �
||t j�}|srd S d| |�d�f }t �
||t j�D ] }t�dd d
|�d�d g� q�d S )Nr r r
r r
z^%s:.+\((group [^\)]+)\).*$z^_%s-\d+:.+\(%s\)$r zkill-session�-tr )r r r r r r r r r r �search� MULTILINE�group�findallr% )�session_namer �patternZmasterr) r+ r+ r, �cull_zombiesZ s r5 c C sn | � dd�\}}tD ]T}t�|�}|r|dkr@ddd|||g}ndd|dd||g}tj|ttjd �d
� qd S )N�____� r Zsetenvr. r z-Sz-X�wr
)r% �BYOBU_UPDATE_ENVVARS�os�getenvr �call�open�devnull)�session�backendr3 �var�value�cmdr+ r+ r, �update_environmentu s
rD c C sx t | � | �dd�\}}t|� |dkrbtrJt�ddddd|ddd g� qtt�dddd
d|g� nt�ddd|g� d S )
Nr6 r7 r z-u�new-sessionr. �;z
set-optionzdestroy-unattachedZattachr �-AOxRR)rD r% r5 �reuse_sessionsr: �execvp)r? r@ r3 r+ r+ r, �attach_session� s rJ z%s/.always-selectr ZNEWzCreate a new Byobu session (%s)zRun a shell without Byobu (%s)z
Byobu sessions...
� z %d. %s
z
Choose 1-%d [1]: � z
ERROR: Invalid input
�
rE r rG )'r: r r r �builtinsr � ExceptionZPKGr; r r r r Zchoicer'