Kevin Hu
		
	commited on
		
		
					Commit 
							
							·
						
						016dc40
	
1
								Parent(s):
							
							2082761
								
fix ppt file from filemanager error (#2470)
Browse files### What problem does this PR solve?
#2467
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
    	
        api/apps/file2document_app.py
    CHANGED
    
    | @@ -85,6 +85,7 @@ def convert(): | |
| 85 | 
             
                                    "location": file.location,
         | 
| 86 | 
             
                                    "size": file.size
         | 
| 87 | 
             
                                })
         | 
|  | |
| 88 | 
             
                                file2document = File2DocumentService.insert({
         | 
| 89 | 
             
                                    "id": get_uuid(),
         | 
| 90 | 
             
                                    "file_id": id,
         | 
|  | |
| 85 | 
             
                                    "location": file.location,
         | 
| 86 | 
             
                                    "size": file.size
         | 
| 87 | 
             
                                })
         | 
| 88 | 
            +
                                FileService.set_constant_parser(doc, file.name)
         | 
| 89 | 
             
                                file2document = File2DocumentService.insert({
         | 
| 90 | 
             
                                    "id": get_uuid(),
         | 
| 91 | 
             
                                    "file_id": id,
         | 
    	
        api/db/services/file_service.py
    CHANGED
    
    | @@ -366,14 +366,7 @@ class FileService(CommonService): | |
| 366 | 
             
                                "size": len(blob),
         | 
| 367 | 
             
                                "thumbnail": thumbnail(filename, blob)
         | 
| 368 | 
             
                            }
         | 
| 369 | 
            -
                             | 
| 370 | 
            -
                                doc["parser_id"] = ParserType.PICTURE.value
         | 
| 371 | 
            -
                            if doc["type"] == FileType.AURAL:
         | 
| 372 | 
            -
                                doc["parser_id"] = ParserType.AUDIO.value
         | 
| 373 | 
            -
                            if re.search(r"\.(ppt|pptx|pages)$", filename):
         | 
| 374 | 
            -
                                doc["parser_id"] = ParserType.PRESENTATION.value
         | 
| 375 | 
            -
                            if re.search(r"\.(eml)$", filename):
         | 
| 376 | 
            -
                                doc["parser_id"] = ParserType.EMAIL.value
         | 
| 377 | 
             
                            DocumentService.insert(doc)
         | 
| 378 |  | 
| 379 | 
             
                            FileService.add_file_from_kb(doc, kb_folder["id"], kb.tenant_id)
         | 
| @@ -381,4 +374,15 @@ class FileService(CommonService): | |
| 381 | 
             
                        except Exception as e:
         | 
| 382 | 
             
                            err.append(file.filename + ": " + str(e))
         | 
| 383 |  | 
| 384 | 
            -
                    return err, files
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 366 | 
             
                                "size": len(blob),
         | 
| 367 | 
             
                                "thumbnail": thumbnail(filename, blob)
         | 
| 368 | 
             
                            }
         | 
| 369 | 
            +
                            self.set_constant_parser(doc, filename)
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 370 | 
             
                            DocumentService.insert(doc)
         | 
| 371 |  | 
| 372 | 
             
                            FileService.add_file_from_kb(doc, kb_folder["id"], kb.tenant_id)
         | 
|  | |
| 374 | 
             
                        except Exception as e:
         | 
| 375 | 
             
                            err.append(file.filename + ": " + str(e))
         | 
| 376 |  | 
| 377 | 
            +
                    return err, files
         | 
| 378 | 
            +
             | 
| 379 | 
            +
                @staticmethod
         | 
| 380 | 
            +
                def set_constant_parser(doc, filename):
         | 
| 381 | 
            +
                    if doc["type"] == FileType.VISUAL:
         | 
| 382 | 
            +
                        doc["parser_id"] = ParserType.PICTURE.value
         | 
| 383 | 
            +
                    if doc["type"] == FileType.AURAL:
         | 
| 384 | 
            +
                        doc["parser_id"] = ParserType.AUDIO.value
         | 
| 385 | 
            +
                    if re.search(r"\.(ppt|pptx|pages)$", filename):
         | 
| 386 | 
            +
                        doc["parser_id"] = ParserType.PRESENTATION.value
         | 
| 387 | 
            +
                    if re.search(r"\.(eml)$", filename):
         | 
| 388 | 
            +
                        doc["parser_id"] = ParserType.EMAIL.value
         |