Salta al contenuto
openplate

L'app

Importa da YAZIO

Come trasferire un diario YAZIO in openplate con lo strumento open source yazio-exporter, cosa viene importato e cosa no

Questa pagina è tradotta automaticamente dalla documentazione in inglese.

Se hai tenuto un diario alimentare in YAZIO e vuoi spostarlo in openplate, segui questi passaggi. Installa uno strumento di esportazione, esegui quattro comandi, poi seleziona i file esportati nella schermata Dati e backup di openplate. Non servono competenze da sviluppatore oltre a saper digitare comandi in un terminale.

Ogni alimento che hai registrato in YAZIO arriva in openplate nel giorno e nel pasto in cui lo avevi inserito, con i macronutrienti proporzionati alla quantità che hai mangiato. Puoi trasferire anche le pesate. Prima di importare leggi la sezione qui sotto, "Cosa viene trasferito e cosa no", perché alcuni valori si presentano in modo diverso rispetto a YAZIO.

Cosa ti serve

  • L'indirizzo email e la password del tuo account YAZIO.
  • Un computer su cui puoi aprire un terminale e installare Python. Uno smartphone non va bene per la fase di esportazione. Se usi openplate sul telefono, potrai spostarvi i file in un secondo momento.
  • Python 3.11 o versione successiva.
  • openplate aperto in un browser, sullo stesso dispositivo o su un dispositivo su cui puoi copiare i file.

Estrai il tuo diario da YAZIO

openplate non comunica direttamente con YAZIO. Devi eseguire uno strumento da riga di comando separato e open source, chiamato yazio-exporter. Legge il tuo diario YAZIO e lo salva in file sul tuo computer.

yazio-exporter è uno strumento di terze parti. né openplate né YAZIO lo hanno creato, e nessuno tra chi collabora a openplate si occupa della sua manutenzione. Potrebbe smettere di funzionare se YAZIO modifica la propria applicazione. Il progetto si trova su github.com/aleksandr-bogdanov/yazio-exporter.

  1. Installa Python 3.11 o versione successiva, se non lo hai già installato. La pagina dei download di python.org contiene i file di installazione per Windows, macOS e Linux.
  2. Apri un terminale e installa lo strumento di esportazione:
    bash
    pip install yazio-exporter
  1. Accedi, poi esporta le tue giornate, i prodotti e il peso:
    bash
    yazio-exporter login you@example.com your-password
    yazio-exporter days
    yazio-exporter products
    yazio-exporter weight

    Sostituisci you@example.com e your-password con i dati di accesso del tuo account YAZIO. Questo comando si collega soltanto al server di YAZIO, yzapi.yazio.com. In questa fase non viene inviato nulla a openplate.

    Il comando login salva un token in un file chiamato token.txt nella cartella corrente. Gli altri comandi usano questo file per non chiederti di nuovo la password. Il sistema crea questo file con permessi di lettura riservati al tuo account utente, ma non è cifrato. Elimina token.txt una volta terminata l'esportazione.

    La password resta nella cronologia dei comandi del terminale, perché yazio-exporter la riceve in chiaro sulla riga di comando invece di richiederla con una richiesta nascosta. Su macOS e Linux hai due modi per non memorizzarla: inserisci uno spazio prima del comando, se la tua shell ignora le righe che iniziano con uno spazio, oppure esegui subito dopo history -c per cancellare la cronologia della sessione. Su Windows, chiudere PowerShell non la cancella. Il modulo PSReadLine di PowerShell conserva un file di cronologia permanente in %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt. Apri quel file al termine ed elimina la riga che contiene la tua password.

  1. Individua i file. yazio-exporter days genera days.json. yazio-exporter products genera products.json. yazio-exporter weight genera weight.json. I file compaiono nella cartella in cui hai eseguito i comandi. Ti servono days.json e products.json. weight.json è facoltativo e trasferisce le tue pesate.

Importa in openplate

  1. Apri openplate e vai su Impostazioni, poi su Dati e backup.
  2. Sotto Importa da YAZIO, seleziona Scegli i file di YAZIO.
  3. Nel selettore dei file, seleziona insieme days.json e products.json, e anche weight.json se vuoi le tue pesate, quindi conferma la selezione.
  4. openplate legge i file sul tuo dispositivo e mostra un'anteprima. Mostra il numero di voci che aggiungerà, quanti giorni coprono, il primo e l'ultimo giorno e gli elementi eventualmente saltati con il relativo motivo. Se alcuni di questi giorni hanno già delle voci nel tuo diario di openplate, l'anteprima mostra quante sono. Dopo l'importazione, quei giorni mostrano sia le tue voci sia quelle importate. Con weight.json, l'anteprima mostra anche quante pesate aggiungerà e il primo e l'ultimo peso, in chilogrammi. Nel tuo diario non viene ancora scritto nulla.
  5. Controlla l'anteprima, poi seleziona Aggiungi al mio diario. Seleziona Annulla per fermarti senza modificare nulla.
  6. openplate conferma quante voci e quante pesate ha importato. Apri il tuo diario e verifica un giorno che ricordi.

