我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用base.SMBTimeout()。
def listPath(self, service_name, path, search = SMB_FILE_ATTRIBUTE_READONLY | SMB_FILE_ATTRIBUTE_HIDDEN | SMB_FILE_ATTRIBUTE_SYSTEM | SMB_FILE_ATTRIBUTE_DIRECTORY | SMB_FILE_ATTRIBUTE_ARCHIVE, pattern = '*', timeout = 30): """ Retrieve a directory listing of files/folders at *path* :param string/unicode service_name: the name of the shared folder for the *path* :param string/unicode path: path relative to the *service_name* where we are interested to learn about its files/sub-folders. :param integer search: integer value made up from a bitwise-OR of *SMB_FILE_ATTRIBUTE_xxx* bits (see smb_constants.py). The default *search* value will query for all read-only, hidden, system, archive files and directories. :param string/unicode pattern: the filter to apply to the results before returning to the client. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with a list of :doc:`smb.base.SharedFile<smb_SharedFile>` instances. """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._listPath(service_name, path, d.callback, d.errback, search = search, pattern = pattern, timeout = timeout) return d
def deleteFiles(self, service_name, path_file_pattern, timeout = 30): """ Delete one or more regular files. It supports the use of wildcards in file names, allowing for deletion of multiple files in a single request. :param string/unicode service_name: Contains the name of the shared folder. :param string/unicode path_file_pattern: The pathname of the file(s) to be deleted, relative to the service_name. Wildcards may be used in th filename component of the path. If your path/filename contains non-English characters, you must pass in an unicode string. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with the *path_file_pattern* parameter. """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._deleteFiles(service_name, path_file_pattern, d.callback, d.errback, timeout = timeout) return d
def createDirectory(self, service_name, path): """ Creates a new directory *path* on the *service_name*. :param string/unicode service_name: Contains the name of the shared folder. :param string/unicode path: The path of the new folder (relative to) the shared folder. If the path contains non-English characters, an unicode string must be used to pass in the path. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with the *path* parameter. """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._createDirectory(service_name, path, d.callback, d.errback) return d
def rename(self, service_name, old_path, new_path): """ Rename a file or folder at *old_path* to *new_path* shared at *service_name*. Note that this method cannot be used to rename file/folder across different shared folders *old_path* and *new_path* are string/unicode referring to the old and new path of the renamed resources (relative to) the shared folder. If the path contains non-English characters, an unicode string must be used to pass in the path. :param string/unicode service_name: Contains the name of the shared folder. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with a 2-element tuple of ( *old_path*, *new_path* ). """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._rename(service_name, old_path, new_path, d.callback, d.errback) return d
def deleteDirectory(self, service_name, path): """ Delete the empty folder at *path* on *service_name* :param string/unicode service_name: Contains the name of the shared folder. :param string/unicode path: The path of the to-be-deleted folder (relative to) the shared folder. If the path contains non-English characters, an unicode string must be used to pass in the path. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with the *path* parameter. """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._deleteDirectory(service_name, path, d.callback, d.errback) return d
def _cleanupPendingRequests(self): if self.factory.instance == self: now = time.time() to_remove = [] for mid, r in self.pending_requests.iteritems(): if r.expiry_time < now: try: r.errback(SMBTimeout()) except Exception: pass to_remove.append(mid) for mid in to_remove: del self.pending_requests[mid] reactor.callLater(1, self._cleanupPendingRequests)
def listShares(self, timeout = 30): """ Retrieve a list of shared resources on remote server. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with a list of :doc:`smb.base.SharedDevice<smb_SharedDevice>` instances. """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._listShares(d.callback, d.errback, timeout) return d
def echo(self, data, timeout = 10): """ Send an echo command containing *data* to the remote SMB/CIFS server. The remote SMB/CIFS will reply with the same *data*. :param string data: Data to send to the remote server. :param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance's *errback* method. :return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with the *data* parameter. """ if not self.instance: raise NotConnectedError('Not connected to server') d = defer.Deferred() self.instance._echo(data, d.callback, d.errback, timeout) return d