İçeriğe atla
openplate

Uygulama

YAZIO'dan içe aktarma

Açık kaynaklı yazio-exporter aracıyla bir YAZIO günlüğünü openplate'e aktarma ve nelerin aktarılıp nelerin aktarılmadığı

Bu sayfa, İngilizce belgeden makine çevirisiyle çevrildi.

YAZIO içinde bir yemek günlüğü tuttuysan ve bunu openplate'e taşımak istiyorsan bu adımları izle. Bir dışa aktarma aracı kur, dört komut çalıştır, ardından openplate'in Veri ve yedekleme ekranında dışa aktarılan dosyaları seç. Bir terminale komut yazmanın ötesinde bir geliştirici deneyimine ihtiyacın yok.

YAZIO'da kaydettiğin her yiyecek; yediğin miktara göre ölçeklendirilmiş makrolarıyla birlikte, kaydettiğin gün ve öğünle openplate'e aktarılır. Tartı ölçümlerin de aktarılabilir. Birkaç değer YAZIO'dakinden farklı göründüğü için içe aktarmadan önce aşağıdaki "Neler aktarılır, neler aktarılmaz" bölümünü oku.

Gereksinimler

  • YAZIO e-postan ve şifren.
  • Terminal açabileceğin ve Python kurabileceğin bir bilgisayar. Dışa aktarma adımı için telefon çalışmaz. openplate'i telefonda kullanıyorsan dosyaları sonradan oraya taşıyabilirsin.
  • Python 3.11 veya daha yenisi.
  • Aynı cihazda veya dosyaları kopyalayabileceğin bir cihazda, tarayıcıda açık bir openplate.

Günlüğünü YAZIO'dan çıkar

openplate doğrudan YAZIO ile iletişim kurmaz. yazio-exporter adında ayrı, açık kaynaklı bir komut satırı aracı çalıştırırsın. Bu araç YAZIO günlüğünü okur ve bilgisayarındaki dosyalara yazar.

yazio-exporter üçüncü taraf bir araçtır. openplate ve YAZIO tarafından geliştirilmemiştir ve openplate ile bağlantılı hiç kimse bu aracın bakımını yapmaz. YAZIO uygulamasını değiştirirse çalışmayı durdurabilir. Proje github.com/aleksandr-bogdanov/yazio-exporter adresindedir.

  1. Henüz kurulu değilse Python 3.11 veya daha yenisini kur. python.org indirmeler sayfası Windows, macOS ve Linux için yükleyicilere sahiptir.
  2. Bir terminal aç ve dışa aktarma aracını kur:
    bash
    pip install yazio-exporter
  1. Giriş yap, ardından günlerini, ürünlerini ve kilonu dışa aktar:
    bash
    yazio-exporter login you@example.com your-password
    yazio-exporter days
    yazio-exporter products
    yazio-exporter weight

    you@example.com ve your-password değerlerini YAZIO giriş bilgilerinle değiştir. Bu komut yalnızca YAZIO'nun sunucusu olan yzapi.yazio.com adresine bağlanır. Bu adım sırasında openplate'e hiçbir şey gitmez.

    login komutu, bulunduğun klasördeki token.txt adlı bir dosyaya bir belirteç kaydeder. Diğer komutlar şifreni tekrar sormamak için bu dosyayı kullanır. Sistemin bu dosyayı yalnızca senin kullanıcı hesabın tarafından okunabilecek şekilde oluşturur, ancak dosya şifrelenmemiştir. Dışa aktarmayı bitirdikten sonra token.txt dosyasını sil.

    Şifren terminal komut geçmişinde kalır, çünkü yazio-exporter bunu gizli bir istem yerine komut satırında düz metin olarak alır. macOS ve Linux'ta bunu geçmişin dışında tutmanın iki yolu vardır: kabuğun boşlukla başlayan satırları yok sayıyorsa komuttan önce bir boşluk yaz ya da oturum geçmişini temizlemek için hemen ardından history -c komutunu çalıştır. Windows'ta PowerShell'i kapatmak geçmişi temizlemez. PowerShell'in PSReadLine modülü, %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt konumunda kalıcı bir geçmiş dosyası tutar. İşin bittiğinde bu dosyayı aç ve şifreni içeren satırı sil.

  1. Dosyaları bul. yazio-exporter days, days.json dosyasını yazar. yazio-exporter products, products.json dosyasını yazar. yazio-exporter weight, weight.json dosyasını yazar. Dosyalar komutları çalıştırdığın klasörde görünür. days.json ve products.json dosyalarına ihtiyacın var. weight.json isteğe bağlıdır ve tartı ölçümlerini getirir.

