File: //usr/lib/python3/dist-packages/django/core/files/__pycache__/utils.cpython-310.pyc
o
/�h+
� @ s8 d dl Z d dlZd dlmZ ddd�ZG dd� d�ZdS ) � N)�SuspiciousFileOperationFc C sx t j�| �dv rtd| ��|r,t�t| ��dd��}|�� s$d|j v r*td| ��| S | t j�| �kr:td| ��| S )N> � �.�..z$Could not derive file name from '%s'�\�/r z'Detected path traversal attempt in '%s'z%File name '%s' includes path elements)
�os�path�basenamer �pathlib�
PurePosixPath�str�replace�is_absolute�parts)�name�allow_relative_pathr � r �9/usr/lib/python3/dist-packages/django/core/files/utils.py�validate_file_name s ��r c @ s� e Zd ZdZedd� �Zedd� �Zedd� �Zedd� �Zedd� �Z edd� �Z
ed d� �Zed
d� �Zedd� �Z
edd� �Zed
d� �Zedd� �Zedd� �Zedd� �Zedd� �Zdd� Zdd� Zdd� Zdd� ZdS )�FileProxyMixinz�
A mixin class used to forward file methods to an underlaying file
object. The internal file object has to be called "file"::
class FileProxy(FileProxyMixin):
def __init__(self, file):
self.file = file
c C � | j jS �N)�file�encoding��selfr r r �<lambda>$ � zFileProxyMixin.<lambda>c C r r )r �filenor r r r r % r c C r r )r �flushr r r r r &