X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/a3b9849a54a6cd8a4cc5b1ae03a39aab31322f7b..4c199e7d93b6a4529ed5956807911b5f6c5489a7:/whatsapp_import.go diff --git a/whatsapp_import.go b/whatsapp_import.go index ef2bcba..7071c83 100644 --- a/whatsapp_import.go +++ b/whatsapp_import.go @@ -211,7 +211,7 @@ func (p WhatsAppImportPlan) Write(out io.Writer) error { "owner: " + owner, fmt.Sprintf("bytes: %d (new batch text)", p.bytes), fmt.Sprintf("messages: %d (merged log)", p.messages), - fmt.Sprintf("estimated calls: %.0f (about 1.3 per message, limit %d)", estimate, buildCallLimit), + fmt.Sprintf("estimated calls: %.0f (about 1.3 per message, limit %d)", estimate, rebuildCallLimit), } _, err = io.WriteString(out, strings.Join(lines, "\n")+"\n") @@ -296,6 +296,7 @@ func whatsappImportNames(ctx context.Context, dir string) (names map[string]What } var state WhatsAppStateFile + err = json.Unmarshal(data, &state) if err != nil { return nil, "", fmt.Errorf("decode pending import names: %w", err) @@ -451,6 +452,7 @@ func whatsappImportPlan(ctx context.Context, paths []string, old []DatedMessage, } var err error + plan.added, err = rebuildMerge(nil, plan.added) if err != nil { return plan, fmt.Errorf("order import batches: %w", err) @@ -485,6 +487,7 @@ func whatsappImportRead(path, owner string, location *time.Location) (chat Whats }() var file *zip.File + for _, entry := range archive.File { if filepath.Base(entry.Name) == "_chat.txt" && !entry.FileInfo().IsDir() { if file != nil { @@ -517,6 +520,7 @@ func whatsappImportRead(path, owner string, location *time.Location) (chat Whats scanner := bufio.NewScanner(io.LimitReader(reader, whatsappImportBytes+1)) scanner.Buffer(make([]byte, 64*1024), buildLineBytes) + for scanner.Scan() { line := strings.ReplaceAll(scanner.Text(), "\u200e", "") match := whatsappImportStart.FindStringSubmatch(line)