Best Python code snippet using fMBT_python
fmbtlogger.py
Source:fmbtlogger.py
...149 raise TypeError("LogWriter instance expected as the second parameter")150 if type(obj) in [types.TypeType, types.ClassType]:151 return _logInstances(obj, logWriter, logDepth)152 else:153 return _logCalls(obj, logWriter, logDepth)154def _logInstances(orig_class, report, logDepth):155 def _detectInstantiations(*args, **kwargs):156 orig_self = orig_class(*args, **kwargs)157 return _logCalls(orig_self, report, logDepth)158 return _detectInstantiations159def _logCalls(orig_self, report, logDepth_):160 """161 logger(object) starts logging method calls of the object162 """163 class localVars: pass164 localVars.logDepth = logDepth_165 localVars.testStep = -1166 localVars.actionName = None167 def logMethodCall(func, throughInstance = None):168 def callee(*args, **kwargs):169 currentTestStep = fmbt.getTestStep()170 if localVars.testStep != currentTestStep:171 if localVars.actionName not in [None, "undefined"]:172 report.end(localVars.actionName)173 localVars.testStep = currentTestStep...
errorhandler.py
Source:errorhandler.py
1#!/usr/bin/env python2"""cssutils ErrorHandler34ErrorHandler5 used as log with usual levels (debug, info, warn, error)67 if instanciated with ``raiseExceptions=True`` raises exeptions instead8 of logging910log11 defaults to instance of ErrorHandler for any kind of log message from12 lexerm, parser etc.1314 - raiseExceptions = [False, True]15 - setloglevel(loglevel)16"""17__all__ = ['ErrorHandler']18__docformat__ = 'restructuredtext'19__author__ = '$LastChangedBy: cthedot $'20__date__ = '$LastChangedDate: 2007-10-18 22:43:15 +0200 (Do, 18 Okt 2007) $'21__version__ = '$LastChangedRevision: 503 $'2223import logging24import xml.dom2526class _ErrorHandler(object):27 """28 handles all errors and log messages29 """3031 def __init__(self, log,32 defaultloglevel=logging.DEBUG, raiseExceptions=False):33 """34 inits log if none given3536 log37 for parse messages, default logs to sys.stderr38 defaultloglevel39 if none give this is logging.DEBUG40 raiseExceptions41 - True: Errors will be reported to the calling app,42 e.g. during building43 - False: Errors will be written to the log, this is the44 default behaviour when parsing45 """46 if log:47 self._log = log48 else:49 import sys50 self._log = logging.getLogger('CSSUTILS')51 hdlr = logging.StreamHandler(sys.stderr)52 formatter = logging.Formatter('%(levelname)s\t%(message)s')53 hdlr.setFormatter(formatter)54 self._log.addHandler(hdlr)55 self._log.setLevel(defaultloglevel)5657 self.raiseExceptions = raiseExceptions585960 def __getattr__(self, name):61 # here if new log has been set62 _logcalls = {63 u'debug': self._log.debug,64 u'info': self._log.info,65 u'warn': self._log.warn,66 u'critical': self._log.critical,67 u'fatal': self._log.fatal,68 u'error': self._log.error69 }7071 if name in _logcalls.keys():72 self._logcall = _logcalls[name]73 return self.__handle74 else:75 raise AttributeError(76 '(errorhandler) No Attribute "%s" found' % name)777879 def setlog(self, log):80 """set log of errorhandler's log"""81 self._log = log828384 def setloglevel(self, level):85 """set level of errorhandler's log"""86 self._log.setLevel(level)878889 def __handle(self, msg=u'', token=None, error=xml.dom.SyntaxErr,90 neverraise=False):91 """92 handles all calls93 logs or raises exception94 """95 if token:96 if isinstance(token, tuple):97 msg = u'%s [%s:%s: %s]' % (98 msg, token[2], token[3], token[1])99 else:100 msg = u'%s [%s:%s: %s]' % (101 msg, token.line, token.col, token.value)102103 if error and self.raiseExceptions and not neverraise:104 raise error(msg)105 else:106 self._logcall(msg)107108109class ErrorHandler(_ErrorHandler):110 "Singleton, see _ErrorHandler"111112 instance = None113114 def __init__(self,115 log=None, defaultloglevel=logging.INFO, raiseExceptions=True):116117 if ErrorHandler.instance is None:118 ErrorHandler.instance = _ErrorHandler(log=log,119 defaultloglevel=defaultloglevel,120 raiseExceptions=raiseExceptions)
...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!