File: //lib/python3/dist-packages/twisted/words/__pycache__/service.cpython-310.pyc
o
�b�� � @ s d Z ddlmZmZ ddlmZ ddlmZ ddlmZm Z
mZ ddlm
Z
mZ ddlmZmZmZ ddlmZ dd lmZ dd
lmZmZ ddlmZ eej�G dd
� d
��Zeej�G dd� d��ZdZ eej!�G dd� dej"��Z#G dd� dej$�Z%G dd� dej&�Z'eej!�G dd� dej(��Z)e�*e'e)� G dd� dej&�Z+eej�G dd� dej(��Z,e�*e+e,� G dd� dej&�Z-eej!�G dd � d ej&��Z.ee.ejej/� G d!d"� d"ej(�Z0e�*e.e0� eej1ej2�G d#d$� d$��Z3G d%d&� d&e3�Z4g d'�Z5d(S ))a
A module that needs a better name.
Implements new cred things for words.
How does this thing work?
- Network connection on some port expecting to speak some protocol
- Protocol-specific authentication, resulting in some kind of credentials object
- twisted.cred.portal login using those credentials for the interface
IUser and with something implementing IChatClient as the mind
- successful login results in an IUser avatar the protocol can call
methods on, and state added to the realm such that the mind will have
methods called on it as is necessary
- protocol specific actions lead to calls onto the avatar; remote events
lead to calls onto the mind
- protocol specific hangup, realm is notified, user is removed from active
play, the end.
� )�ctime�time)�implementer)� copyright)�credentials�error�portal)�defer�protocol)�failure�log�reflect)�registerAdapter)�pb)�ewords�iwords)�ircc @ sV e Zd Zdd� Zdd� Zdd� Zdd� Zdd
d�Zdd
� Zdd� Z dd� Z
dd� Zd S )�Groupc C s || _ i | _ddd�| _d S )N� )�topic�topic_author)�name�users�meta��selfr � r �7/usr/lib/python3/dist-packages/twisted/words/service.py�__init__. s
�zGroup.__init__c C s t �t||��S �N)r �Failure� Exception)r �err�pr r r �_ebUserCall6 � zGroup._ebUserCallc C s0 |D ]\}}|s|j \}}| �||�� � qd S r )�value�remove�getErrorMessage)r �results�success�result�userr"