summaryrefslogtreecommitdiff
path: root/cmd/rescribe
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/rescribe')
-rw-r--r--cmd/rescribe/gui.go8
-rw-r--r--cmd/rescribe/main.go32
-rw-r--r--cmd/rescribe/xyz.rescribe.rescribe.yml16
3 files changed, 43 insertions, 13 deletions
diff --git a/cmd/rescribe/gui.go b/cmd/rescribe/gui.go
index 8790f03..73f1db2 100644
--- a/cmd/rescribe/gui.go
+++ b/cmd/rescribe/gui.go
@@ -134,14 +134,18 @@ func trainingSelectOnChange(sel *widget.Select, parent fyne.Window) func(string)
newpath := filepath.Join(os.Getenv("TESSDATA_PREFIX"), name)
f, err := os.Create(newpath)
if err != nil {
- // TODO: surface error somewhere, prob with a dialog box
+ msg := fmt.Sprintf("Error creating temporary file to store custom training: %v\n", err)
+ dialog.ShowError(errors.New(msg), parent)
+ fmt.Fprintf(os.Stderr, msg)
sel.SetSelectedIndex(0)
return
}
defer f.Close()
_, err = io.Copy(f, uri)
if err != nil {
- // TODO: surface error somewhere, prob with a dialog box
+ msg := fmt.Sprintf("Error copying custom training to temporary file: %v\n", err)
+ dialog.ShowError(errors.New(msg), parent)
+ fmt.Fprintf(os.Stderr, msg)
sel.SetSelectedIndex(0)
return
}
diff --git a/cmd/rescribe/main.go b/cmd/rescribe/main.go
index b33a66c..f532678 100644
--- a/cmd/rescribe/main.go
+++ b/cmd/rescribe/main.go
@@ -241,11 +241,33 @@ These training files are included in rescribe, and are always available:
}
}
- // if trainingPath doesn't exist, set it to the embedded training instead
- _, err = os.Stat(trainingPath)
- if err != nil && !os.IsExist(err) {
- trainingPath = filepath.Base(trainingPath)
- trainingPath = filepath.Join(tessdatadir, trainingPath)
+ // copy training path to the tessdir directory, so that we can keep that a
+ // writeable space, which is needed opening other trainings in sandboxes
+ // like flatpak
+ in, err := os.Open(trainingPath)
+ trainingPath = filepath.Join(tessdatadir, filepath.Base(trainingPath))
+ if err != nil {
+ in, err = os.Open(trainingPath)
+ if err != nil {
+ log.Fatalf("Error opening training file %s: %v", trainingPath, err)
+ }
+ }
+ defer in.Close()
+ newPath := trainingPath + ".new"
+ out, err := os.Create(newPath)
+ if err != nil {
+ log.Fatalf("Error creating training file %s: %v", newPath, err)
+ }
+ defer out.Close()
+ _, err = io.Copy(out, in)
+ if err != nil {
+ log.Fatalf("Error copying training file to %s: %v", newPath, err)
+ }
+ in.Close()
+ out.Close()
+ err = os.Rename(newPath, trainingPath)
+ if err != nil {
+ log.Fatalf("Error moving new training file to %s: %v", trainingPath, err)
}
abstraining, err := filepath.Abs(trainingPath)
diff --git a/cmd/rescribe/xyz.rescribe.rescribe.yml b/cmd/rescribe/xyz.rescribe.rescribe.yml
index ae87d59..d994b88 100644
--- a/cmd/rescribe/xyz.rescribe.rescribe.yml
+++ b/cmd/rescribe/xyz.rescribe.rescribe.yml
@@ -1,6 +1,6 @@
app-id: xyz.rescribe.rescribe
runtime: org.freedesktop.Platform
-runtime-version: '22.08'
+runtime-version: '23.08'
sdk: org.freedesktop.Sdk
sdk-extensions: org.freedesktop.Sdk.Extension.golang
build-options:
@@ -30,12 +30,16 @@ modules:
- cp -r tessdata/* $FLATPAK_DEST/share/tessdata/
sources:
- type: git
- url: https://github.com/rescribe/bookpipeline
- tag: v1.1.0
- commit: 3dd003691436ed954d3b7de54affbb10b509d5a6
+ url: ../..
+ commit: HEAD
+ #url: https://github.com/rescribe/bookpipeline
+ #tag: v1.1.0
+ #commit: 3dd003691436ed954d3b7de54affbb10b509d5a6
- type: archive
- url: https://rescribe.xyz/rescribe/modules-20230213-3dd003.tar.xz
- sha256: 36553c4b97ceefc2c4711d18f26c98d89a9a610cb99bd2a38b7a0bbf3236eb4a
+ url: https://rescribe.xyz/tmp/modules.tar.xz # TODO: move to /rescribe once stable
+ sha256: 98b769cf61cc4178303e7d9e0aa0e036f819a46041aa442982713cb847e4657a
+ #url: https://rescribe.xyz/rescribe/modules-20230213-3dd003.tar.xz
+ #sha256: 36553c4b97ceefc2c4711d18f26c98d89a9a610cb99bd2a38b7a0bbf3236eb4a
strip-components: 0
- type: archive
url: https://rescribe.xyz/rescribe/embeds/tessdata.20220322.zip