openplate'e aktar

  1. openplate uygulamasını aç, Ayarlar bölümüne ve ardından Veri ve yedekleme bölümüne git.
  2. YAZIO'dan içe aktarma altında YAZIO dosyalarını seç seçeneğini seç.
  3. Dosya seçicide days.json ve products.json dosyalarını birlikte seç, tartı kayıtlarını da istiyorsan weight.json dosyasını da seç, ardından seçimini onayla.
  4. openplate dosyaları cihazında okur ve bir önizleme gösterir. Eklenecek girdi sayısını, bunların kaç günü kapsadığını, ilk ve son günü ve atlanan ögeleri gerekçesiyle listeler. Bu günlerden bazılarında openplate günlüğünde zaten girdiler varsa, önizleme bunların sayısını da gösterir. İçe aktarmadan sonra o günlerde hem kendi girdilerin hem de içe aktarılanlar görünür. weight.json dosyasıyla birlikte önizleme, kaç tartı kaydı ekleyeceğini ve kilogram cinsinden ilk ve son kiloyu da gösterir. Günlüğüne henüz hiçbir şey yazılmaz.
  5. Önizlemeyi incele, ardından Günlüğüme ekle seçeneğini seç. Hiçbir şeyi değiştirmeden durdurmak için İptal seçeneğini seç.
  6. openplate kaç girdi ve tartı kaydı içe aktardığını doğrular. Günlüğünü aç ve hatırladığın bir günü kontrol et.

Dosyalar cihazında kalır. openplate bunları tarayıcında yerel olarak okur ve bir sunucuya yüklemez.

Neler aktarılır, neler aktarılmaz

  • Her yiyecek ayrı bir girdi haline gelir, YAZIO uygulamasında kaydettiğin günde ve öğünde.
  • YAZIO bünyesinde bulunmayan bir besin ögesi openplate içinde asla sıfır olarak değil, bilinmiyor olarak görünür. YAZIO birçok yiyecek için lif değerine sahip değildir. Bu durumda openplate, lifi sıfır yerine bilinmiyor olarak işaretler.
  • openplate, YAZIO karbonhidrat değerini lifi zaten hariç tutan AB biçimi gibi ele alır ve lifi tekrar çıkarmaz. YAZIO uygulamasının hangi biçimi kullandığını kimse kesin olarak bilmiyor. YAZIO değeri lifi fiilen içeriyorsa, yani ABD biçimiyse, openplate içindeki net karbonhidrat değerin gerçekte olduğundan yüksek görünür, asla düşük görünmez. Düşük karbonhidrat takipçisi için bu daha güvenli bir hatadır.
  • Milisaniye cinsinden bir miktar, aynı sayıda gram olarak kabul edilir. openplate ağırlığı yalnızca gram cinsinden saklar.
  • Hızlı girdiler atlanır. YAZIO içinde bir yiyecek seçmeden kalori girdiğinde, kayıt openplate tarafından okunabilecek hiçbir makro verisi içermez.
  • Yiyeceği products.json içinde eksik olan girdiler atlanır. Bu durum genellikle YAZIO veri tabanında yiyecek artık bulunmadığında gerçekleşir, bu yüzden dışa aktarma dosyası günlük girdisini besin ögeleri olmadan listeler. YAZIO günlüğünden sildiğin bir yiyecek atlanmaz, çünkü dışa aktarma dosyasında hiç yer almaz.
  • Bir tarifin ağırlığı, malzemelerinin toplamından gelir. Dışa aktarma dosyasında malzeme listesi bulunmayan tarifler atlanır. Tarif değerleri bu içe aktarmanın en belirsiz kısmıdır, bu nedenle içe aktarılan bir tarifi YAZIO ile karşılaştır.
  • Her tartı kaydı, kilo günlüğünde bir girdi haline gelir. Dışa aktarma dosyası, bir sonraki tartı gününe kadar son kilonu her gün tekrarlar. openplate bir günü yalnızca kilosu önceki günden farklı olduğunda saklar. Dolayısıyla, tamamen aynı kiloya sahip art arda iki tartı kaydı tek bir girdi olarak içe aktarılır.
  • openplate, weight.json içindeki değerleri kilogram olarak okur. Dışa aktarma dosyası hangi birimi kullandığını belirtmez. YAZIO içinde kilonu libre olarak takip ediyorsan, onaylamadan önce önizlemedeki ilk ve son kiloyu kontrol et. openplate, 20 altındaki veya 350 üzerindeki tüm değerleri atlar ve sayar.
  • openplate içinde zaten bir kilo kaydı bulunan bir gün bu kaydı korur. İçe aktarma işlemi, openplate içinde kaydettiğin bir kilonun yerine asla geçmez. Önizleme bu günlerin sayısını gösterir.
  • Aynı dosyaları tekrar içe aktarmak, kopyalar oluşturmak yerine mevcut girdileri günceller. Bu işlem, içe aktarılmış bir girdide veya kilo kaydında yaptığın tüm manuel düzenlemelerin üzerine yazar.

