def _setRecordFiles(): for (target, pocname, pocid, component, version, status, r_time, result) in kb.results: if type(status) != str: status = status[1] outputPath = os.path.join(getUnicode(paths.POCSUITE_OUTPUT_PATH), normalizeUnicode(getUnicode(target))) if not os.path.isdir(outputPath): try: os.makedirs(outputPath, 0755) except (OSError, IOError), ex: try: tempDir = tempfile.mkdtemp(prefix="pocsuitetoutput") except Exception, _: errMsg = "unable to write to the temporary directory ('%s'). " % _ errMsg += "Please make sure that your disk is not full and " errMsg += "that you have sufficient write permissions to " errMsg += "create temporary files and/or directories" raise PocsuiteSystemException(errMsg) warnMsg = "unable to create output directory " warnMsg += "'%s' (%s). " % (outputPath, getUnicode(ex)) warnMsg += "Using temporary directory '%s' instead" % getUnicode(tempDir) logger.warn(warnMsg) outputPath = tempDir
def _createTargetDirs(): """ Create the output directory. """ if not os.path.isdir(paths.POCSUITE_OUTPUT_PATH): try: if not os.path.isdir(paths.POCSUITE_OUTPUT_PATH): os.makedirs(paths.POCSUITE_OUTPUT_PATH, 0755) warnMsg = "using '%s' as the output directory" % paths.POCSUITE_OUTPUT_PATH logger.log(CUSTOM_LOGGING.WARNING, warnMsg) except (OSError, IOError), ex: try: tempDir = tempfile.mkdtemp(prefix="pocsuiteoutput") except Exception, _: errMsg = "unable to write to the temporary directory ('%s'). " % _ errMsg += "Please make sure that your disk is not full and " errMsg += "that you have sufficient write permissions to " errMsg += "create temporary files and/or directories" raise PocsuiteSystemException(errMsg) warnMsg = "unable to create regular output directory " warnMsg += "'%s' (%s). " % (paths.POCSUITE_OUTPUT_PATH, getUnicode(ex)) warnMsg += "Using temporary directory '%s' instead" % getUnicode(tempDir) logger.log(CUSTOM_LOGGING.WARNING, warnMsg) paths.POCUSITE_OUTPUT_PATH = tempDir
def _setRecordFiles(): for (target, pocname, pocid, component, version, status, r_time, result) in kb.results: if type(status) != str: status = status[1] outputPath = os.path.join(getUnicode(paths.POCSUITE_OUTPUT_PATH), normalizeUnicode(getUnicode(target))) # colon is illegal in windows file system if "Windows" in platform.platform(): # replace colon between ip and port as "-", avoid unicode replace error # bypass the first colon in drive letter like "C:\" outputPath = outputPath[:4] + outputPath[4:].replace(":", "-") if not os.path.isdir(outputPath): try: os.makedirs(outputPath, 0755) except (OSError, IOError), ex: try: tempDir = tempfile.mkdtemp(prefix="pocsuitetoutput") except Exception, _: errMsg = "unable to write to the temporary directory ('%s'). " % _ errMsg += "Please make sure that your disk is not full and " errMsg += "that you have sufficient write permissions to " errMsg += "create temporary files and/or directories" raise PocsuiteSystemException(errMsg) warnMsg = "unable to create output directory " warnMsg += "'%s' (%s). " % (outputPath, getUnicode(ex)) warnMsg += "Using temporary directory '%s' instead" % getUnicode( tempDir) logger.warn(warnMsg) outputPath = tempDir
warnMsg = "unable to create output directory " warnMsg += "'%s' (%s). " % (outputPath, getUnicode(ex)) warnMsg += "Using temporary directory '%s' instead" % getUnicode(tempDir) logger.warn(warnMsg) outputPath = tempDir recordFile = os.path.join(outputPath, "record.txt") if not os.path.isfile(recordFile): try: with open(recordFile, "w") as f: f.write("poc-name,poc-id,component,version,status,time,result") except IOError, ex: if "denied" in getUnicode(ex): errMsg = "you don't have enough permissions " else: errMsg = "something went wrong while trying " errMsg += "to write to the output directory '%s' (%s)" % (paths.POCSUITE_OUTPUT_PATH, ex) raise PocsuiteMissingPrivileges(errMsg) try: with open(recordFile, "a+") as f: f.write("\n" + ",".join([pocname, pocid, component, version, status, r_time, result])) except IOError, ex: if "denied" in getUnicode(ex): errMsg = "you don't have enough permissions " else: errMsg = "something went wrong while trying "
def modulePath(): """ @function the function will get us the program's directory """ return getUnicode(os.path.dirname(os.path.realpath(__file__)), sys.getfilesystemencoding())