File: //lib/python3.12/__pycache__/ftplib.cpython-312.pyc
�
    )!�h��  �                   �  � d Z ddlZddlZddlmZ g d�ZdZdZdZ G d� d	e�      Z	 G d
� de	�      Z
 G d� d
e	�      Z G d� de	�      Z G d� de	�      Z
e	eefZdZdZ G d� d�      Z	 ddlZej*                  Z G d� de�      Zej1                  d�       e	eeej2                  fZdad� Zdad� Zd� Zd� Z d� Z!d d�Z"d� Z#e$dk(  r e#�        yy# e$ r dZY �1w xY w)!aS  An FTP client class and some helper functions.
Based on RFC 959: File Transfer Protocol (FTP), by J. Postel and J. Reynolds
Example:
>>> from ftplib import FTP
>>> ftp = FTP('ftp.python.org') # connect to host, default port
>>> ftp.login() # default, i.e.: user anonymous, passwd anonymous@
'230 Guest login ok, access restrictions apply.'
>>> ftp.retrlines('LIST') # list directory contents
total 9
drwxr-xr-x   8 root     wheel        1024 Jan  3  1994 .
drwxr-xr-x   8 root     wheel        1024 Jan  3  1994 ..
drwxr-xr-x   2 root     wheel        1024 Jan  3  1994 bin
drwxr-xr-x   2 root     wheel        1024 Jan  3  1994 etc
d-wxrwxr-x   2 ftp      wheel        1024 Sep  5 13:43 incoming
drwxr-xr-x   2 root     wheel        1024 Nov 17  1993 lib
drwxr-xr-x   6 1094     wheel        1024 Sep 13 19:07 pub
drwxr-xr-x   3 root     wheel        1024 Jan  3  1994 usr
-rw-r--r--   1 root     root          312 Aug  1  1994 welcome.msg
'226 Transfer complete.'
>>> ftp.quit()
'221 Goodbye.'
>>>
A nice test that reveals some of the network dialogue would be:
python ftplib.py -d localhost -l -p -l
�    N)�_GLOBAL_DEFAULT_TIMEOUT)�FTP�error_reply�
error_temp�
error_perm�error_proto�
all_errors�   �   �    c                   �   � e Zd Zy)�ErrorN��__name__�
__module__�__qualname__� �    �/usr/lib/python3.12/ftplib.pyr   r   9   �   � r   r   c                   �   � e Zd Zy)r   Nr   r   r   r   r   r   :   r   r   r   c                   �   � e Zd Zy)r   Nr   r   r   r   r   r   ;   r   r   r   c                   �   � e Zd Zy)r   Nr   r   r   r   r   r   <