ELF>@x@8@33 == = 55 == = $$Ptd / / /QtdRtd== = ``GNUnȕ Za^ta?؟0 @ 036BE|NZ\qX f+YQ ) u 8j9q !Na x8 R"C8 s K(s F @%x +? s   $-__gmon_start___init_fini_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_Jv_RegisterClassesPy_FileSystemDefaultEncodingPyUnicodeUCS4_AsEncodedStringPyObject_AsFileDescriptorPyExc_TypeErrorPyErr_SetStringstrlenPyMem_Malloc__snprintf_chkPyExc_ValueErrorPyMem_FreePyErr_NoMemoryflistxattrllistxattr_PyArg_ParseTuple_SizeTPyList_NewPyString_FromStringPyExc_IOErrorPyErr_SetFromErrno__stack_chk_failfremovexattrlremovexattr_PyArg_ParseTupleAndKeywords_SizeT_Py_NoneStructfsetxattrlsetxattrfgetxattrlgetxattrPyString_FromStringAndSizematches_nsstrncmp__errno_locationPyMem_Realloc_Py_BuildValue_SizeTPyList_AppendinitxattrPy_InitModule4_64PyModule_AddStringConstantPyModule_AddIntConstantPyModule_AddObjectlibattr.so.1libpython2.7.so.1.0libpthread.so.0libc.so.6_edata__bss_start_endGLIBC_2.2.5GLIBC_2.4GLIBC_2.3.4ATTR_1.0 ui P.@ii \ui Pti fp( r= `=  = = p ?.p D.p I.p R. q ?.(q I.0q R.@q ?.Hq D.Pq \.Xq b.`q I.hq R.q ?.q D.q I.q R.q ?.q I.q R.q h.q #q  n r q.r @"r @i r u.(r (8r a @r }.Hr  Xr \ `r .hr @xr V r .r 0r `S r .r r  O r .r r M r .r %r  H ?  ? ? ? ? ? ? #? (? +? -@  @ (@ 0@ 8@ @@ H@ P@  X@  `@  h@  p@ x@ @ @ @ @ @ @ @ @ @ @ @ @ @  @ !@ "@ $A %A &A 'A ) A *(A 20A ,8A -@A .HA /HH* HtH5* %* @%* h%* h%* h%* h%* h%* h%* h%* hp%* h`%* h P%* h @%z* h 0%r* h %j* h %b* h%Z* h%R* h%J* h%B* h%:* h%2* h%** h%"* h%* hp%* h`% * hP%* h@%) h0%) h %) h%) h%) h%) h %) h!%) h"%) h#%) h$%) h%%) h&Hp[ H=b[ UH)HHw]H' Ht]@H9[ H=2[ UH)HHHH?HHu]H' Ht]H@=Z u'H=' UHt H=z% =h]Z fffff.H=H% t&Hw' HtUH=2% H]WKf.HHtHHQHHt H?HGH@0SHHHFHGHtH$H~1H[@t9HH& H0HHCt+H$HCH1[tCH1[øHO& H50D$ H:D$ qff.AVAUIATIUHSHHHt?uHE1MeH[]A\A]A^KLI@MtLsHHEtsL*HL$$1IHLCHcI9rxHEIEH1[]A\A]A^Hi% H5rH8H}QWHtHt@ff.AWHH5qAVAUATUSH8dH%(HD$(1HL$HT$D$Lt$T$H|$L11L_HHH*HIHHL0HI1HL!DHHH\HL)I9HHItKL1-DIWHH*HdH\HL)I9HHuI/E1|@1HL$(dH3 %(H8[]A\A]A^A_H# H8II~]LIfDHi# H8qIfDL@fDIGLP0`1fHIuEfffff.tHt,@ff.UHH T HH<E1SHxdH%(HD$h1HD$@LD$(D$$HD$0HD$@HD$HD$$HD$HD$0H$11҅}H\$PT$$H|$(HPxTHt$0H|$@HL$8HT$Hx7Ht$HHH|$8H{t@H" H1H|$0HHL$hdH3 %(Hu"Hx[]H! H8Hffffff.UHH5 1SHHdH%(HD$81HT$LL$ LD$D$ HD$i1҅tRH\$ T$ H|$1H;x)Ht$HH{t:H-#! HEH|$HHL$8dH3 %(Hu"HH[]H H8H7tHt@ff.UHH Q HH E1SHdH%(H$1HD$hLD$HHD$D$@HD$PHD$0HD$@HD$XD$DHD$hHD$(HD$DHD$ HD$`HD$HD$XHD$HD$PH$1"1҅H$T$@H|$HHxcHt$PH|$hHL$pHT$xrxFDD$DHL$`HHT$XHt$xH|$pfH{=tPHq H1H|$P>> import xattr >>> xattr.listxattr("file.txt") ['user.mime_type'] >>> xattr.getxattr("file.txt", "user.mime_type") 'text/plain' >>> xattr.setxattr("file.txt", "user.comment", "Simple text file") >>> xattr.listxattr("file.txt") ['user.mime_type', 'user.comment'] >>> xattr.removexattr ("file.txt", "user.comment") .. note:: Most or all errors reported by the system while using the ``xattr`` library will be reported by raising a :exc:`EnvironmentError`; under Linux, the following ``errno`` values are used: - ``ENOATTR`` and ``ENODATA`` mean that the attribute name is invalid - ``ENOTSUP`` and ``EOPNOTSUPP`` mean that the filesystem does not support extended attributes, or that the namespace is invalid - ``E2BIG`` mean that the attribute value is too big - ``ERANGE`` mean that the attribute name is too big (it might also mean an error in the xattr module itself) - ``ENOSPC`` and ``EDQUOT`` are documented as meaning out of disk space or out of disk space because of quota limits .. note:: Under Python 3, the namespace argument is a byte string, not a unicode string. list(item[, nofollow=False, namespace=None]) Return the list of attribute names for a file. Example: >>> xattr.list('/path/to/file') ['user.test', 'user.comment', 'system.posix_acl_access'] >>> xattr.list('/path/to/file', namespace=xattr.NS_USER) ['test', 'comment'] :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional :param namespace: if given, the attribute must not contain the namespace, but instead it will be taken from this parameter :type namespace: bytes :returns: the list of attributes; note that if a namespace argument was passed, it (and the separator) will be stripped from the names returned :rtype: list :raises EnvironmentError: caused by any system errors .. versionadded:: 0.4 .. versionchanged:: 0.5.1 The namespace argument, if passed, cannot be None anymore; to explicitly specify an empty namespace, pass an empty string (byte string under Python 3).listxattr(item[, nofollow=False]) Return the list of attribute names for a file (deprecated). :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional .. deprecated:: 0.4 this function has been deprecated by the :func:`list` function. remove(item, name[, nofollow=False, namespace=None]) Remove an attribute from a file. Example: >>> xattr.remove('/path/to/file', 'user.comment') :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param string name: the attribute to remove; usually in the form of ``system.posix_acl`` or ``user.mime_type`` :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional :param namespace: if given, the attribute must not contain the namespace, but instead it will be taken from this parameter :type namespace: bytes :returns: None :raises EnvironmentError: caused by any system errors .. versionadded:: 0.4 .. versionchanged:: 0.5.1 The namespace argument, if passed, cannot be None anymore; to explicitly specify an empty namespace, pass an empty string (byte string under Python 3).removexattr(item, name[, nofollow]) Remove an attribute from a file (deprecated). :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param string name: the attribute to remove; usually in the form of ``system.posix_acl`` or ``user.mime_type`` :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional .. deprecated:: 0.4 this function has been deprecated by the :func:`remove` function. set(item, name, value[, flags=0, namespace=None]) Set the value of a given extended attribute. Example: >>> xattr.set('/path/to/file', 'user.comment', 'test') >>> xattr.set('/path/to/file', 'comment', 'test', namespace=xattr.NS_USER) :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param string name: the attribute whose value to set; usually in the form of ``system.posix_acl`` or ``user.mime_type`` :param string value: possibly with embedded NULLs; note that there are restrictions regarding the size of the value, for example, for ext2/ext3, maximum size is the block size :param flags: if 0 or omitted the attribute will be created or replaced; if :const:`XATTR_CREATE`, the attribute will be created, giving an error if it already exists; if :const:`XATTR_REPLACE`, the attribute will be replaced, giving an error if it doesn't exist; :type flags: integer :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional :param namespace: if given, the attribute must not contain the namespace, but instead it will be taken from this parameter :type namespace: bytes :returns: None :raises EnvironmentError: caused by any system errors .. versionadded:: 0.4 .. versionchanged:: 0.5.1 The namespace argument, if passed, cannot be None anymore; to explicitly specify an empty namespace, pass an empty string (byte string under Python 3).setxattr(item, name, value[, flags=0, nofollow=False]) Set the value of a given extended attribute (deprecated). Be careful in case you want to set attributes on symbolic links, you have to use all the 5 parameters; use 0 for the flags value if you want the default behaviour (create or replace) :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param string name: the attribute whose value to set; usually in the form of ``system.posix_acl`` or ``user.mime_type`` :param string value: possibly with embedded NULLs; note that there are restrictions regarding the size of the value, for example, for ext2/ext3, maximum size is the block size :param flags: if 0 or omitted the attribute will be created or replaced; if :const:`XATTR_CREATE`, the attribute will be created, giving an error if it already exists; if :const:`XATTR_REPLACE`, the attribute will be replaced, giving an error if it doesn't exist; :type flags: integer :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional .. deprecated:: 0.4 this function has been deprecated by the :func:`set` function. get_all(item[, nofollow=False, namespace=None]) Get all the extended attributes of an item. This function performs a bulk-get of all extended attribute names and the corresponding value. Example: >>> xattr.get_all('/path/to/file') [('user.mime-type', 'plain/text'), ('user.comment', 'test'), ('system.posix_acl_access', '\x02\x00...')] >>> xattr.get_all('/path/to/file', namespace=xattr.NS_USER) [('mime-type', 'plain/text'), ('comment', 'test')] :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :keyword namespace: an optional namespace for filtering the attributes; for example, querying all user attributes can be accomplished by passing namespace=:const:`NS_USER` :type namespace: string :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional :return: list of tuples (name, value); note that if a namespace argument was passed, it (and the separator) will be stripped from the names returned :rtype: list :raises EnvironmentError: caused by any system errors .. note:: Since reading the whole attribute list is not an atomic operation, it might be possible that attributes are added or removed between the initial query and the actual reading of the attributes; the returned list will contain only the attributes that were present at the initial listing of the attribute names and that were still present when the read attempt for the value is made. .. versionadded:: 0.4 .. versionchanged:: 0.5.1 The namespace argument, if passed, cannot be None anymore; to explicitly specify an empty namespace, pass an empty string (byte string under Python 3).get(item, name[, nofollow=False, namespace=None]) Get the value of a given extended attribute. Example: >>> xattr.get('/path/to/file', 'user.comment') 'test' >>> xattr.get('/path/to/file', 'comment', namespace=xattr.NS_USER) 'test' :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param string name: the attribute whose value to retrieve; usually in the form of ``system.posix_acl`` or ``user.mime_type`` :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional :param namespace: if given, the attribute must not contain the namespace, but instead it will be taken from this parameter :type namespace: bytes :return: the value of the extended attribute (can contain NULLs) :rtype: string :raises EnvironmentError: caused by any system errors .. versionadded:: 0.4 .. versionchanged:: 0.5.1 The namespace argument, if passed, cannot be None anymore; to explicitly specify an empty namespace, pass an empty string (byte string under Python 3).getxattr(item, attribute[, nofollow=False]) Get the value of a given extended attribute (deprecated). :param item: a string representing a file-name, or a file-like object, or a file descriptor; this represents the file on which to act :param string name: the attribute whose value to retrieve; usually in the form of ``system.posix_acl`` or ``user.mime_type`` :param nofollow: if true and if the file name given is a symbolic link, the function will operate on the symbolic link itself instead of its target; defaults to false :type nofollow: boolean, optional .. deprecated:: 0.4 this function has been deprecated by the :func:`get` function. ?.D.I.R.?.I.R.?.D.\.b.I.R.?.D.I.R.?.I.R.h.# n q.@"@i u.(a }. \ .@V .0`S . O .M .% H xattr.so.debugP7zXZִF!t/]?Eh=ڊ2Ny^ x'B~(O\9n wJ^@oB"-I飪EQҟP̒2<(ラ8v /.de{_fpdǭ@'<}mA~Zp'"F[Ι4{z!ό9OX* OZBKo,?`+oʅ򾙑;Laܷ^MKrl5>áum #ߵH95=g^퍵skؚ զCj|(#\Ḽl +ښ- rjvd I.K)ʠAo&AP]t} ՞HǏERGK]#iBF:|M="S6j,0$_-0#`C5jdLXU`gYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.jcr.data.rel.ro.dynamic.got.got.plt.data.bss.gnu_debuglink.gnu_debugdata $o@( 00(0XX{8o nEoH H T ^hh hc00ntt$-$- z20-0- / /// = == == == == =? ?P@ @P`A `A1  s s s4sw