staging.inyokaproject.org

Programm zu Verwaltung von Kochrezepten

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

ujaudio

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

Nachdem Gourmet schon lange nicht mehr funktioniert und der Nachfolger Gourmand nun auch nicht mehr, stellt sich die Frage: welche Möglichkeiten bieten gibt es für Ubuntu 24.04?

Wünschenswert wäre auch eine Importfunktion für eines der vielen Formate, die Gourmand exportieren kann. Wie kann ich meiner lieben Ehefrau helfen? Eine komplette Datenbak-Anwendung zu schreiben traue ich mir definitiv nicht zu. Wer hat Ideen?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Du könntest dir mal https://tandoor.dev/c/rk1 ansehen - das bietet die Möglichkeit alles selber zu hosten, die kostenpflichtigen Optionen sind nur dazu da, wenn man sich den Betrieb des Servers nicht selber ans Bein binden will. Der Import von Gourmet-Dateien sollte laut https://docs.tandoor.dev/features/import_export/ möglich sein.

Balu62

Avatar von Balu62

Anmeldungsdatum:
22. Oktober 2007

Beiträge: 977

Ich kann mich nur der Empfehlung von seahawk1986 für Tandoor anschliessen! Ich habe selbst auch längere Zeit nach einer wirklich guten Rezeptverwaltung gesucht und bin schlussendlich bei Tandoor gelandet. Toll ist auch, dass Du Tandoor OS-unabhängig nutzen kannst, d.h. sowohl auf dem PC wie auch auf einem Tablet oder Smartphone. Nebst den zahlreichen Importmöglichkeiten von Apps (für die bestehende Sammlung), ist die Importfunktion von Webseiten eine tolle Sache, um neue Rezepte aus dem Netz hinzu zu fügen 😎

ujaudio

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

Danke! Ich kümmere mich nächste Woche darum.

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55572

ujaudio schrieb:

Nachdem Gourmet schon lange nicht mehr funktioniert und der Nachfolger Gourmand nun auch nicht mehr

Was konkret geht denn da nicht mehr (also bei gourmand)?

ujaudio

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

tomtomtom schrieb:

Was konkret geht denn da nicht mehr (also bei gourmand)?

Ich habe vor einiger Zeit einen unserer PCs von 22.04 auf 24.04 hochgerüstet und Gourmand funktionierte einfach gar nicht mehr. Nachdem ich schon von Gourmet nach Gourmand wechseln musste und letzteres auch einige Bugs hat (mit denen meine Frau gerade noch so leben konnte), hatte ich auch keine Lust, mich weiter damit zu beschäftigen. Sobald auf dem hocherüsteten PC wieder alle Rezepte nutzbar sind (ich werde tandoor installieren, habe nur in diesen Tagen keine Zeit), kann ich den anderen PC, auf dem noch 22.04 läuft hochrüsten und mal genauer hinschauen, was Gourmand betrifft. Die Frage ist nur: wen interesiert es?

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55572

Tja, um das zu reproduzieren hab ich das mal auf einem 24.04 installiert. "Funktioniert einfach gar nicht" lässt sich da nicht reproduzieren, da das Programm völlig normal startet und nutzbar ist.

Zur Frage wen das interessiert: DU hast behauptet, es funktioniert nicht. Ohne auch nur eine einzige verwertbare Angabe. Offensichtlich eine Falschberatung.

Und jetzt suchst du also nach einer Alternative für ein offensichtlich funktionierendes Programm, weil dieses laut deiner Aussage angeblich nicht funktioniert, nur dass du nicht mal sagen kannst was.

Klingt dann doch irgendwie trollig.

ujaudio

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

Ausgangssituation 22.04: Gourmand installiert, meine Frau klickt auf das Gourmand-Icon auf dem Desktop, das Programm funktioniert, meine Frau ist glücklich.

Ich rüste auf 24.04 hoch, meine Frau klickt auf das Gourmand-Icon auf dem Desktop, nichts passiert, ich bekomme Stress ☺

