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))))
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)) ) )
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])
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)))