Beispiel #1
0
def AddFileProperties(grph, current_node, current_filename):
    try:
        import win32api
        import lib_win32

        prop_dict = lib_win32.getFileProperties(current_filename)
        for prp, val in prop_dict.items():
            val = prop_dict[prp]
            if val is None:
                continue

            if isinstance(val, dict):
                val = json.dumps(val)
                # TODO: Unicode error encoding=ascii
                # 169	251	A9	10101001	"Copyright"	©	©	Copyright sign
                # Might contain this: "LegalCopyright Copyright \u00a9 2010"
                val = val.replace("\\", "\\\\")
            grph.add((current_node, lib_common.MakeProp(prp),
                      lib_common.NodeLiteral(val)))
    except ImportError:
        pass

    file_mime_type = lib_mime.FilenameToMime(current_filename)
    if file_mime_type:
        if file_mime_type[0]:
            grph.add((current_node, lib_common.MakeProp("Mime type"),
                      lib_common.NodeLiteral(str(file_mime_type))))
Beispiel #2
0
def AddFileProperties(grph,currNode,currFilNam):
	try:
		import win32api
		import lib_win32

		propDict = lib_win32.getFileProperties(currFilNam)
		for prp, val in propDict.items():
			val = propDict[prp]
			if val is None:
				continue

			if isinstance( val, dict ):
				# val = ", ".join( "%s=%s" % (k,val[k]) for k in val )
				val = json.dumps(val)
				# TODO: Unicode error encoding=ascii
				# 169	251	A9	10101001	"Copyright"	©	©	Copyright sign
				# Might contain this: "LegalCopyright Copyright \u00a9 2010"
				val = val.replace("\\","\\\\")
			grph.add( ( currNode, lib_common.MakeProp(prp), lib_common.NodeLiteral(val) ) )
	except ImportError:
		pass

	mimTy = lib_mime.FilenameToMime(currFilNam)
	if mimTy:
		if mimTy[0]:
			grph.add( ( currNode, lib_common.MakeProp("Mime type"), lib_common.NodeLiteral(str(mimTy)) ) )
Beispiel #3
0
def AddHtml( grph, filNode, filNam ):
	# Get the mime type, maybe with Magic. Then return a URL with for this mime type.
	# This is a separated script because it returns HTML data, not RDF.

	mime_stuff = lib_mime.FilenameToMime( filNam )
	mime_type = mime_stuff[0]

	if mime_type:
		lib_mime.AddMimeUrl(grph,filNode, "CIM_DataFile",mime_type,[filNam])
Beispiel #4
0
def DisplayAsMime(grph, node, entity_ids_arr):
    file_name = entity_ids_arr[0]

    mime_stuff = lib_mime.FilenameToMime(file_name)

    DEBUG("DisplayAsMime fileName=%s MIME:%s", file_name, str(mime_stuff))

    mime_type = mime_stuff[0]

    # It could also be a binary stream.
    if mime_type == None:
        lib_common.ErrorMessageHtml("No mime type for %s" % file_name)

    # TODO: Find a solution for JSON files such as:
    # "No mime type for C:\Users\rchateau\AppData\Roaming\Mozilla\Firefox\Profiles\gciw4sok.default/dh-ldata.json"

    try:
        # TODO: Change this with WSGI.
        lib_util.CopyFile(mime_type, file_name)
    except Exception as exc:
        lib_common.ErrorMessageHtml(
            "file_to_mime.py Reading fileName=%s, caught:%s" %
            (file_name, str(exc)))