Das Ganze hatte ich schon mal, als nach dem Hochrüsten Gourmet nicht mehr funktionierte. Deshalb habe ich erst gar nichts weiter unternommen. Aber wenn du als Spezialist sagst, es funktioniert doch, dann werde ich das mal probieren, meine Frau wäre jedenfalls sehr glücklich.

Nachtrag: Ich habe versucht Gourmand gemäß Anleitung mit flatpack zu installieren und bekomme eine Fehlermeldung:

Fehler: The application io.github.GourmandRecipeManager.Gourmand/x86_64/master requires the runtime org.gnome.Platform/x86_64/46 which was not found

Ich kann mich jetzt leider nicht weiter damit beschäftigen, aber ich bleibe dran.

ujaudio

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

So, nun läuft nach kompletter Neuinstallation endlich der neue PC für meine Frau so wie er soll, doch leider macht gourmand Probleme: * gourmand konnte mit flatpak fehlerfrei und problemlos installiert werden - und funktioniert nun soweit. * Leider funktioniert eine wirklich wichtige Funktion nicht: Import von vorhandenen Rezepten.

Nach Klick auf den entsprechenden Menüpunkt passiert einfach nichts. Auf dem alten PC öffnet sich ein Fenster, wo man dann wie üblich die gewünchte Datei für den Import auswählen kann. Eigentlich wollte ich die Rezepte vom altn PC exportieren (funktioniert) und auf dem neuen importieren. Viele 100 Rezepte neu schreiben macht wenig Sinn.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Hallo ujaudio,

da du die "flatpak" Installation gewählt hast, läuft "gourmand" in einer Sandbox und hat somit keinen Zugriff auf den kompletten Rechner. Wenn du dennoch Daten aus irgendeinem Verzeichnis importieren willst, musst du den Zugriff auf das Verzeichnis für die flatpak-gourmand Applikation frei geben.

Dies geht für dich wahrscheinlich am einfachsten, indem du die flatpak app "com.github.tchx84.Flatseal" installierst und damit für "gourmand" die Ordner frei schaltest, auf die du für den Import den Zugriff benötigst.

ujaudio

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

Danke @shiro, aber leider hilft das nicht, bzw. habe ich es noch nicht richtig eingestellt. Ich kann ein oder mehrere Rezepte auf USB-Stick exportieren. Aber trotz Flatseal passiert nach Klick auf den nicht(!) ausgegrauten Menüeintrag "import recipe" einfach nichts. Hilft es, wenn ich ein Bildschirmfoto von den Einstellungen mache? https://media-cdn.ubuntu-de.org/forum/attachments/temp/e5a8444c957d06e7d10a24f2e52f221b

