mirror of
https://github.com/Crocmagnon/display-epaper.git
synced 2024-11-23 14:38:02 +01:00
use hard coded quotes
This commit is contained in:
parent
2c5035ee37
commit
3f61e50330
6 changed files with 439 additions and 132 deletions
14
img.go
14
img.go
|
@ -36,7 +36,6 @@ func getBlack(
|
||||||
transportsClient *transports.Client,
|
transportsClient *transports.Client,
|
||||||
feteClient *fete.Client,
|
feteClient *fete.Client,
|
||||||
weatherClient *weather.Client,
|
weatherClient *weather.Client,
|
||||||
quotesClient *quotes.Client,
|
|
||||||
) (*image.RGBA, error) {
|
) (*image.RGBA, error) {
|
||||||
bus, err := transportsClient.GetTCLPassages(ctx, 290)
|
bus, err := transportsClient.GetTCLPassages(ctx, 290)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -58,10 +57,7 @@ func getBlack(
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("error getting weather:", err)
|
log.Println("error getting weather:", err)
|
||||||
}
|
}
|
||||||
quote, err := quotesClient.GetQuote(ctx)
|
quote := quotes.GetQuote(nowFunc())
|
||||||
if err != nil {
|
|
||||||
log.Println("error getting quotes:", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
img := newWhite()
|
img := newWhite()
|
||||||
|
|
||||||
|
@ -82,12 +78,8 @@ func getBlack(
|
||||||
return img, nil
|
return img, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func drawQuote(gc *draw2dimg.GraphicContext, quote *quotes.Quote) {
|
func drawQuote(gc *draw2dimg.GraphicContext, quote string) {
|
||||||
if quote == nil {
|
text(gc, quote, 15, leftX, 450)
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
text(gc, quote.Citation.Citation, 15, leftX, 450)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
7
main.go
7
main.go
|
@ -3,7 +3,6 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/Crocmagnon/display-epaper/fete"
|
"github.com/Crocmagnon/display-epaper/fete"
|
||||||
"github.com/Crocmagnon/display-epaper/quotes"
|
|
||||||
"github.com/Crocmagnon/display-epaper/transports"
|
"github.com/Crocmagnon/display-epaper/transports"
|
||||||
"github.com/Crocmagnon/display-epaper/weather"
|
"github.com/Crocmagnon/display-epaper/weather"
|
||||||
"github.com/golang/freetype/truetype"
|
"github.com/golang/freetype/truetype"
|
||||||
|
@ -40,11 +39,7 @@ func main() {
|
||||||
APIKey: os.Getenv("WEATHER_API_KEY"),
|
APIKey: os.Getenv("WEATHER_API_KEY"),
|
||||||
})
|
})
|
||||||
|
|
||||||
quotesClient := quotes.New(nil, quotes.Config{
|
if err := run(ctx, transportsClient, feteClient, weatherClient); err != nil {
|
||||||
CacheLocation: os.Getenv("QUOTES_CACHE_LOCATION"),
|
|
||||||
})
|
|
||||||
|
|
||||||
if err := run(ctx, transportsClient, feteClient, weatherClient, quotesClient); err != nil {
|
|
||||||
log.Fatal("error: ", err)
|
log.Fatal("error: ", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
405
quotes/data.go
Normal file
405
quotes/data.go
Normal file
|
@ -0,0 +1,405 @@
|
||||||
|
package quotes
|
||||||
|
|
||||||
|
// Courtesy of ChatGPT.
|
||||||
|
|
||||||
|
var january = [31]string{
|
||||||
|
"La nouvelle année commence toujours mieux avec du pain frais.",
|
||||||
|
"Un bon pétrissage vaut plus que mille discours.",
|
||||||
|
"Pour un pain bien cuit, patience et chaleur sont de mise.",
|
||||||
|
"À four ouvert, pâte brûlée.",
|
||||||
|
"Le pain partagé est toujours meilleur.",
|
||||||
|
"On ne fait pas lever la pâte en la pressant.",
|
||||||
|
"Pain croustillant, matin gagnant.",
|
||||||
|
"Sans sel dans la pâte, le pain reste fade.",
|
||||||
|
"Il faut du temps pour faire lever le meilleur des pains.",
|
||||||
|
"Qui veut une croûte dorée doit savoir attendre.",
|
||||||
|
"Une farine bien tamisée fait la mie plus fine.",
|
||||||
|
"Même la mie la plus tendre a besoin de croûte.",
|
||||||
|
"Le bon boulanger connaît son four comme son âme.",
|
||||||
|
"Un pain trop vite cuit n’a jamais de goût.",
|
||||||
|
"Le pain du matin est un trésor quotidien.",
|
||||||
|
"Il faut de la levure pour toute grande aventure.",
|
||||||
|
"Entre pétrir et cuire, tout est dans le timing.",
|
||||||
|
"Mie aérée, artisan comblé.",
|
||||||
|
"Qui ne farine pas sa planche colle son pain.",
|
||||||
|
"Le four mal allumé ne cuit que des regrets.",
|
||||||
|
"Un pain bien doré attire les gourmands du quartier.",
|
||||||
|
"Point de croissant sans beurre, point de vie sans saveur.",
|
||||||
|
"Le levain qui dort ne nourrit personne.",
|
||||||
|
"Pour un pain parfait, la main doit être légère.",
|
||||||
|
"Pain trop pétri, croûte trop durcie.",
|
||||||
|
"Le secret d’un bon pain réside dans la chaleur du four et du cœur.",
|
||||||
|
"Plus on attend, plus le pain grandit.",
|
||||||
|
"Une miche pour deux fait oublier les soucis.",
|
||||||
|
"Le boulanger lève tôt, et la pâte avec lui.",
|
||||||
|
"À pain chaud, miel bienvenu.",
|
||||||
|
"Un pain pour chaque jour, un bonheur pour toujours.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var february = [29]string{
|
||||||
|
"Un pain bien pétri ne craint pas l'hiver.",
|
||||||
|
"Pain cuit trop vite, croûte qui s’effrite.",
|
||||||
|
"Qui sème du blé, récolte des miches dorées.",
|
||||||
|
"Sans amour, même le meilleur pain reste fade.",
|
||||||
|
"Un four bien chaud fait lever la pâte comme il faut.",
|
||||||
|
"À petite miche, grand plaisir.",
|
||||||
|
"Qui cuit doucement, savoure longuement.",
|
||||||
|
"Le bon pain se prépare avec soin, pas en chemin.",
|
||||||
|
"Pas de levain, pas de lendemain.",
|
||||||
|
"Chaque grain de blé a son destin dans une miche.",
|
||||||
|
"Pain trop salé, ami délaissé.",
|
||||||
|
"Qui goûte la croûte, goûte la vérité.",
|
||||||
|
"Mie trop dense, pain sans danse.",
|
||||||
|
"Pour un pain parfait, il faut l'eau de la pluie et la chaleur du feu.",
|
||||||
|
"Le levain est l’âme du pain.",
|
||||||
|
"Dans un four trop froid, rien ne se fait grand.",
|
||||||
|
"Farine bien choisie, pain qui réjouit.",
|
||||||
|
"Le bon pain attend toujours son heure.",
|
||||||
|
"Un pain levé d’hier fait des merveilles aujourd’hui.",
|
||||||
|
"Il faut nourrir le levain pour qu'il fasse grandir le pain.",
|
||||||
|
"Un four bien allumé réchauffe plus que des mots.",
|
||||||
|
"Sans pétrin, point de festin.",
|
||||||
|
"Pain bien formé, fête assurée.",
|
||||||
|
"Il faut respecter la pâte pour qu’elle donne le meilleur d’elle-même.",
|
||||||
|
"Une miche bien dorée n’a pas besoin de discours.",
|
||||||
|
"Pain du matin, chaleur dans les mains.",
|
||||||
|
"Le pain du pauvre vaut mieux que l’or du riche.",
|
||||||
|
"Tant que le four est chaud, le boulanger a du travail.",
|
||||||
|
"Pain mal pétri, croûte sans vie.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var march = [31]string{
|
||||||
|
"Mars arrive avec le vent, mais le bon pain reste constant.",
|
||||||
|
"À pain chaud, sourire éclatant.",
|
||||||
|
"Une miche oubliée finit toujours par sécher.",
|
||||||
|
"Qui veut une croûte dorée ne doit pas se presser.",
|
||||||
|
"Le pain qui lève trop vite finit par retomber.",
|
||||||
|
"Le four mal fermé laisse échapper le bonheur.",
|
||||||
|
"Dans chaque grain de blé, il y a un pain qui sommeille.",
|
||||||
|
"Pain du jour, force de toujours.",
|
||||||
|
"Mieux vaut une croûte trop dure qu'une pâte trop crue.",
|
||||||
|
"La farine bien moulue fait la mie douce comme la soie.",
|
||||||
|
"Le boulanger sage ne se presse jamais.",
|
||||||
|
"Un pain à partager est un bonheur multiplié.",
|
||||||
|
"La levure ne s’improvise pas, elle se cultive.",
|
||||||
|
"Qui fait lever son pain avec soin n’a jamais faim.",
|
||||||
|
"Mie tendre, journée plus douce.",
|
||||||
|
"Le pain que l’on attend est le plus savoureux.",
|
||||||
|
"Pas de bon pain sans un brin de patience.",
|
||||||
|
"Même sous la pluie, la farine trouve son chemin vers la miche.",
|
||||||
|
"Un bon levain fait durer le festin.",
|
||||||
|
"Le pain bien cuit nourrit plus que l'estomac.",
|
||||||
|
"Sous une croûte dorée, tout est douceur.",
|
||||||
|
"Mie aérée, journée réussie.",
|
||||||
|
"Le secret d'un pain réussi : du temps et de la flamme.",
|
||||||
|
"Le pain pétri avec amour est toujours meilleur.",
|
||||||
|
"Même un petit pain fait un grand festin.",
|
||||||
|
"Quand le four est chaud, tout est possible.",
|
||||||
|
"Chaque grain de farine compte dans le pétrin.",
|
||||||
|
"Le bon pain sait attendre son heure dans le four.",
|
||||||
|
"Mieux vaut un pain simple bien fait qu'un festin compliqué.",
|
||||||
|
"En mars, le pain se prépare aux premiers rayons du printemps.",
|
||||||
|
"Pain cuit en mars, douceur pour les journées qui s’éclaircissent.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var april = [30]string{
|
||||||
|
"En avril, le pain se dore sous le soleil timide.",
|
||||||
|
"Qui rit en avril, pétrit en douceur.",
|
||||||
|
"Le pain bien levé chasse les doutes du boulanger.",
|
||||||
|
"À pâte bien travaillée, mie légère assurée.",
|
||||||
|
"Quand le four parle, le boulanger écoute.",
|
||||||
|
"Il faut du levain pour affronter les caprices d'avril.",
|
||||||
|
"Sans farine fine, la miche ne se dessine.",
|
||||||
|
"Le pain qui chante dans le four annonce une bonne journée.",
|
||||||
|
"Point de bon pain sans un soupçon de patience.",
|
||||||
|
"Même en avril, la pâte n'aime pas les courants d'air.",
|
||||||
|
"À pain du matin, sourires jusqu'au soir.",
|
||||||
|
"Qui sème en avril, pétrit en mai.",
|
||||||
|
"Un bon pétrissage vaut bien une journée de travail.",
|
||||||
|
"Le pain qui ne lève pas est un cœur qui reste fermé.",
|
||||||
|
"En avril, pain tendre est un bonheur sincère.",
|
||||||
|
"Le boulanger qui sème ne manque jamais de farine.",
|
||||||
|
"Pain mal doré, journée ratée.",
|
||||||
|
"Le pain lève au rythme du cœur de celui qui le fait.",
|
||||||
|
"Avril pluvieux fait le pain précieux.",
|
||||||
|
"Qui cuit sans hâte, mange sans regret.",
|
||||||
|
"La mie légère est fille du temps et de l'effort.",
|
||||||
|
"Le boulanger patient fait toujours lever la pâte.",
|
||||||
|
"Pain bien levé, soucis envolés.",
|
||||||
|
"Chaque miche a sa saison, chaque croûte a sa raison.",
|
||||||
|
"En avril, le pain se lève malgré la pluie.",
|
||||||
|
"Le bon pain n’a pas d’âge, mais il a toujours du goût.",
|
||||||
|
"Même une petite miche a besoin de chaleur.",
|
||||||
|
"Avril timide, mie solide.",
|
||||||
|
"Pétrir doucement, c’est savourer longtemps.",
|
||||||
|
"Le four d'avril est plein de promesses pour l’été.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var may = [31]string{
|
||||||
|
"En mai, le pain lève comme les fleurs dans les champs.",
|
||||||
|
"Mie dorée en mai, gourmandise assurée.",
|
||||||
|
"Le boulanger de mai travaille avec le soleil en souriant.",
|
||||||
|
"Pain chaud en mai, bonheur partagé.",
|
||||||
|
"Avec le blé de mai, le pain n’a jamais failli.",
|
||||||
|
"Un bon pain en mai vaut plus que mille festins.",
|
||||||
|
"Pétrir en mai, c'est préparer l'été.",
|
||||||
|
"Le levain bien nourri fait des miches comme au paradis.",
|
||||||
|
"Même le pain a ses saisons, et mai est le plus doux.",
|
||||||
|
"En mai, le pain se dore sous les rayons de l'aube.",
|
||||||
|
"Pain levé en mai, saveur de la liberté.",
|
||||||
|
"Le pain du matin est la promesse d’un jour radieux.",
|
||||||
|
"Qui pétrit en mai prépare l’abondance de demain.",
|
||||||
|
"En mai, pain au four, maison en fête.",
|
||||||
|
"Le secret du pain de mai, c'est la chaleur du four et celle du cœur.",
|
||||||
|
"Pain fait avec soin est toujours un pain divin.",
|
||||||
|
"Le levain de mai est la force de l’été.",
|
||||||
|
"Chaque miche de mai raconte l’histoire du blé passé.",
|
||||||
|
"Mai fleuri, four nourri.",
|
||||||
|
"Le pain de mai réchauffe même sans four.",
|
||||||
|
"Avec du bon levain, tout pain est un festin.",
|
||||||
|
"En mai, qui fait du pain récolte des sourires.",
|
||||||
|
"La pâte pétrie en mai est plus légère qu’un nuage.",
|
||||||
|
"Le boulanger de mai ne manque jamais de blé.",
|
||||||
|
"En mai, pain cuit vaut mille mots doux.",
|
||||||
|
"Quand le soleil de mai brille, le pain se dore à merveille.",
|
||||||
|
"Pain trop pressé en mai ne fait jamais honneur.",
|
||||||
|
"La farine de mai sent la promesse des moissons.",
|
||||||
|
"Un bon pain en mai est le prélude de l’été.",
|
||||||
|
"Chaque miche de mai est un régal pour les repas en extérieur.",
|
||||||
|
"Sous le ciel clair de mai, le pain se transforme en délice.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var june = [30]string{
|
||||||
|
"En juin, le pain se lève avec les premiers blés.",
|
||||||
|
"Sous le soleil de juin, la croûte se dore sans fin.",
|
||||||
|
"Le pain bien fait en juin nourrit jusqu'au lendemain.",
|
||||||
|
"Le boulanger de juin façonne la mie comme le vent sculpte les champs.",
|
||||||
|
"À pain bien pétri, mie légère sous un ciel d’été.",
|
||||||
|
"Juin sans pain, c’est comme un jour sans soleil.",
|
||||||
|
"Le pain de juin réchauffe les cœurs même sous la chaleur.",
|
||||||
|
"Mie de juin, douceur en chemin.",
|
||||||
|
"En juin, qui ne lève pas sa pâte reste sur la touche.",
|
||||||
|
"Juin donne aux miches la saveur des jours longs.",
|
||||||
|
"Avec du pain fait en juin, chaque repas devient festin.",
|
||||||
|
"Le four de juin est l’ami du boulanger comme le soleil l’est du blé.",
|
||||||
|
"Qui pétrit en juin prépare les festins d’été.",
|
||||||
|
"Le pain bien doré de juin est le fruit du travail bien fait.",
|
||||||
|
"En juin, les miches se parent de la couleur des blés.",
|
||||||
|
"Pain levé en juin, fête assurée pour demain.",
|
||||||
|
"Chaque miche de juin a le goût du soleil et de la fête.",
|
||||||
|
"En juin, le blé se prépare, et le pain suit le même chemin.",
|
||||||
|
"Le pain de juin nourrit plus qu’un simple festin.",
|
||||||
|
"Sous le ciel de juin, tout pain est promesse de l’été.",
|
||||||
|
"Le levain de juin porte en lui toute la chaleur des jours à venir.",
|
||||||
|
"En juin, chaque fournée est un hommage à la terre.",
|
||||||
|
"Pain pétri en juin, saveurs divines pour le festin.",
|
||||||
|
"Avec la chaleur de juin, même le plus petit pain grandit.",
|
||||||
|
"Juin chante avec le pain qui lève doucement.",
|
||||||
|
"Le boulanger de juin n’a besoin que de farine et d’un ciel sans nuage.",
|
||||||
|
"En juin, un pain bien cuit annonce un bel été.",
|
||||||
|
"Le four de juin est un compagnon fidèle pour tout boulanger.",
|
||||||
|
"Le pain doré sous le soleil de juin reste gravé dans les cœurs.",
|
||||||
|
"Le pain de juin est le compagnon des repas en plein air.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var july = [31]string{
|
||||||
|
"En juillet, le pain dore plus vite que les épis.",
|
||||||
|
"Sous le soleil de juillet, la croûte est toujours parfaite.",
|
||||||
|
"Le pain de juillet nourrit les longues soirées d’été.",
|
||||||
|
"Juillet, mois du blé, mois du pain bien levé.",
|
||||||
|
"Pain chaud en juillet, bonheur partagé sous le ciel étoilé.",
|
||||||
|
"En juillet, qui pétrit récolte des sourires dorés.",
|
||||||
|
"Le four de juillet ne connaît pas la pause, comme le soleil.",
|
||||||
|
"À pain bien doré, saveur de l’été retrouvé.",
|
||||||
|
"Juillet chante dans la miche, comme le vent dans les champs.",
|
||||||
|
"Le pain de juillet porte en lui la chaleur des jours heureux.",
|
||||||
|
"Mie légère en juillet, journée sans nuages.",
|
||||||
|
"Juillet offre au pain la douceur des soirées d’été.",
|
||||||
|
"En juillet, la farine danse sous les mains du boulanger.",
|
||||||
|
"À four chaud en juillet, mie tendre à souhait.",
|
||||||
|
"Pain pétri en juillet, festin assuré pour l’été.",
|
||||||
|
"Sous le soleil de juillet, chaque miche est une fête.",
|
||||||
|
"La croûte de juillet est un hommage aux champs dorés.",
|
||||||
|
"Qui lève sa pâte en juillet ne manque jamais de blé.",
|
||||||
|
"En juillet, chaque pain est un rayon de soleil.",
|
||||||
|
"Le pain bien levé de juillet accompagne chaque repas avec fierté.",
|
||||||
|
"Même les petits pains de juillet ont le goût de la fête.",
|
||||||
|
"Le four de juillet fait danser la mie comme la brise dans les blés.",
|
||||||
|
"Pain doré sous le soleil de juillet, plaisir garanti.",
|
||||||
|
"Le boulanger de juillet connaît l’art du pain comme le ciel connaît le soleil.",
|
||||||
|
"En juillet, un pain bien cuit fait oublier les soucis.",
|
||||||
|
"Chaque miche de juillet est remplie de la générosité de la terre.",
|
||||||
|
"Pain levé sous la chaleur de juillet, saveur inégalée.",
|
||||||
|
"Le pain de juillet est une promesse de jours heureux.",
|
||||||
|
"Avec un pain bien fait en juillet, tout festin devient mémorable.",
|
||||||
|
"La chaleur de juillet scelle le destin de chaque miche.",
|
||||||
|
"En juillet, le pain se fait léger pour les chaudes journées.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var august = [31]string{
|
||||||
|
"En août, le pain croustille sous la chaleur du four et du ciel.",
|
||||||
|
"Pain d'août, mie tendre et croûte en fête.",
|
||||||
|
"Le pain d'août nourrit autant qu'il réjouit.",
|
||||||
|
"À four chaud en août, mie aérée et bonheur partout.",
|
||||||
|
"Le pain de l’été est un trésor de générosité.",
|
||||||
|
"Août brûlant fait lever la pâte doucement.",
|
||||||
|
"Sous le soleil d'août, le pain s’habille d’or.",
|
||||||
|
"Pain doré en août, festin sans aucun doute.",
|
||||||
|
"Le boulanger d'août connaît la patience sous la chaleur.",
|
||||||
|
"Pain bien levé, août enchanté.",
|
||||||
|
"Chaque miche d'août porte en elle la richesse des moissons.",
|
||||||
|
"Août généreux, pain savoureux.",
|
||||||
|
"Le pain cuit en août a le goût des champs dorés.",
|
||||||
|
"Mie tendre et croûte dorée sont les fruits du travail d'août.",
|
||||||
|
"À pain bien pétri, août se rit.",
|
||||||
|
"En août, chaque miche est un hommage au blé mûr.",
|
||||||
|
"Le four d'août réchauffe les cœurs autant que le pain nourrit.",
|
||||||
|
"Pain cuit avec soin en août, festin en vue.",
|
||||||
|
"En août, un bon pain vaut plus que mille festins.",
|
||||||
|
"Le pain d'août est la saveur des longues soirées estivales.",
|
||||||
|
"Chaque grain de blé moissonné en août devient un pain doré.",
|
||||||
|
"Pain levé sous le ciel d'août, saveur inoubliable.",
|
||||||
|
"Même sous la chaleur d'août, le boulanger ne faiblit pas.",
|
||||||
|
"Le pain d'août se cuit avec le cœur et la patience.",
|
||||||
|
"Mie légère en août, été parfait sans aucun doute.",
|
||||||
|
"Un pain bien doré en août vaut toutes les douceurs.",
|
||||||
|
"Le four brûlant d'août fait naître des miches croquantes.",
|
||||||
|
"Août offre au pain une saveur venue des champs dorés.",
|
||||||
|
"Chaque miche en août est un rayon de soleil.",
|
||||||
|
"Pain pétri en août, festin parfait pour un été radieux.",
|
||||||
|
"Mie fraîche en août, plaisir assuré.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var september = [30]string{
|
||||||
|
"En septembre, le pain se prépare pour l’hiver à venir.",
|
||||||
|
"Le pain de septembre est le reflet des récoltes de l’été.",
|
||||||
|
"Mie bien aérée en septembre, journées dorées assurées.",
|
||||||
|
"À pain bien cuit, septembre sourit.",
|
||||||
|
"En septembre, le four réchauffe plus que le pain.",
|
||||||
|
"Chaque miche de septembre porte les promesses de l’automne.",
|
||||||
|
"Le pain de septembre se nourrit des derniers rayons d’été.",
|
||||||
|
"Le boulanger de septembre sait que chaque grain compte.",
|
||||||
|
"Pain pétri avec soin en septembre, saveur d’automne assurée.",
|
||||||
|
"Sous la lumière douce de septembre, le pain se dore à merveille.",
|
||||||
|
"Le pain de septembre est le délice des journées fraîches.",
|
||||||
|
"En septembre, même le pain a le goût des nouvelles saisons.",
|
||||||
|
"Mie de septembre, douceur dans chaque bouchée.",
|
||||||
|
"Le four de septembre est prêt pour les pains d’automne.",
|
||||||
|
"Un bon pain en septembre est la promesse d’un hiver bien nourri.",
|
||||||
|
"Pain bien levé, septembre apaisé.",
|
||||||
|
"Chaque miche de septembre est une préparation pour les jours froids.",
|
||||||
|
"En septembre, le levain se prépare à la fraîcheur des matins.",
|
||||||
|
"Le pain doré de septembre est le meilleur compagnon des soirées qui s’allongent.",
|
||||||
|
"À four bien chaud en septembre, mie toujours tendre.",
|
||||||
|
"Le pain de septembre est le fruit du travail des mois chauds.",
|
||||||
|
"Sous le ciel de septembre, le pain est une douce transition.",
|
||||||
|
"Le boulanger de septembre voit chaque miche comme une promesse.",
|
||||||
|
"Pain cuit en septembre, plaisir d’automne.",
|
||||||
|
"Chaque tranche de pain de septembre a le goût des récoltes.",
|
||||||
|
"Septembre partage le pain comme il partage les récoltes.",
|
||||||
|
"Le four de septembre réchauffe le pain comme les cœurs.",
|
||||||
|
"En septembre, chaque miche est une ode aux saisons passées.",
|
||||||
|
"Le pain de septembre se prépare pour la saison des fêtes.",
|
||||||
|
"Le four de septembre est prêt pour les premières miches d’automne.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var october = [31]string{
|
||||||
|
"En octobre, le pain se dore sous les premières brises d’automne.",
|
||||||
|
"À pain bien levé, octobre en beauté.",
|
||||||
|
"Le pain d’octobre se nourrit des vents frais et des jours raccourcis.",
|
||||||
|
"Chaque miche d’octobre porte la richesse des champs dorés.",
|
||||||
|
"Pain cuit avec soin en octobre, réchauffe les soirées d’automne.",
|
||||||
|
"En octobre, la pâte se prépare pour les jours plus frais.",
|
||||||
|
"Le four d’octobre est le gardien des secrets du pain parfait.",
|
||||||
|
"Mie légère en octobre, douceur assurée malgré le froid.",
|
||||||
|
"Le pain d’octobre est un régal pour les jours qui se refroidissent.",
|
||||||
|
"Sous les feuilles d’octobre, le pain se dore à souhait.",
|
||||||
|
"Chaque tranche de pain en octobre est un réconfort pour les soirées longues.",
|
||||||
|
"Le boulanger d’octobre sait que la patience fait la mie.",
|
||||||
|
"Pain bien pétri en octobre, festin pour les mois froids.",
|
||||||
|
"En octobre, même le pain a besoin d’un peu de chaleur.",
|
||||||
|
"Le pain d’octobre est l’accompagnement idéal pour les repas d’automne.",
|
||||||
|
"À four chaud en octobre, chaque miche est une promesse de confort.",
|
||||||
|
"Le levain d’octobre prépare les pâtes pour l’hiver.",
|
||||||
|
"Pain doré sous le ciel d’octobre, douceur pour chaque repas.",
|
||||||
|
"En octobre, le pain se prépare comme les feuilles tombent.",
|
||||||
|
"Chaque miche en octobre a le goût de la saison qui s’achève.",
|
||||||
|
"Pain bien levé en octobre, chaleur dans chaque bouchée.",
|
||||||
|
"Sous la fraîcheur d’octobre, le pain est une source de réconfort.",
|
||||||
|
"Le four d’octobre transforme chaque pâte en délice automnal.",
|
||||||
|
"Pain pétri avec soin en octobre, festin pour les soirées fraîches.",
|
||||||
|
"Le pain d’octobre est un préambule aux douceurs de l’hiver.",
|
||||||
|
"En octobre, chaque miche est un hommage aux récoltes passées.",
|
||||||
|
"Le boulanger d’octobre prépare le pain pour les jours froids à venir.",
|
||||||
|
"Chaque croûte en octobre raconte l’histoire des saisons changeantes.",
|
||||||
|
"Pain bien fait en octobre, bonheur pour chaque saison.",
|
||||||
|
"Chaque miche d’octobre est un délice pour les repas d’automne.",
|
||||||
|
"Sous les feuilles d’octobre, le pain se transforme en régal.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var november = [30]string{
|
||||||
|
"En novembre, le pain est le réconfort des journées fraîches.",
|
||||||
|
"Le pain de novembre se nourrit de la chaleur des foyers.",
|
||||||
|
"À chaque miche en novembre, une chaleur pour les cœurs.",
|
||||||
|
"Le four en novembre est le gardien des saveurs d’automne.",
|
||||||
|
"Pain bien cuit en novembre, douceur pour les soirées longues.",
|
||||||
|
"Sous la brume de novembre, le pain réchauffe comme un bon feu.",
|
||||||
|
"Chaque miche de novembre porte en elle la promesse de l’hiver.",
|
||||||
|
"Le pain d’octobre donne son meilleur en novembre.",
|
||||||
|
"En novembre, le pain se fait compagnon des jours gris.",
|
||||||
|
"À four chaud en novembre, chaque tranche est un réconfort.",
|
||||||
|
"Le pain de novembre est la chaleur du foyer dans les jours froids.",
|
||||||
|
"Pain bien pétri en novembre, bonheur pour les soirées d’hiver.",
|
||||||
|
"Le boulanger de novembre sait transformer la farine en chaleur.",
|
||||||
|
"Sous le ciel de novembre, le pain est un baume pour l’âme.",
|
||||||
|
"Mie tendre en novembre, douceur dans chaque bouchée.",
|
||||||
|
"Le pain d’en novembre est le meilleur ami des repas en famille.",
|
||||||
|
"En novembre, le pain se cuit lentement pour mieux réchauffer.",
|
||||||
|
"Chaque miche de novembre se fait festive sous la lueur des chandelles.",
|
||||||
|
"Le four de novembre est le préparateur des festins d’hiver.",
|
||||||
|
"Pain doré en novembre, chaleur assurée.",
|
||||||
|
"Le pain bien levé en novembre annonce des repas chaleureux.",
|
||||||
|
"Sous la douceur de novembre, le pain est un régal réconfortant.",
|
||||||
|
"Le boulanger de novembre prépare des miches pour les fêtes.",
|
||||||
|
"Pain pétri avec soin en novembre, réchauffe les soirées hivernales.",
|
||||||
|
"Chaque croûte en novembre est un hommage à la saison qui change.",
|
||||||
|
"Le pain de novembre est l’élément central des repas de famille.",
|
||||||
|
"En novembre, le four est un havre de chaleur pour le pain.",
|
||||||
|
"Le pain d’hiver commence à se préparer en novembre.",
|
||||||
|
"À pain bien cuit en novembre, le réconfort est assuré.",
|
||||||
|
"Pain de novembre, douceur pour les soirées longues.",
|
||||||
|
}
|
||||||
|
|
||||||
|
var december = [31]string{
|
||||||
|
"En décembre, le pain est la chaleur des longues soirées d’hiver.",
|
||||||
|
"Le pain de décembre est le réconfort après les journées froides.",
|
||||||
|
"À chaque miche de décembre, une fête pour les papilles.",
|
||||||
|
"Le four en décembre est le gardien des saveurs des fêtes.",
|
||||||
|
"Pain bien cuit en décembre, bonheur sous le sapin.",
|
||||||
|
"Sous la neige de décembre, le pain réchauffe comme un bon feu.",
|
||||||
|
"Chaque tranche de pain en décembre est un délice pour les repas festifs.",
|
||||||
|
"Le pain de décembre porte en lui la magie des fêtes.",
|
||||||
|
"En décembre, le pain se cuit lentement pour remplir les maisons de chaleur.",
|
||||||
|
"À four bien chaud en décembre, chaque miche est une célébration.",
|
||||||
|
"Le pain de décembre est l’accompagnement parfait des repas de fin d’année.",
|
||||||
|
"Pain bien pétri en décembre, douceur pour les soirées en famille.",
|
||||||
|
"Le boulanger de décembre transforme la farine en festin hivernal.",
|
||||||
|
"Sous les lumières de décembre, le pain est une douceur réconfortante.",
|
||||||
|
"Mie tendre en décembre, chaleur dans chaque bouchée.",
|
||||||
|
"Le pain d’hiver commence à se préparer en décembre.",
|
||||||
|
"En décembre, chaque miche est un hommage aux traditions des fêtes.",
|
||||||
|
"Le four de décembre est prêt pour les festins de fin d’année.",
|
||||||
|
"Pain doré en décembre, plaisir des fêtes.",
|
||||||
|
"Le pain bien levé en décembre rend les repas plus joyeux.",
|
||||||
|
"Sous le froid de décembre, le pain est un baume pour l’âme.",
|
||||||
|
"Le boulanger de décembre prépare des miches pour les fêtes de fin d’année.",
|
||||||
|
"Pain pétri avec soin en décembre, réchauffe les soirées les plus froides.",
|
||||||
|
"Chaque croûte en décembre est un hommage à la saison des fêtes.",
|
||||||
|
"Le pain de décembre est un symbole de chaleur et de convivialité.",
|
||||||
|
"En décembre, le four transforme chaque pâte en délice hivernal.",
|
||||||
|
"Le pain de décembre est le réconfort après les festivités.",
|
||||||
|
"À pain bien cuit en décembre, les fêtes sont pleines de saveur.",
|
||||||
|
"Mie tendre en décembre, plaisir des soirées hivernales.",
|
||||||
|
"À chaque miche de décembre, un cadeau pour les papilles.",
|
||||||
|
"Pain bien cuit en décembre, régal des repas de fin d’année.",
|
||||||
|
}
|
128
quotes/quotes.go
128
quotes/quotes.go
|
@ -1,105 +1,33 @@
|
||||||
package quotes
|
package quotes
|
||||||
|
|
||||||
import (
|
import "time"
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"github.com/carlmjohnson/requests"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Config struct {
|
func GetQuote(date time.Time) string {
|
||||||
CacheLocation string
|
switch date.Month() {
|
||||||
|
case time.January:
|
||||||
|
return january[date.Day()]
|
||||||
|
case time.February:
|
||||||
|
return february[date.Day()]
|
||||||
|
case time.March:
|
||||||
|
return march[date.Day()]
|
||||||
|
case time.April:
|
||||||
|
return april[date.Day()]
|
||||||
|
case time.May:
|
||||||
|
return may[date.Day()]
|
||||||
|
case time.June:
|
||||||
|
return june[date.Day()]
|
||||||
|
case time.July:
|
||||||
|
return july[date.Day()]
|
||||||
|
case time.August:
|
||||||
|
return august[date.Day()]
|
||||||
|
case time.September:
|
||||||
|
return september[date.Day()]
|
||||||
|
case time.October:
|
||||||
|
return october[date.Day()]
|
||||||
|
case time.November:
|
||||||
|
return november[date.Day()]
|
||||||
|
case time.December:
|
||||||
|
return december[date.Day()]
|
||||||
}
|
}
|
||||||
|
return ""
|
||||||
type Client struct {
|
|
||||||
client *http.Client
|
|
||||||
config Config
|
|
||||||
}
|
|
||||||
|
|
||||||
func New(client *http.Client, config Config) *Client {
|
|
||||||
return &Client{client: client, config: config}
|
|
||||||
}
|
|
||||||
|
|
||||||
type Quote struct {
|
|
||||||
Status int `json:"status"`
|
|
||||||
Code int `json:"code"`
|
|
||||||
Error string `json:"error"`
|
|
||||||
Citation struct {
|
|
||||||
Citation string `json:"citation"`
|
|
||||||
Infos struct {
|
|
||||||
Auteur string `json:"auteur"`
|
|
||||||
Acteur string `json:"acteur"`
|
|
||||||
Personnage string `json:"personnage"`
|
|
||||||
Saison string `json:"saison"`
|
|
||||||
Episode string `json:"episode"`
|
|
||||||
} `json:"infos"`
|
|
||||||
} `json:"citation"`
|
|
||||||
}
|
|
||||||
|
|
||||||
var errTooOld = errors.New("quote is too old")
|
|
||||||
|
|
||||||
func loadFromDisk(location string) (Quote, error) {
|
|
||||||
stat, err := os.Stat(location)
|
|
||||||
if err != nil {
|
|
||||||
return Quote{}, fmt.Errorf("getting file info: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if stat.ModTime().Add(24 * time.Hour).Before(time.Now()) {
|
|
||||||
return Quote{}, errTooOld
|
|
||||||
}
|
|
||||||
|
|
||||||
file, err := os.Open(location)
|
|
||||||
if err != nil {
|
|
||||||
return Quote{}, fmt.Errorf("opening quote: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer file.Close()
|
|
||||||
|
|
||||||
var res Quote
|
|
||||||
if err = json.NewDecoder(file).Decode(&res); err != nil {
|
|
||||||
return Quote{}, fmt.Errorf("decoding quote: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (q Quote) dumpToDisk(location string) error {
|
|
||||||
file, err := os.Create(location)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("creating quote: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer file.Close()
|
|
||||||
|
|
||||||
if err = json.NewEncoder(file).Encode(q); err != nil {
|
|
||||||
return fmt.Errorf("dumping quote: %w", err)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) GetQuote(ctx context.Context) (res *Quote, err error) {
|
|
||||||
if val, err := loadFromDisk(c.config.CacheLocation); nil == err {
|
|
||||||
log.Println("found quote in cache")
|
|
||||||
return &val, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Println("querying quotes")
|
|
||||||
err = requests.URL("https://kaamelott.chaudie.re/api/random").
|
|
||||||
Client(c.client).
|
|
||||||
ToJSON(&res).
|
|
||||||
Fetch(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("fetching quotes: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := res.dumpToDisk(c.config.CacheLocation); err != nil {
|
|
||||||
log.Printf("error dumping files to disk: %v\n", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return res, nil
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/Crocmagnon/display-epaper/fete"
|
"github.com/Crocmagnon/display-epaper/fete"
|
||||||
"github.com/Crocmagnon/display-epaper/quotes"
|
|
||||||
"github.com/Crocmagnon/display-epaper/transports"
|
"github.com/Crocmagnon/display-epaper/transports"
|
||||||
"github.com/Crocmagnon/display-epaper/weather"
|
"github.com/Crocmagnon/display-epaper/weather"
|
||||||
"github.com/llgcode/draw2d/draw2dimg"
|
"github.com/llgcode/draw2d/draw2dimg"
|
||||||
|
@ -16,7 +15,6 @@ func run(
|
||||||
transportsClient *transports.Client,
|
transportsClient *transports.Client,
|
||||||
feteClient *fete.Client,
|
feteClient *fete.Client,
|
||||||
weatherClient *weather.Client,
|
weatherClient *weather.Client,
|
||||||
quotesClient *quotes.Client,
|
|
||||||
) error {
|
) error {
|
||||||
img, err := getBlack(
|
img, err := getBlack(
|
||||||
ctx,
|
ctx,
|
||||||
|
@ -30,7 +28,6 @@ func run(
|
||||||
transportsClient,
|
transportsClient,
|
||||||
feteClient,
|
feteClient,
|
||||||
weatherClient,
|
weatherClient,
|
||||||
quotesClient,
|
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
|
|
@ -5,7 +5,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/Crocmagnon/display-epaper/epd"
|
"github.com/Crocmagnon/display-epaper/epd"
|
||||||
"github.com/Crocmagnon/display-epaper/fete"
|
"github.com/Crocmagnon/display-epaper/fete"
|
||||||
"github.com/Crocmagnon/display-epaper/quotes"
|
|
||||||
"github.com/Crocmagnon/display-epaper/transports"
|
"github.com/Crocmagnon/display-epaper/transports"
|
||||||
"github.com/Crocmagnon/display-epaper/weather"
|
"github.com/Crocmagnon/display-epaper/weather"
|
||||||
"log"
|
"log"
|
||||||
|
@ -13,13 +12,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func run(
|
func run(ctx context.Context, transportsClient *transports.Client, feteClient *fete.Client, weatherClient *weather.Client) error {
|
||||||
ctx context.Context,
|
|
||||||
transportsClient *transports.Client,
|
|
||||||
feteClient *fete.Client,
|
|
||||||
weatherClient *weather.Client,
|
|
||||||
quotesClient *quotes.Client,
|
|
||||||
) error {
|
|
||||||
_, err := host.Init()
|
_, err := host.Init()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("initializing host: %w", err)
|
return fmt.Errorf("initializing host: %w", err)
|
||||||
|
@ -44,7 +37,6 @@ func run(
|
||||||
transportsClient,
|
transportsClient,
|
||||||
feteClient,
|
feteClient,
|
||||||
weatherClient,
|
weatherClient,
|
||||||
quotesClient,
|
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("error looping: %v\n", err)
|
log.Printf("error looping: %v\n", err)
|
||||||
|
@ -61,7 +53,6 @@ func loop(
|
||||||
transportsClient *transports.Client,
|
transportsClient *transports.Client,
|
||||||
feteClient *fete.Client,
|
feteClient *fete.Client,
|
||||||
weatherClient *weather.Client,
|
weatherClient *weather.Client,
|
||||||
quotesClient *quotes.Client,
|
|
||||||
) error {
|
) error {
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := display.Sleep(); err != nil {
|
if err := display.Sleep(); err != nil {
|
||||||
|
@ -82,7 +73,6 @@ func loop(
|
||||||
transportsClient,
|
transportsClient,
|
||||||
feteClient,
|
feteClient,
|
||||||
weatherClient,
|
weatherClient,
|
||||||
quotesClient,
|
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("getting black: %w", err)
|
return fmt.Errorf("getting black: %w", err)
|
||||||
|
|
Loading…
Reference in a new issue