more general fix

This commit is contained in:
Miroslav Stampar 2012-02-24 10:53:28 +00:00
parent e8352e504f
commit 570d3a19c2
3 changed files with 7 additions and 7 deletions

View File

@ -732,6 +732,7 @@ def dataToStdout(data, forceOutput=False):
sys.stdout.write(data.encode(UNICODE_ENCODING)) sys.stdout.write(data.encode(UNICODE_ENCODING))
finally: finally:
sys.stdout.flush() sys.stdout.flush()
setFormatterPrependFlag(len(data) == 1)
if kb.get("multiThreadMode"): if kb.get("multiThreadMode"):
logging._releaseLock() logging._releaseLock()

View File

@ -394,18 +394,22 @@ def __setMultipleTargets():
infoMsg += "testable requests from the targets list" infoMsg += "testable requests from the targets list"
logger.info(infoMsg) logger.info(infoMsg)
def __adjustFormatter(): def __adjustLoggingFormatter():
""" """
Solves problem of line deletition caused by overlapping logging messages Solves problem of line deletition caused by overlapping logging messages
and retrieved data info in inference mode and retrieved data info in inference mode
""" """
if hasattr(FORMATTER, '_format'):
return
def format(record): def format(record):
_ = FORMATTER._format(record) _ = FORMATTER._format(record)
if FORMATTER._prepend_flag: if FORMATTER._prepend_flag:
_ = "\n%s" % _ _ = "\n%s" % _
FORMATTER._prepend_flag = False FORMATTER._prepend_flag = False
return _ return _
FORMATTER._format = FORMATTER.format FORMATTER._format = FORMATTER.format
FORMATTER._prepend_flag = False FORMATTER._prepend_flag = False
FORMATTER.format = format FORMATTER.format = format
@ -1902,7 +1906,7 @@ def init(inputOptions=AttribDict(), overrideOptions=False):
__checkDependencies() __checkDependencies()
__basicOptionValidation() __basicOptionValidation()
__setTorProxySettings() __setTorProxySettings()
__adjustFormatter() __adjustLoggingFormatter()
__setMultipleTargets() __setMultipleTargets()
__setTamperingFunctions() __setTamperingFunctions()
__setTrafficOutputFP() __setTrafficOutputFP()

View File

@ -23,7 +23,6 @@ from lib.core.common import goGoodSamaritan
from lib.core.common import getPartRun from lib.core.common import getPartRun
from lib.core.common import incrementCounter from lib.core.common import incrementCounter
from lib.core.common import safeStringFormat from lib.core.common import safeStringFormat
from lib.core.common import setFormatterPrependFlag
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
@ -450,7 +449,6 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
etaProgressUpdate(time.time() - charStart, len(commonValue)) etaProgressUpdate(time.time() - charStart, len(commonValue))
elif conf.verbose in (1, 2): elif conf.verbose in (1, 2):
dataToStdout(commonValue[index-1:]) dataToStdout(commonValue[index-1:])
setFormatterPrependFlag(True)
finalValue = commonValue finalValue = commonValue
@ -499,7 +497,6 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
etaProgressUpdate(time.time() - charStart, index) etaProgressUpdate(time.time() - charStart, index)
elif conf.verbose in (1, 2): elif conf.verbose in (1, 2):
dataToStdout(val) dataToStdout(val)
setFormatterPrependFlag(True)
if len(partialValue) > INFERENCE_BLANK_BREAK and partialValue[-INFERENCE_BLANK_BREAK:].isspace(): if len(partialValue) > INFERENCE_BLANK_BREAK and partialValue[-INFERENCE_BLANK_BREAK:].isspace():
finalValue = partialValue finalValue = partialValue
@ -507,8 +504,6 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
except KeyboardInterrupt: except KeyboardInterrupt:
abortedFlag = True abortedFlag = True
finally:
setFormatterPrependFlag(False)
if conf.verbose in (1, 2) or showEta: if conf.verbose in (1, 2) or showEta:
dataToStdout("\n") dataToStdout("\n")