File: //usr/local/lib/python3.9/site-packages/celery/bin/__pycache__/upgrade.cpython-39.pyc
a
X>h� � @ s� d Z ddlZddlZddlZddlmZ ddlmZmZm Z ddl
mZ e�� ej
e dd� ���Zdd � Zddd�Zd dd�Zeejfdd�Zejed�e�d�ejdedddd�ejdedddd�ejdedddd�dd� �����ZdS )!zGThe ``celery upgrade`` command, used to upgrade from previous versions.� N)�defaults)�
CeleryCommand�CeleryOption�handle_preload_options)�pass1c C s dS )z!Perform upgrade between versions.N� )�ctxr r �</usr/local/lib/python3.9/site-packages/celery/bin/upgrade.py�upgrade s r
c C s@ t �| dd��}dd� |D �W d � S 1 s20 Y d S )N�r�utf-8c S s g | ]}|�qS r r ��.0�liner r r �
<listcomp> � z_slurp.<locals>.<listcomp>)�codecs�open)�filename�read_fhr r r �_slurp s r �CELERYc C s$ | � � } | �|�s d�|| g�} | S )N�_)�upper�
startswith�join)�key� namespacer r r �_compat_key s
r �.origc C s� g }d� | |g�}td|� d�tjd� t�| dd��\}t�|dd��.}|D ]}|�|� |�|� qLW d � n1 sz0 Y W d � n1 s�0 Y |S )N� zwriting backup to �...��filer r �w)r �print�sys�stderrr r �write�append)r �suffix�linesZbackup_filenamer Z backup_fhr r r r �_backup s �
Hr, c C sR t t|dd� d��D ]4}| �|||| ��}| |krd|vrd|f S qd| fS )Nc S s t | �S )N)�len)�xr r r �<lambda>0 r z_to_new_key.<locals>.<lambda>)r Z
CELERY_CELERY� r )�reversed�sorted�replace)r � keyfilter�sourceZold_key�new_liner r r �_to_new_key- s
r7 )�clsr z--djangoTzUpgrading OptionszUpgrade Django project.)r8 Zis_flagZ
help_group�helpz--compatz!Maintain backwards compatibility.z--no-backupzDon't backup original files.c s� t | �}|s|rtnt� td| � d�tjd� � fdd�|D �}tdd� |D ��r�|s^t| � t� | dd ��(}|D ]\}}|�
|� qrW d
� n1 s�0 Y tdtjd� ntdtjd� d
S )
z/Migrate settings from Celery 3.x to Celery 4.x.zprocessing r! r"