def __init__(self, name=None, parent=None,<EOL>created=None, modified=None, accessed=None,<EOL>contentType=None, body=None, size=None,<EOL>hidden=None, system=None, archived=None, delete=None,<EOL>writable=None, readable=None, executable=None,<EOL>*args, **kw):
super(FileItem, self).__init__(*args, **kw)<EOL>self.name        = name<EOL>self.parent      = parent<EOL>self.created     = created<EOL>self.modified    = modified<EOL>self.accessed    = accessed<EOL>self.contentType = contentType<EOL>self.body        = body<EOL>self.size        = size<EOL>if self.size is None and self.body is not None:<EOL><INDENT>self.size      = len(body)<EOL><DEDENT>self.hidden      = hidden<EOL>self.system      = system<EOL>self.archived    = archived<EOL>self.delete      = delete<EOL>self.writable    = writable<EOL>self.readable    = readable<EOL>self.executable  = executable<EOL>
FileItem constructor which takes the following optional parameters:

:param name:

  the file name (relative to the parent folder).

:param parent:

  the file\'s containing folder.

:param created:

  the file\'s creation time, in number of seconds since
  the epoch.

:param modified:

  the file\'s last modification time, in number of seconds
  since the epoch.

:param accessed:

  the file\'s last accessed time, in number of seconds
  since the epoch.

:param contentType:

  the file\'s content-type.

:param body:

  the file\'s content.

:param size:

  the size of file\'s content, specified as an integer. If not
  specified and `body` is specified, the size will be taken from
  the `body` parameter.

:param hidden:

  the file\'s "hidden" boolean attribute.

:param system:

  the file\'s "system" boolean attribute.

:param archived:

  the file\'s "archived" boolean attribute.

:param delete:

  the file\'s "delete" boolean attribute.

:param writable:

  the file\'s "writable" boolean attribute.

:param readable:

  the file\'s "readable" boolean attribute.

:param executable:

  the file\'s "executable" boolean attribute.