
    `f                        d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZ  ej                    ej        e	d                                     Zd Zdd	ZddZeej        fdZe                    e           ej        d           ej        deddd           ej        deddd           ej        deddd          d                                                             ZdS )zGThe ``celery upgrade`` command, used to upgrade from previous versions.    N)defaults)CeleryCommandCeleryOptionhandle_preload_options)pass1c                     dS )z!Perform upgrade between versions.N )ctxs    D/var/www/html/env/lib/python3.11/site-packages/celery/bin/upgrade.pyupgrader      s          c                 z    t          j        | dd          5 }d |D             cd d d            S # 1 swxY w Y   d S )Nrutf-8c                     g | ]}|S r	   r	   ).0lines     r   
<listcomp>z_slurp.<locals>.<listcomp>   s    ))))))r   )codecsopen)filenameread_fhs     r   _slurpr      s    	XsG	,	, *)))))* * * * * * * * * * * * * * * * * *s   044CELERYc                     |                                  } |                     |          sd                    || g          } | S )N_)upper
startswithjoin)key	namespaces     r   _compat_keyr"      s>    
))++C>>)$$ )hh	3'((Jr   .origc                    g }d                     | |g          }t          d| dt          j                   t	          j        | dd          5 }t	          j        |dd          5 }|D ],}|                    |           |                    |           -	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |S )N zwriting backup to ...filer   r   w)r   printsysstderrr   r   writeappend)r   suffixlinesbackup_filenamer   	backup_fhr   s          r   _backupr3       sU   Eggx011O	
3
3
3
3z   	XsG	,	, #[#w77 	#9 # #%%%T""""#	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	## # # # # # # # # # # # # # #
 Ls6   B:&0B#B:#B'	'B:*B'	+B::B>B>c                     t          t          |d                     D ]7}|                     | |||                             }| |k    r
d|vrd|fc S 8d| fS )Nc                      t          |           S )N)len)xs    r   <lambda>z_to_new_key.<locals>.<lambda>0   s    Q r   )r    CELERY_CELERY   r   )reversedsortedreplace)r   	keyfiltersourceold_keynew_lines        r   _to_new_keyrB   -   s|     F6/?/?@@@AA  <<6'?)C)CDD8x ? ?h;d7Nr   )clsr   z--djangoTzUpgrading OptionszUpgrade Django project.)rC   is_flag
help_grouphelpz--compatz!Maintain backwards compatibility.z--no-backupzDon't backup original files.c                    	 t          |           }|s|rt          nt          	t          d|  dt          j                   	fd|D             }t          d |D                       rz|st          |            t          j	        | dd          5 }|D ]\  }}|
                    |           	 ddd           n# 1 swxY w Y   t          d	t          j                   dS t          d
t          j                   dS )z/Migrate settings from Celery 3.x to Celery 4.x.zprocessing r&   r'   c                 0    g | ]}t          |          S r	   )rB   )r   r   r>   s     r   r   zsettings.<locals>.<listcomp>N   s0       )-D)$$  r   c              3   &   K   | ]}|d          V  dS )r   Nr	   )r   ns     r   	<genexpr>zsettings.<locals>.<genexpr>Q   s&      
#
#A1Q4
#
#
#
#
#
#r   r)   r   Nz'Changes to your setting have been made!z(Does not seem to require any changes :-))r   r"   r   r*   r+   r,   anyr3   r   r   r-   stdout)
r   djangocompat	no_backupr0   	new_lineswrite_fhr   r   r>   s
            @r   settingsrS   7   s   & 8E%::UI	
%
%
%
%CJ7777   16  I 
#
#
#
#
### 
 	H[300 	%H$ % %4t$$$$%	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	7:	 	 	 	 	 	 	8:	 	 	 	 	 	s   B;;B?B?)r   )r#   )__doc__r   r+   click
celery.appr   celery.bin.baser   r   r   celery.utils.functionalr   grouppass_contextr   r   r"   r3   _TO_NEW_KEYrB   commandargumentoptionrS   r	   r   r   <module>r_      s   M M  



        O O O O O O O O O O ) ) ) ) ) ) , ,   ,* * *   
 
 
 
 !&h.B     	]##
j,,	. . .
 j,6	8 8 8
 m,1	3 3 3
 3 38 8. .  $#"  r   