
    uki                     R    d dl Z d dlZddlmZ ddlmZmZmZmZm	Z	  G d de      Z
y)    N   )PostProcessor   )PostProcessingErrorXAttrMetadataErrorXAttrUnavailableErrorhyphenate_datewrite_xattrc                   .    e Zd ZdZddddddddZd	Zd
 Zy)XAttrMetadataPPa  Set extended attributes on downloaded file (if xattr support is found)

    More info about extended attributes for media:
        http://freedesktop.org/wiki/CommonExtendedAttributes/
        http://www.freedesktop.org/wiki/PhreedomDraft/
        http://dublincore.org/documents/usageguide/elements.shtml

    TODO:
        * capture youtube keywords and put them in 'user.dublincore.subject' (comma-separated)
        * figure out which xattrs can be used for 'duration', 'thumbnail', 'resolution'
    webpage_urltitleupload_dateuploaderformatdescription)zuser.xdg.referrer.urlzuser.dublincore.titlezuser.dublincore.datezuser.dublincore.contributorzuser.dublincore.formatzuser.dublincore.description$com.apple.metadata:kMDItemWhereFromsz<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<string>%s</string>
</array>
</plist>c                    t        j                  |d         j                  }| j                  d       | j                  j                         D ]p  \  }}	 |j                  |      }|rW|dk(  rt        |      }n(|dk(  r#t        j                  dk7  rD| j                  |z  }t        |d   ||j                                r | j)                  |d   ||       g |fS # t        $ r}t        t        |            d }~wt         $ rz}|j"                  dk(  r| j%                  d| d       nJ|j"                  d	k(  r| j%                  d
| d       n%t         j&                  dk(  rdnd}t        d|       Y d }~+d }~ww xY w)Nfilepathz!Writing metadata to file's xattrsr   r   darwinNO_SPACEzhThere's no disk space left, disk quota exceeded or filesystem xattr limit exceeded. Extended attribute "z" was not written.VALUE_TOO_LONGz$Unable to write extended attribute "z" due to too long values.ntzYou need to use NTFSz0You may have to enable them in your "/etc/fstab"z5This filesystem doesn't support extended attributes. )osstatst_mtime	to_screenXATTR_MAPPINGitemsgetr	   sysplatformAPPLE_PLIST_TEMPLATEr
   encoder   r   strr   reasonreport_warningname	try_utime)selfinfomtime	xattrnameinfonamevalueetips           W/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/yt_dlp/postprocessor/xattrpp.pyrunzXAttrMetadataPP.run0   s   Z()22;<#'#5#5#;#;#= 	nIxn*=0 .u 5"&LL<<83$ $ 9 9E AZ 0)U\\^L	n6 	tJ'64x ) 2)#a&11% 
n88z)''//8k9KMN XX!11''*NykYr(st57WW_1 R -0fgjfk.lmm
ns+   <C-C	E>$C88E>A/E99E>N)__name__
__module____qualname____doc__r   r#   r3        r2   r   r      s4    
 "/!( -'1"* (50=Mr9   r   )r   r!   commonr   utilsr   r   r   r	   r
   r   r8   r9   r2   <module>r<      s&    	 
 ! Am Ar9   