Bilder

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Du hast Recht. Offenbar wird die alte Python3.10 Umgebung verwendet und nicht die bei mir installierte neuere Version. Da hat der Programmierer offenbar noch einen zu beseitigenden Fehler, den man ihm aber bereits gemeldet hat (siehe: https://github.com/GourmandRecipeManager/gourmand/issues/196).

Bis der Programmierer die üblichen Python Versionsprobleme bereinigt hat, kannst du einen Versuch wagen, die alten Rezepte zu übernehmen. Voraussetzung ist, dass die alte Datenbank mit deinen Rezepten sich nicht von der Struktur der neuen wesentlich unterscheidet. Da ich deine Datenbank nicht kenne, kannst nur du dies feststellen, weshalb ich den folgenden Versuch vorschlage.

Ich habe daher mal die github Version per flatpak installiert und aufgerufen:

$ # hole Paket
$  wget -o /dev/null https://github.com/GourmandRecipeManager/gourmand/releases/download/1.1.0/gourmand-1.1.0.flatpak
$ # und nun bei mir im "--user" Mode installieren (muss bei dir nicht gemacht werden)
$ flatpak install --user gourmand-1.1.0.flatpak
Required runtime for io.github.GourmandRecipeManager.Gourmand/x86_64/master (runtime/org.gnome.Platform/x86_64/46) found in remote flathub
Möchten Sie es installieren? [Y/n]: 

Info: runtime org.gnome.Platform branch 46 is end-of-life, with reason:
   The GNOME 46 runtime is no longer supported as of April 17, 2025. Please ask your application developer to migrate to a supported platform.
Info: applications using this runtime:
        KENNUNG                                               Zweig                    Op              Gegenstelle                 Herunterladen
 1. [✓] org.freedesktop.Platform.GL.default                   23.08                    i               flathub                     169,2 MB / 169,7 MB
 2. [✓] org.freedesktop.Platform.GL.default                   23.08-extra              i               flathub                      23,7 MB / 169,7 MB
 3. [✓] org.freedesktop.Platform.VAAPI.Intel                  23.08                    i               flathub                      13,4 MB / 13,6 MB
 4. [✓] org.freedesktop.Platform.openh264                     2.4.1                    i               flathub                     920,7 KB / 976,5 KB
 5. [✓] org.gnome.Platform.Locale                             46                       i               flathub                      24,3 MB / 379,7 MB
 6. [✓] org.gtk.Gtk3theme.Greybird                            3.22                     i               flathub                      54,1 KB / 91,8 KB
 7. [✓] org.gnome.Platform                                    46                       i               flathub                     309,2 MB / 364,4 MB
 8. [✓] io.github.GourmandRecipeManager.Gourmand              master                   i               gourmand-origin             0 Bytes

Installation abgeschlossen.
$ # nun die Applikation starten
$ flatpak run io.github.GourmandRecipeManager.Gourmand
args = Namespace(db_url='', threads=False, gourmanddir='', thread_debug_interval=5.0, thread_debug=False, debug_file='', time=False, debug=None)

** (process:40794): WARNING **: 18:36:20.866: Error writing credentials to socket: Fehler beim Senden der Nachricht: Datenübergabe unterbrochen (broken pipe)
First time? We're setting you up with yummy recipes.
Plugin  html_plugin not found
Plugin  archive_plugin not found

(gourmand:2): Gtk-WARNING **: 18:36:22.012: Unable to parse accelerator '<Strg>B' for action 'ItemToShoppingList'

(gourmand:2): Gtk-WARNING **: 18:36:22.012: Unable to parse accelerator '<Strg>D' for action 'ItemToPantry'

(gourmand:2): Gtk-WARNING **: 18:36:22.021: Unable to parse accelerator '<Strg>B' for action 'ItemToShoppingList'

(gourmand:2): Gtk-WARNING **: 18:36:22.021: Unable to parse accelerator '<Strg>D' for action 'ItemToPantry'
DEBUG:   /app/lib/python3.10/site-packages/gourmand/Undo.py: 488 gui_update
DEBUG:   /app/lib/python3.10/site-packages/gourmand/Undo.py: 512 Nothing to undo, desensitizing widgets
DEBUG:   /app/lib/python3.10/site-packages/gourmand/Undo.py: 482 set_sensitive
DEBUG:   /app/lib/python3.10/site-packages/gourmand/Undo.py: 482 set_sensitive
DEBUG:   /app/lib/python3.10/site-packages/gourmand/Undo.py: 482 set_sensitive
....
Nach Strg-M (Import Recipe)
....
Traceback (most recent call last):
  File "/app/lib/python3.10/site-packages/gourmand/main.py", line 644, in do_import
    self.importManager.offer_import(parent=self.app.get_toplevel())
  File "/app/lib/python3.10/site-packages/gourmand/importers/importManager.py", line 59, in offer_import
    uris = de.get_uri(
  File "/app/lib/python3.10/site-packages/gourmand/gtk_extras/dialog_extras.py", line 1209, in get_uri
    d = URIDialog(*args, **kwargs)
  File "/app/lib/python3.10/site-packages/gourmand/gtk_extras/dialog_extras.py", line 1134, in __init__
    self.entry = ValidatingEntry()
  File "/app/lib/python3.10/site-packages/gourmand/gtk_extras/validation.py", line 41, in __init__
    self.add(self.warning_box)
RuntimeError: object at 0x719c7da5c600 of type ValidatingEntry is not initialized
....
An obiger Meldung siehst du, warum der Import noch nicht funktioniert.
Ich habe dann noch manuell ein neues Rezept "Müsli" erfasst.
Nach Strg-Q (Beenden)
....

Die Idee ist, die alte Datenbank für die neue Applikation bereit zu stellen. Die Flatpak Applikation speichert alle Daten unter dem "~/.vat/app/" Zweig. Die alte (deb) Applikation legt die Datenbank normalerweise unter "~/.local/share/gourmand/" ab.

$ cd ~/.var/app/io.github.GourmandRecipeManager.Gourmand/data/gourmand
$ ls -sh1
insgesamt 148K
4,0K preferences.toml
144K recipes.db
$ # neue db sichern und alte in dieses Verzeichnis kopieren
$ mv recipes.db recipes.db.sav
$ cp -p ~/.local/share/gourmand/recipes.db .
$ ls -sh1
insgesamt 292K
4,0K preferences.toml
144K recipes.db
144K recipes.db.sav
$ # Prüfe die Inhalte alt und neu (.db.sav)
$ sqlite3 recipes.db 'select title from recipe;'
Patti's Sourdough
Hong Kong Milk Tea Ice Cream
$ sqlite3 recipes.db.sav 'select title from recipe;'
Patti's Sourdough
Hong Kong Milk Tea Ice Cream
Müsli
$ 

Nach erneutem Starten (flatpak run io.github.GourmandRecipeManager.Gourmand) werden die alten Rezepte gefunden. Wenn nicht, ist dieser Versuch gescheitert.

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55572

Was konkret spricht denn dagegen einfach die nativ aus den Paketquellen installierbare Version zu nutzen, die nicht den Flatpak-Restriktionen unterliegt?

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

tomtomtom schrieb:

Was konkret spricht denn dagegen einfach die nativ aus den Paketquellen installierbare Version zu nutzen, die nicht den Flatpak-Restriktionen unterliegt?

Die Version lässt sich installieren aber nicht verwenden. Fehlermeldung:

$ gourmand
args = Namespace(db_url='', threads=False, gourmanddir='', thread_debug_interval=5.0, thread_debug=False, debug_file='', time=False, debug=None)
Plugin  html_plugin not found
Plugin  archive_plugin not found

(gourmand:45040): Gtk-WARNING **: 19:57:29.562: Unable to parse accelerator '<Strg>B' for action 'ItemToShoppingList'

(gourmand:45040): Gtk-WARNING **: 19:57:29.562: Unable to parse accelerator '<Strg>D' for action 'ItemToPantry'

(gourmand:45040): Gtk-WARNING **: 19:57:29.571: Unable to parse accelerator '<Strg>B' for action 'ItemToShoppingList'

(gourmand:45040): Gtk-WARNING **: 19:57:29.571: Unable to parse accelerator '<Strg>D' for action 'ItemToPantry'
Traceback (most recent call last):
  File "/usr/bin/gourmand", line 33, in <module>
    sys.exit(load_entry_point('gourmand==1.0.0', 'gui_scripts', 'gourmand')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gourmand/main.py", line 624, in launch_app
    RecGui.instance()
  File "/usr/lib/python3/dist-packages/gourmand/main.py", line 848, in instance
    RecGui.__single = cls()
                      ^^^^^
  File "/usr/lib/python3/dist-packages/gourmand/main.py", line 863, in __init__
    RecIndex.__init__(self,
  File "/usr/lib/python3/dist-packages/gourmand/recindex.py", line 64, in __init__
    self.setup_widgets()
  File "/usr/lib/python3/dist-packages/gourmand/recindex.py", line 139, in setup_widgets
    self.setup_search_views()
  File "/usr/lib/python3/dist-packages/gourmand/recindex.py", line 211, in setup_search_views
    sort_by=self.sort_by)
            ^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gourmand/main.py", line 889, in sort_by
    column, ascending = preferences.values()
    ^^^^^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
$ 

Ja, die üblichen Probleme bei Python Anwendungen. Da muss man halt noch ein wenig Gehirnschmalz investieren.

ujaudio

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 689

@shiro : die "alte" Datenbank funktioniert auch mit der neuen Version. Danke!

Antworten |