I file restano sul tuo dispositivo. openplate li legge localmente nel tuo browser e non li carica su un server.

Cosa viene trasferito e cosa no

  • Ogni alimento diventa una voce a sé stante, nel giorno e nel pasto in cui lo avevi registrato su YAZIO.
  • Un nutriente non presente in YAZIO appare come sconosciuto in openplate, mai come zero. YAZIO non ha il valore delle fibre per molti alimenti. Quando succede, openplate contrassegna le fibre come sconosciute invece che come zero.
  • openplate considera il valore dei carboidrati di YAZIO come al netto delle fibre, secondo l'uso europeo, e non sottrae di nuovo le fibre. Nessuno sa con certezza quale convenzione usi YAZIO. Se il valore di YAZIO include effettivamente le fibre, secondo l'uso statunitense, i tuoi carboidrati netti in openplate risulteranno più alti di quanto siano in realtà, mai più bassi. Si tratta dell'errore più sicuro per un diario a basso contenuto di carboidrati.
  • Una quantità in millilitri viene considerata come lo stesso numero di grammi. openplate memorizza il peso solo in grammi.
  • Le voci rapide vengono saltate. Quando inserisci le calorie in YAZIO senza scegliere un alimento, la voce non contiene dati sui macronutrienti che openplate possa leggere.
  • Una voce viene saltata se il relativo alimento manca da products.json. Questo accade di solito quando il database di YAZIO non contiene più l'alimento, quindi l'esportazione elenca la voce del diario senza i suoi nutrienti. Un alimento che hai eliminato dal tuo diario di YAZIO non viene saltato, perché non è presente affatto nell'esportazione.
  • Il peso di una ricetta deriva dalla somma dei suoi ingredienti. Una ricetta priva dell'elenco degli ingredienti nel file di esportazione viene saltata. I dati delle ricette sono la parte meno affidabile di questa importazione, quindi confronta una ricetta importata con YAZIO.
  • Ogni pesata diventa una voce nel registro del peso. L'esportazione ripete il tuo ultimo peso in ogni giorno fino alla pesata successiva. openplate conserva un giorno solo quando il suo peso differisce da quello del giorno precedente. Due pesate consecutive con lo stesso identico peso vengono quindi importate come una sola voce.
  • openplate legge i valori in weight.json come chilogrammi. L'esportazione non specifica l'unità di misura utilizzata. Se su YAZIO ti pesi in libbre, controlla il primo e l'ultimo peso nell'anteprima prima di confermare. openplate salta e conta qualsiasi valore inferiore a 20 o superiore a 350.
  • Un giorno che contiene già una pesata in openplate la mantiene. L'importazione non sostituisce mai un peso che hai registrato in openplate. L'anteprima mostra il conteggio di quei giorni.
  • Se importi di nuovo gli stessi file, aggiorni le voci esistenti invece di creare duplicati. Questa azione sovrascrive qualsiasi modifica manuale apportata a una voce o a una pesata importata.

Rimuovere un'importazione

Per annullare un'importazione, apri Dati e backup. Se ci sono voci importate, la parte inferiore della pagina mostra Voci importate da YAZIO con il numero di voci del diario e di pesate da YAZIO. Seleziona Rimuovi le voci di YAZIO, poi conferma. openplate rimuove ogni voce e ogni pesata dell'importazione, comprese quelle che hai modificato in seguito. Mantiene tutto ciò che hai registrato personalmente in openplate. Una pesata registrata in un giorno che ne contiene già una importata la sostituisce e conta come tua. Se usi la sincronizzazione, anche gli altri tuoi dispositivi rimuovono le voci importate.

In caso di errori

openplate controlla i file prima di mostrare l'anteprima. Ecco il significato di ciascun messaggio:

  • "Uno dei file non è un JSON valido. Scegli i file days.json e products.json generati dallo strumento di esportazione." Uno dei file non è un JSON valido. Seleziona i file esattamente come li ha creati yazio-exporter, senza modifiche.
  • "Uno di questi file non è un'esportazione di YAZIO. Scegli solo days.json, products.json e, se vuoi le tue pesate, weight.json." Un file è un JSON valido ma non contiene dati di esportazione di YAZIO. Controlla di aver selezionato i file corretti.
  • "Hai scelto due file dello stesso tipo. Scegli un file days.json e un file products.json." Hai selezionato file duplicati, come due copie di days.json o di weight.json. Selezionane una sola per tipo.
  • "Manca days.json. Selezionalo insieme a products.json." Hai selezionato solo products.json. Seleziona entrambi i file insieme.
  • "Manca products.json. Selezionalo insieme a days.json." Hai selezionato solo days.json. Seleziona entrambi i file insieme.

Se l'anteprima segnala voci ignorate, consulta "Cosa viene trasferito e cosa no" più in alto per maggiori dettagli.

Modifica questa pagina su GitHub