Bir içe aktarmayı kaldır

Bir içe aktarmayı geri almak için Veri ve yedekleme sayfasını aç. İçe aktarılmış girdiler varsa, sayfanın alt kısmında YAZIO kaynaklı günlük girdilerinin ve kilo kayıtlarının sayısıyla birlikte YAZIO üzerinden içe aktarılan girdiler görüntülenir. YAZIO girdilerini kaldır seçeneğini seç, ardından onayla. openplate, sonradan düzenlediklerin de dahil olmak üzere içe aktarmadaki her girdiyi ve kilo kaydını kaldırır. openplate içinde bizzat kaydettiğin her şeyi saklar. İçe aktarılmış bir kaydın olduğu güne bizzat girdiğin bir kilo kaydı onun yerine geçer ve sana ait sayılır. Eşitleme kullanıyorsan, diğer cihazların da içe aktarılan girdileri kaldırır.

Bir sorun çıkarsa

openplate bir önizleme göstermeden önce dosyaları doğrular. Her iletinin anlamı şöyledir:

  • "Bu dosyalardan biri geçerli bir JSON değil. Dışa aktarma aracının yazdığı days.json ve products.json dosyalarını seç." Dosyalardan biri geçerli bir JSON değil. Dosyaları üzerinde değişiklik yapmadan, tam olarak yazio-exporter tarafından oluşturuldukları haliyle seç.
  • "Bu dosyalardan biri YAZIO dışa aktarması değil. Yalnızca days.json, products.json ve kilo kayıtlarını istiyorsan weight.json dosyalarını seç." Bir dosya geçerli bir JSON formatında ancak YAZIO dışa aktarma verisi içermiyor. Doğru dosyaları seçtiğini kontrol et.
  • "Aynı türden iki dosya seçtin. Bir days.json ve bir products.json seç." days.json veya weight.json kopyalarından iki tane seçmek gibi, yinelenen dosyalar seçtin. Her birinden birer tane seç.
  • "days.json eksik. products.json ile birlikte seç." Yalnızca products.json seçtin. İki dosyayı birlikte seç.
  • "products.json eksik. days.json ile birlikte seç." Yalnızca days.json seçtin. İki dosyayı birlikte seç.

Önizleme atlanan girdiler bildiriyorsa, ayrıntılar için yukarıdaki "Neler aktarılır, neler aktarılmaz" bölümüne bak.

Bu sayfayı GitHub üzerinde düzenle