我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用sys.exc_clear()。
def _getDebugger(self): dbg = pdb.Pdb() try: import readline except ImportError: print "readline module not available" hasattr(sys, 'exc_clear') and sys.exc_clear() for path in ('.pdbrc', 'pdbrc'): if os.path.exists(path): try: rcFile = file(path, 'r') except IOError: hasattr(sys, 'exc_clear') and sys.exc_clear() else: dbg.rcLines.extend(rcFile.readlines()) return dbg
def remove_empty_folders(folder): for dirpath, _, files in os.walk(folder, topdown=False): # Listing the files for file in files: if file.endswith('DS_Store'): # delete the stupid mac files try: os.remove(os.path.join(dirpath, file)) except: sys.exc_clear() if dirpath == folder: break try: os.rmdir(dirpath) except OSError: sys.exc_clear() return
def scan_archive_struct_stninfo(self,rootdir): # same as scan archive struct but looks for station info files self.archiveroot = rootdir stninfo = [] path2stninfo = [] for path, dirs, files in scandir.walk(rootdir): for file in files: if file.endswith(".info"): # only add valid rinex compressed files stninfo.append(os.path.join(path,file).rsplit(rootdir+'/')[1]) path2stninfo.append(os.path.join(path,file)) else: if file.endswith('DS_Store') or file[0:2] == '._': # delete the stupid mac files try: os.remove(os.path.join(path, file)) except: sys.exc_clear() return stninfo,path2stninfo
def cropCover( self, image_data ): im = Image.open(StringIO.StringIO(image_data)) w,h = im.size try: cropped_im = im.crop( (int(w/2), 0, w, h) ) except Exception as e: sys.exc_clear() print "cropCover() error:", e return None output = StringIO.StringIO() cropped_im.save(output, format="PNG") cropped_image_data = output.getvalue() output.close() return cropped_image_data
def average_hash(self): try: image = self.image.resize((self.width, self.height), Image.ANTIALIAS).convert("L") except Exception as e: sys.exc_clear() print "average_hash error:", e return long(0) pixels = list(image.getdata()) avg = sum(pixels) / len(pixels) def compare_value_to_avg(i): return ( 1 if i > avg else 0 ) bitlist = map(compare_value_to_avg, pixels) # build up an int value from the bit list, one bit at a time def set_bit( x, (idx, val) ): return (x | (val << idx))
def __iowait(self, io_func, *args, **kwargs): timeout = self._sock.gettimeout() or 0.1 fd = self._sock.fileno() while True: try: return io_func(*args, **kwargs) except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantX509LookupError): sys.exc_clear() _, _, errors = select.select([fd], [], [fd], timeout) if errors: break except OpenSSL.SSL.WantWriteError: sys.exc_clear() _, _, errors = select.select([], [fd], [fd], timeout) if errors: break
def nb_read(fd, n): """Read up to `n` bytes from file descriptor `fd`. Return a string containing the bytes read. If end-of-file is reached, an empty string is returned. The descriptor must be in non-blocking mode. """ hub, event = None, None while True: try: return _read(fd, n) except OSError, e: if e.errno not in ignored_errors: raise sys.exc_clear() if hub is None: hub = get_hub() event = hub.loop.io(fd, 1) hub.wait(event)
def nb_write(fd, buf): """Write bytes from buffer `buf` to file descriptor `fd`. Return the number of bytes written. The file descriptor must be in non-blocking mode. """ hub, event = None, None while True: try: return _write(fd, buf) except OSError, e: if e.errno not in ignored_errors: raise sys.exc_clear() if hub is None: hub = get_hub() event = hub.loop.io(fd, 2) hub.wait(event)
def read(self, len=1024): """Read up to LEN bytes and return them. Return zero-length string on EOF.""" while True: try: return self._sslobj.read(len) except SSLError: ex = sys.exc_info()[1] if ex.args[0] == SSL_ERROR_EOF and self.suppress_ragged_eofs: return '' elif ex.args[0] == SSL_ERROR_WANT_READ: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._read_event, timeout_exc=_SSLErrorReadTimeout) elif ex.args[0] == SSL_ERROR_WANT_WRITE: if self.timeout == 0.0: raise sys.exc_clear() # note: using _SSLErrorReadTimeout rather than _SSLErrorWriteTimeout below is intentional self._wait(self._write_event, timeout_exc=_SSLErrorReadTimeout) else: raise
def _sslobj_shutdown(self): while True: try: return self._sslobj.shutdown() except SSLError: ex = sys.exc_info()[1] if ex.args[0] == SSL_ERROR_EOF and self.suppress_ragged_eofs: return '' elif ex.args[0] == SSL_ERROR_WANT_READ: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._read_event, timeout_exc=_SSLErrorReadTimeout) elif ex.args[0] == SSL_ERROR_WANT_WRITE: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._write_event, timeout_exc=_SSLErrorWriteTimeout) else: raise
def do_handshake(self): """Perform a TLS/SSL handshake.""" while True: try: return self._sslobj.do_handshake() except SSLError: ex = sys.exc_info()[1] if ex.args[0] == SSL_ERROR_WANT_READ: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._read_event, timeout_exc=_SSLErrorHandshakeTimeout) elif ex.args[0] == SSL_ERROR_WANT_WRITE: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._write_event, timeout_exc=_SSLErrorHandshakeTimeout) else: raise
def _run(self): try: try: console = InteractiveConsole(self.locals) # __builtins__ may either be the __builtin__ module or # __builtin__.__dict__ in the latter case typing # locals() at the backdoor prompt spews out lots of # useless stuff import __builtin__ console.locals["__builtins__"] = __builtin__ console.interact(banner=self.banner) except SystemExit: # raised by quit() sys.exc_clear() finally: self.switch_out() self.finalize()
def send(self, data, flags=0, timeout=timeout_default): sock = self._sock if timeout is timeout_default: timeout = self.timeout try: return sock.send(data, flags) except error: ex = sys.exc_info()[1] if ex.args[0] != EWOULDBLOCK or timeout == 0.0: raise sys.exc_clear() self._wait(self._write_event) try: return sock.send(data, flags) except error: ex2 = sys.exc_info()[1] if ex2.args[0] == EWOULDBLOCK: return 0 raise
def recv(self, size): while True: try: data = _read(self.fileno(), size) except (IOError, OSError): code = sys.exc_info()[1].args[0] if code not in ignored_errors: raise sys.exc_clear() else: if not self._translate or not data: return data if self._eat_newline: self._eat_newline = False if data.startswith('\n'): data = data[1:] if not data: return self.recv(size) if data.endswith('\r'): self._eat_newline = True return self._translate_newlines(data) self.hub.wait(self._read_event)
def write(self, data): """Write DATA to the underlying SSL channel. Returns number of bytes of DATA actually transmitted.""" while True: try: return self._sslobj.write(data) except SSLError: ex = sys.exc_info()[1] if ex.args[0] == SSL_ERROR_WANT_READ: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._read_event, timeout_exc=_SSLErrorWriteTimeout) elif ex.args[0] == SSL_ERROR_WANT_WRITE: if self.timeout == 0.0: raise sys.exc_clear() self._wait(self._write_event, timeout_exc=_SSLErrorWriteTimeout) else: raise
def sendto(self, *args): sock = self._sock try: return sock.sendto(*args) except error: ex = sys.exc_info()[1] if ex.args[0] != EWOULDBLOCK or timeout == 0.0: raise sys.exc_clear() self._wait(self._write_event) try: return sock.sendto(*args) except error: ex2 = sys.exc_info()[1] if ex2.args[0] == EWOULDBLOCK: return 0 raise
def do_handshake(self): """Perform a TLS/SSL handshake.""" while True: try: return self._sslobj.do_handshake() except SSLError, ex: if ex.args[0] == SSL_ERROR_WANT_READ: if self.timeout == 0.0: raise sys.exc_clear() wait_read(self.fileno(), timeout=self.timeout, timeout_exc=_SSLErrorHandshakeTimeout, event=self._read_event) elif ex.args[0] == SSL_ERROR_WANT_WRITE: if self.timeout == 0.0: raise sys.exc_clear() wait_write(self.fileno(), timeout=self.timeout, timeout_exc=_SSLErrorHandshakeTimeout, event=self._write_event) else: raise
def handle(self): env = self.prepare_env() try: try: result = self.server.application(env, self.start_response) try: self.data.extend(result) finally: if hasattr(result, 'close'): result.close() except GreenletExit: self._reply500() raise except: traceback.print_exc() try: sys.stderr.write('%s: Failed to handle request:\n request = %s\n application = %s\n\n' % (self.server, self.request, self.server.application)) except Exception: pass self._reply500() finally: sys.exc_clear() if self is not None and self.code is not None: self.end(env)
def recv_into(self, *args): sock = self._sock while True: try: return sock.recv_into(*args) except error, ex: if ex[0] == EBADF: return 0 if ex[0] != EWOULDBLOCK or self.timeout == 0.0: raise sys.exc_clear() try: wait_read(sock.fileno(), timeout=self.timeout, event=self._read_event) except error, ex: if ex[0] == EBADF: return 0 raise
def send(self, data, flags=0, timeout=timeout_default): sock = self._sock if timeout is timeout_default: timeout = self.timeout try: return sock.send(data, flags) except error, ex: if ex[0] != EWOULDBLOCK or timeout == 0.0: raise sys.exc_clear() try: wait_write(sock.fileno(), timeout=timeout, event=self._write_event) except error, ex: if ex[0] == EBADF: return 0 raise try: return sock.send(data, flags) except error, ex2: if ex2[0] == EWOULDBLOCK: return 0 raise
def send(self, data, flags=0, timeout=timeout_default): if timeout is timeout_default: timeout = self.timeout while True: try: return self._sock.send(data, flags) except SSL.WantWriteError, ex: if self.timeout == 0.0: raise timeout(str(ex)) else: sys.exc_clear() wait_write(self.fileno(), timeout=timeout) except SSL.WantReadError, ex: if self.timeout == 0.0: raise timeout(str(ex)) else: sys.exc_clear() wait_read(self.fileno(), timeout=timeout) except SSL.SysCallError, ex: if ex[0] == -1 and data == "": # errors when writing empty strings are expected and can be ignored return 0 raise sslerror(SysCallError_code_mapping.get(ex.args[0], ex.args[0]), ex.args[1]) except SSL.Error, ex: raise sslerror(str(ex))
def recv(self, buflen): pending = self._sock.pending() if pending: return self._sock.recv(min(pending, buflen)) while True: try: return self._sock.recv(buflen) except SSL.WantReadError, ex: if self.timeout == 0.0: raise timeout(str(ex)) else: sys.exc_clear() wait_read(self.fileno(), timeout=self.timeout) except SSL.WantWriteError, ex: if self.timeout == 0.0: raise timeout(str(ex)) else: sys.exc_clear() wait_read(self.fileno(), timeout=self.timeout) except SSL.ZeroReturnError: return '' except SSL.SysCallError, ex: raise sslerror(SysCallError_code_mapping.get(ex.args[0], ex.args[0]), ex.args[1]) except SSL.Error, ex: raise sslerror(str(ex))
def recv(self, *args): sock = self._sock # keeping the reference so that fd is not closed during waiting while True: try: return sock.recv(*args) except error, ex: if ex[0] == EBADF: return '' if ex[0] != EWOULDBLOCK or self.timeout == 0.0: raise # QQQ without clearing exc_info test__refcount.test_clean_exit fails sys.exc_clear() try: wait_read(sock.fileno(), timeout=self.timeout, event=self._read_event) except error, ex: if ex[0] == EBADF: return '' raise