twisted.web.static.File(resource.Resource, filepath.FilePath)class documentation
twisted.web.staticView Source (View In Hierarchy)
File is a resource that represents a plain non-interpreted file (although it can look for an extension like .rpy or .cgi and hand the file to a processor for interpretation if you wish). Its constructor takes a file path.
Alternatively, you can give a directory path to the constructor. In this case the resource will represent that directory, and its children will be files underneath that directory. This provides access to an entire filesystem tree with a single Resource.
If you map the URL 'http://server/FILE' to a resource created as File('/tmp'), then http://server/FILE/ will return an HTML-formatted listing of the /tmp/ directory, and http://server/FILE/foo/bar.html will return the contents of /tmp/foo/bar.html .
|Instance Variable||contentTypes||a mapping of extensions to MIME types used to set the default value for the
Content-Type header. It is initialized with the values returned by
|Instance Variable||contentEncodings||a mapping of extensions to encoding types used to set default value for the
Content-Encoding header. (type:
|Method||__init__||Create a file with the given path.|
|Method||ignoreExt||Ignore the given extension.|
|Method||openForReading||Open a file and return it.|
|Method||getFileSize||Return file size.|
|Method||render_GET||Begin sending the contents of this
|Method||_parseRangeHeader||Parse the value of a Range header into (start, stop) pairs.|
|Method||_rangeToOffsetAndSize||Convert a start and end from a Range header to an offset and size.|
|Method||_contentRange||Return a string suitable for the value of a Content-Range header for a range with the given offset and size.|
|Method||_doSingleRangeRequest||Set up the response for Range headers that specify a single range.|
|Method||_doMultipleRangeRequest||Set up the response for Range headers that specify a single range.|
|Method||_setContentHeaders||Set the Content-length and Content-type headers for this request.|
Inherited from Resource:
|Method||getChildWithDefault||Retrieve a static or dynamically generated child resource from me.|
|Method||putChild||Register a static child.|
|Method||render||Render a given resource. See
|Method||render_HEAD||Default handling of HEAD method.|
Inherited from FilePath:
|Instance Variable||alwaysCreate||When opening this file, only succeed if the file does not already exist. (type:
|Instance Variable||path||The path from which 'downward' traversal is permitted. (type:
|Instance Variable||statinfo 0||(WARNING: statinfo is deprecated as of Twisted 15.0.0 and will become a
private attribute) The currently cached status information about the file
on the filesystem that this
|Method||__getstate__||Support serialization by discarding cached
|Method||sep||Return a filesystem separator.|
|Method||child||Create and return a new
|Method||preauthChild||Use me if
|Method||childSearchPreauth||Return my first existing child with a name in
|Method||siblingExtensionSearch||Attempt to return a path with my name, given multiple possible extensions.|
|Method||realpath||Returns the absolute target as a
|Method||siblingExtension||Attempt to return a path with my name, given the extension at
|Method||linkTo||Creates a symlink to self to at the path in the
|Method||open||Open this file using
|Method||restat||Re-calculate cached effects of 'stat'. To refresh information on this path after you know the filesystem may have changed, call this method.|
|Method||changed||Clear any cached information about the state of this path on disk.|
|Method||chmod||Changes the permissions on self, if possible. Propagates errors from
|Method||getsize||Retrieve the size of this file in bytes.|
|Method||getModificationTime||Retrieve the time of last access from this file.|
|Method||getStatusChangeTime||Retrieve the time of the last status change for this file.|
|Method||getAccessTime||Retrieve the time that this file was last accessed.|
|Method||getInodeNumber||Retrieve the file serial number, also called inode number, which distinguishes this file from all other files on the same device.|
|Method||getDevice||Retrieves the device containing the file. The inode number and device number together uniquely identify the file, but the device number is not necessarily consistent across reboots or system crashes.|
|Method||getNumberOfHardLinks||Retrieves the number of hard links to the file.|
|Method||getUserID||Returns the user ID of the file's owner.|
|Method||getGroupID||Returns the group ID of the file.|
|Method||getPermissions||Returns the permissions of the file. Should also work on Windows, however, those permissions may not be what is expected in Windows.|
|Method||exists||Check if this
|Method||isdir||Check if this
|Method||isfile||Check if this file path refers to a regular file.|
|Method||isBlockDevice||Returns whether the underlying path is a block device.|
|Method||isSocket||Returns whether the underlying path is a socket.|
|Method||islink||Check if this
|Method||isabs||Check if this
|Method||listdir||List the base names of the direct children of this
|Method||splitext||Split the file path into a pair
|Method||touch||Updates the access and last modification times of the file at this file path to the current time. Also creates the file if it does not already exist.|
|Method||remove||Removes the file or directory that is represented by self. If
|Method||makedirs||Create all directories not yet existing in
|Method||globChildren||Assuming I am representing a directory, return a list of FilePaths representing my children that match the given pattern.|
|Method||basename||Retrieve the final component of the file path's path (everything after the final path separator).|
|Method||dirname||Retrieve all of the components of the
|Method||parent||A file path for the directory containing the file at this file path.|
|Method||setContent||Replace the file at this path with a new file that contains the given bytes, trying to avoid data-loss in the meanwhile.|
|Method||createDirectory||Create the directory the
|Method||create||Exclusively create a file, only if this file previously did not exist.|
|Method||temporarySibling||Construct a path referring to a sibling of this path.|
|Method||copyTo||Copies self to destination.|
|Method||moveTo||Move self to destination - basically renaming self to whatever destination is named.|
|Method||statinfo||FilePath.statinfo is deprecated.|
|Method||_asBytesPath||Return the path of this
|Method||_asTextPath||Return the path of this
|Method||getContent||Retrieve the contents of the file at this path.|
|Method||parents||Retrieve an iterator of all the ancestors of this path.|
|Method||children||List the children of this path object.|
|Method||walk||Yield myself, then each of my children, and each of those children's children in turn.|
|Method||descendant||Retrieve a child or child's child of this path.|
|Method||segmentsFrom||Return a list of segments between a child and its ancestor.|
|Method||__hash__||Hash the same as another
|Method||getmtime||Deprecated. Use getModificationTime instead.|
|Method||getatime||Deprecated. Use getAccessTime instead.|
|Method||getctime||Deprecated. Use getStatusChangeTime instead.|
Resourceused to render 404 Not Found error pages.
Resourceused to render 403 Forbidden error pages.
Create a file with the given path.
|Parameters||path||The filename of the file from which this |
|defaultType||A major/minor-style MIME type specifier indicating the
Content-Type with which this |
|ignoredExts||A sequence giving the extensions of paths in the filesystem which will be
ignored for the purposes of child lookup. For example, if
|registry||The registry object being used to handle this request. If |
|allowExt||Ignored parameter, only present for backwards compatibility. Do not pass a value for this parameter.|
Ignore the given extension.
Serve file.ext if file is requested
Open a file and return it.
Return file size.
Parse the value of a Range header into (start, stop) pairs.
In a given pair, either of start or stop can be None, signifying that no value was provided, but not both.
|Returns||A list |
|Raises||ValueError||if the header is syntactically invalid or if the Bytes-Unit is anything other than 'bytes'.|
Convert a start and end from a Range header to an offset and size.
This method checks that the resulting range overlaps with the resource
being served (and so has the value of
getFileSize() as an
Either but not both of start or end can be
End is interpreted as inclusive, as per RFC 2616.
If this range doesn't overlap with any of this resource,
0) is returned, which is not otherwise a value return value.
|Parameters||start||The start value from the header, or |
|end||The end value from the header, or |
Return a string suitable for the value of a Content-Range header for a range with the given offset and size.
The offset and size are not sanity checked in any way.
|Parameters||offset||How far into this resource the range begins.|
|size||How long the range is.|
|Returns||The value as appropriate for the value of a Content-Range header.|
Set up the response for Range headers that specify a single range.
This method checks if the request is satisfiable and sets the response code and Content-Range header appropriately. The return value indicates which part of the resource to return.
|Parameters||request||The Request object.|
|startAndEnd||A 2-tuple of start of the byte range as specified by the header and the end
of the byte range as specified by the header. At most one of the start and
end may be |
|Returns||A 2-tuple of the offset and size of the range to return. offset == size == 0 indicates that the request is not satisfiable.|
Set up the response for Range headers that specify a single range.
This method checks if the request is satisfiable and sets the response code and Content-Type and Content-Length headers appropriately. The return value, which is a little complicated, indicates which parts of the resource to return and the boundaries that should separate the parts.
In detail, the return value is a tuple rangeInfo
is a list of 3-tuples
(partSeparator, partOffset, partSize).
The response to this request should be, for each element of
partSeparator followed by
partSize bytes of the resource starting at
partSeparator includes the
MIME-style boundary and the part-specific Content-type and Content-range
headers. It is convenient to return the separator as a concrete string
from this method, because this method needs to compute the number of bytes
that will make up the response to be able to set the Content-Length header
of the response accurately.
|Parameters||request||The Request object.|
|byteRanges||A list of |
Set the Content-length and Content-type headers for this request.
This method is not appropriate for requests for multiple byte ranges;
will set these headers in that case.
|size||The size of the response. If not specified, default to
that will produce the body of this response.
This method will also set the response code and Content-* headers.
|fileForReading||The file object containing the resource.|
Begin sending the contents of this
File (or a subset of
the contents, based on the 'range' header) to the given request.