Sfoglia il codice sorgente

:art: Improve asset content searching

Daniel 1 anno fa
parent
commit
71f87cfd55
1 ha cambiato i file con 15 aggiunte e 8 eliminazioni
  1. 15 8
      kernel/model/asset_content.go

+ 15 - 8
kernel/model/asset_content.go

@@ -76,6 +76,7 @@ func GetAssetContent(id, query string, queryMethod int) (ret *AssetContent) {
 		return
 		return
 	}
 	}
 	ret = results[0]
 	ret = results[0]
+	ret.Content = strings.ReplaceAll(ret.Content, "\n", "<br>")
 	return
 	return
 }
 }
 
 
@@ -494,20 +495,26 @@ func (parser *TxtAssetParser) Parse(absPath string) (ret *AssetParseResult) {
 		return
 		return
 	}
 	}
 
 
-	data, err := filelock.ReadFile(absPath)
+	tmp := copyTempAsset(absPath)
+	if "" == tmp {
+		return
+	}
+	defer os.RemoveAll(tmp)
+
+	data, err := os.ReadFile(tmp)
 	if nil != err {
 	if nil != err {
 		logging.LogErrorf("read file [%s] failed: %s", absPath, err)
 		logging.LogErrorf("read file [%s] failed: %s", absPath, err)
 		return
 		return
 	}
 	}
 
 
-	content := normalizeAssetContent(string(data))
+	content := string(data)
 	ret = &AssetParseResult{
 	ret = &AssetParseResult{
 		Content: content,
 		Content: content,
 	}
 	}
 	return
 	return
 }
 }
 
 
-func normalizeAssetContent(content string) (ret string) {
+func normalizeNonTxtAssetContent(content string) (ret string) {
 	ret = strings.Join(strings.Fields(content), " ")
 	ret = strings.Join(strings.Fields(content), " ")
 	return
 	return
 }
 }
@@ -566,7 +573,7 @@ func (parser *DocxAssetParser) Parse(absPath string) (ret *AssetParseResult) {
 		return
 		return
 	}
 	}
 
 
-	var content = normalizeAssetContent(data)
+	var content = normalizeNonTxtAssetContent(data)
 	ret = &AssetParseResult{
 	ret = &AssetParseResult{
 		Content: content,
 		Content: content,
 	}
 	}
@@ -604,7 +611,7 @@ func (parser *PptxAssetParser) Parse(absPath string) (ret *AssetParseResult) {
 		return
 		return
 	}
 	}
 
 
-	var content = normalizeAssetContent(data)
+	var content = normalizeNonTxtAssetContent(data)
 	ret = &AssetParseResult{
 	ret = &AssetParseResult{
 		Content: content,
 		Content: content,
 	}
 	}
@@ -651,7 +658,7 @@ func (parser *XlsxAssetParser) Parse(absPath string) (ret *AssetParseResult) {
 		}
 		}
 	}
 	}
 
 
-	var content = normalizeAssetContent(buf.String())
+	var content = normalizeNonTxtAssetContent(buf.String())
 	ret = &AssetParseResult{
 	ret = &AssetParseResult{
 		Content: content,
 		Content: content,
 	}
 	}
@@ -744,7 +751,7 @@ func (parser *PdfAssetParser) Parse(absPath string) (ret *AssetParseResult) {
 			logging.LogErrorf("convert [%s] failed: [%s]", tmp, err)
 			logging.LogErrorf("convert [%s] failed: [%s]", tmp, err)
 			return
 			return
 		}
 		}
-		content += " " + normalizeAssetContent(pt.Text)
+		content += " " + normalizeNonTxtAssetContent(pt.Text)
 	}
 	}
 
 
 	ret = &AssetParseResult{
 	ret = &AssetParseResult{
@@ -784,7 +791,7 @@ func (parser *EpubAssetParser) Parse(absPath string) (ret *AssetParseResult) {
 		return
 		return
 	}
 	}
 
 
-	content := normalizeAssetContent(buf.String())
+	content := normalizeNonTxtAssetContent(buf.String())
 	ret = &AssetParseResult{
 	ret = &AssetParseResult{
 		Content: content,
 		Content: content,
 	}
 	}