# SharedFile Class

class smb.base.SharedFile(create_time, last_access_time, last_write_time, last_attr_change_time, file_size, alloc_size, file_attributes, short_name, filename, file_id=None)

  Contain information about a file/folder entry that is shared on the shared device.

  As an application developer, you should not need to instantiate a SharedFile instance directly in your application. These SharedFile instances are usually returned via a call to listPath method in smb.SMBProtocol.SMBProtocolFactory.

  If you encounter SharedFile instance where its short_name attribute is empty but the filename attribute contains a short name which does not correspond to any files/folders on your remote shared device, it could be that the original filename on the file/folder entry on the shared device contains one of these prohibited characters: “/[]:+|<>=;?,* (see [MS-CIFS]: 2.2.1.1.1 for more details).

  The following attributes are available:

  - create_time : Float value in number of seconds since 1970-01-01 00:00:00 to the time of creation of this file resource on the remote server

  - last_access_time : Float value in number of seconds since 1970-01-01 00:00:00 to the time of last access of this file resource on the remote server

  - last_write_time : Float value in number of seconds since 1970-01-01 00:00:00 to the time of last modification of this file resource on the remote server

  - last_attr_change_time : Float value in number of seconds since 1970-01-01 00:00:00 to the time of last attribute change of this file resource on the remote server

  - file_size : File size in number of bytes

  - alloc_size : Total number of bytes allocated to store this file

  - file_attributes : A SMB_EXT_FILE_ATTR integer value. See [MS-CIFS]: 2.2.1.2.3. You can perform bit-wise tests to determine the status of the file using the ATTR_xxx constants in smb_constants.py.

  - short_name : Unicode string containing the short name of this file (usually in 8.3 notation)

  - filename : Unicode string containing the long filename of this file. Each OS has a limit to the length of this file name. On Windows, it is 256 characters.

  - file_id : Long value representing the file reference number for the file. If the remote system does not support this field, this field will be None or 0. See [MS-FSCC]: 2.4.17

  alloc_size

    Total number of bytes allocated to store this file

  create_time

    Float value in number of seconds since 1970-01-01 00:00:00 to the time of creation of this file resource on the remote server

  file_attributes

    A SMB_EXT_FILE_ATTR integer value. See [MS-CIFS]: 2.2.1.2.3. You can perform bit-wise tests to determine the status of the file using the ATTR_xxx constants in smb_constants.py.

  file_id

    Long value representing the file reference number for the file. If the remote system does not support this field, this field will be None or 0. See [MS-FSCC]: 2.4.17

  file_size

    File size in number of bytes

  filename

    Unicode string containing the long filename of this file. Each OS has a limit to the length of this file name. On Windows, it is 256 characters.

  property isDirectory

    A convenience property to return True if this file resource is a directory on the remote server

  property isNormal

    A convenient property to return True if this is a normal file.

    Note that pysmb defines a normal file as a file entry that is not read-only, not hidden, not system, not archive and not a directory. It ignores other attributes like compression, indexed, sparse, temporary and encryption.

  property isReadOnly

    A convenient property to return True if this file resource is read-only on the remote server

  last_access_time

    Float value in number of seconds since 1970-01-01 00:00:00 to the time of last access of this file resource on the remote server

  last_attr_change_time

    Float value in number of seconds since 1970-01-01 00:00:00 to the time of last attribute change of this file resource on the remote server

  last_write_time

    Float value in number of seconds since 1970-01-01 00:00:00 to the time of last modification of this file resource on the remote server

  short_name

    Unicode string containing the short name of this file (usually in 8.3 notation)