diff --git a/Cargo.lock b/Cargo.lock index ff6c7d4..391cad0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -22,20 +22,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.65" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "autocfg" @@ -45,9 +34,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.13.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "bitflags" @@ -69,21 +58,21 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "bytes" -version = "1.2.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.73" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cesu8" @@ -99,16 +88,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "js-sys", "num-integer", "num-traits", "serde", - "time", "wasm-bindgen", "winapi", ] @@ -124,29 +112,37 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.22" +version = "4.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" +checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" dependencies = [ - "atty", "bitflags", "clap_lex", - "indexmap", + "is-terminal", "once_cell", "strsim", "termcolor", - "textwrap", ] [[package]] name = "clap_lex" -version = "0.2.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "combine" version = "4.6.6" @@ -159,13 +155,14 @@ dependencies = [ [[package]] name = "cooking-schedule" -version = "0.1.0" +version = "0.8.0" dependencies = [ "anyhow", "base64", "chrono", "clap", "csv", + "debug_print", "directories", "env_logger", "futures", @@ -180,7 +177,7 @@ dependencies = [ "speedate", "strum_macros", "tokio", - "toml", + "toml 0.7.1", "webbrowser", ] @@ -229,40 +226,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" [[package]] -name = "darling" -version = "0.13.4" +name = "cxx" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +checksum = "bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9" dependencies = [ - "darling_core", - "darling_macro", + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", ] [[package]] -name = "darling_core" -version = "0.13.4" +name = "cxx-build" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +checksum = "94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d" dependencies = [ - "fnv", - "ident_case", + "cc", + "codespan-reporting", + "once_cell", "proc-macro2", "quote", - "strsim", + "scratch", "syn", ] [[package]] -name = "darling_macro" -version = "0.13.4" +name = "cxxbridge-flags" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +checksum = "48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2" dependencies = [ - "darling_core", + "proc-macro2", "quote", "syn", ] +[[package]] +name = "debug_print" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f215f9b7224f49fb73256115331f677d868b34d18b65dbe4db392e6021eea90" + [[package]] name = "directories" version = "4.0.1" @@ -272,6 +284,15 @@ dependencies = [ "dirs-sys", ] +[[package]] +name = "dirs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +dependencies = [ + "dirs-sys", +] + [[package]] name = "dirs-sys" version = "0.3.7" @@ -285,21 +306,21 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" dependencies = [ "cfg-if", ] [[package]] name = "env_logger" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ - "atty", "humantime", + "is-terminal", "log", "regex", "termcolor", @@ -315,6 +336,27 @@ dependencies = [ "indexmap", ] +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fastrand" version = "1.8.0" @@ -362,9 +404,9 @@ checksum = "c1fd087255f739f4f1aeea69f11b72f8080e9c2e7645cd06955dad4a178a49e3" [[package]] name = "futures" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -377,9 +419,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -387,15 +429,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -404,15 +446,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-macro" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -421,21 +463,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-util" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -460,20 +502,20 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "h2" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -496,15 +538,15 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" dependencies = [ "libc", ] @@ -517,7 +559,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa 1.0.4", + "itoa 1.0.5", ] [[package]] @@ -551,9 +593,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -564,7 +606,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.4", + "itoa 1.0.5", "pin-project-lite", "socket2", "tokio", @@ -588,33 +630,39 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.50" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", "wasm-bindgen", "winapi", ] [[package]] -name = "icalendar" -version = "0.13.1" +name = "iana-time-zone-haiku" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb35c5cc6489141df16934450e2dfc1058201dbca89c3eba4fa8babd4ae7c845" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" dependencies = [ - "chrono", - "nom", - "uuid", + "cxx", + "cxx-build", ] [[package]] -name = "ident_case" -version = "1.0.1" +name = "icalendar" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "c48d6a2f56350939a4f4b909739397a9e450cb003c391b5233b5a93bb8dd80ae" +dependencies = [ + "chrono", + "iso8601", + "nom", + "uuid", +] [[package]] name = "idna" @@ -628,9 +676,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -646,10 +694,41 @@ dependencies = [ ] [[package]] -name = "ipnet" -version = "2.5.0" +name = "io-lifetimes" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +dependencies = [ + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "ipnet" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys 0.42.0", +] + +[[package]] +name = "iso8601" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "296af15e112ec6dc38c9fd3ae027b5337a75466e8eed757bd7d5cf742ea85eb6" +dependencies = [ + "nom", +] [[package]] name = "itoa" @@ -659,15 +738,15 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jni" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" dependencies = [ "cesu8", "combine", @@ -685,9 +764,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -700,9 +779,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.134" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libxml" @@ -716,15 +795,20 @@ dependencies = [ ] [[package]] -name = "lock_api" -version = "0.4.9" +name = "link-cplusplus" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ - "autocfg", - "scopeguard", + "cc", ] +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + [[package]] name = "log" version = "0.4.17" @@ -763,21 +847,21 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "mio" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "wasi", + "windows-sys 0.42.0", ] [[package]] name = "native-tls" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", @@ -791,64 +875,12 @@ dependencies = [ "tempfile", ] -[[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags", - "jni-sys", - "ndk-sys", - "num_enum", - "raw-window-handle", - "thiserror", -] - [[package]] name = "ndk-context" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" -[[package]] -name = "ndk-glue" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0434fabdd2c15e0aab768ca31d5b7b333717f03cf02037d5a0a3ff3c278ed67f" -dependencies = [ - "libc", - "log", - "ndk", - "ndk-context", - "ndk-macro", - "ndk-sys", - "once_cell", - "parking_lot", -] - -[[package]] -name = "ndk-macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c" -dependencies = [ - "darling", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "ndk-sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21d83ec9c63ec5bf950200a8e508bdad6659972187b625469f58ef8c08e29046" -dependencies = [ - "jni-sys", -] - [[package]] name = "nias" version = "0.5.0" @@ -857,14 +889,23 @@ checksum = "ab250442c86f1850815b5d268639dff018c0627022bc1940eb2d642ca1ce12f0" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-integer" version = "0.1.45" @@ -886,35 +927,14 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ "hermit-abi", "libc", ] -[[package]] -name = "num_enum" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "objc" version = "0.2.7" @@ -926,15 +946,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "openssl" -version = "0.10.42" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if", @@ -964,9 +984,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.76" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg", "cc", @@ -977,32 +997,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-sys", -] +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "percent-encoding" @@ -1024,35 +1021,24 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" - -[[package]] -name = "proc-macro-crate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" -dependencies = [ - "once_cell", - "thiserror", - "toml", -] +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "proc-macro2" -version = "1.0.46" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -1088,9 +1074,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -1105,9 +1091,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -1120,9 +1106,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.12" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ "base64", "bytes", @@ -1156,10 +1142,24 @@ dependencies = [ ] [[package]] -name = "rustversion" -version = "1.0.9" +name = "rustix" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + +[[package]] +name = "rustversion" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "rusty-hook" @@ -1170,14 +1170,14 @@ dependencies = [ "ci_info", "getopts", "nias", - "toml", + "toml 0.5.11", ] [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "same-file" @@ -1190,25 +1190,24 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] -name = "scopeguard" -version = "1.1.0" +name = "scratch" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -1219,9 +1218,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -1229,18 +1228,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.145" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.145" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -1249,15 +1248,24 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ - "itoa 1.0.4", + "itoa 1.0.5", "ryu", "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -1265,7 +1273,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.4", + "itoa 1.0.5", "ryu", "serde", ] @@ -1279,12 +1287,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - [[package]] name = "socket2" version = "0.4.7" @@ -1335,9 +1337,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.102" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -1360,50 +1362,33 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] -[[package]] -name = "textwrap" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" - [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -1415,15 +1400,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.21.2" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -1434,14 +1419,14 @@ dependencies = [ "pin-project-lite", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -1474,13 +1459,47 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772c1426ab886e7362aedf4abc9c0d1348a979517efedfc25862944d10137af0" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90a238ee2e6ede22fb95350acc78e21dc40da00bb66c0334bde83de4ed89424e" +dependencies = [ + "indexmap", + "nom8", + "serde", + "serde_spanned", + "toml_datetime", +] + [[package]] name = "tower-service" version = "0.3.2" @@ -1509,21 +1528,21 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -1553,9 +1572,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683f0a095f6dcf74520a5f17a12452ae6f970abbd2443299a1e226fd38195f2b" +checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" dependencies = [ "getrandom", ] @@ -1587,12 +1606,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -1601,9 +1614,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1611,9 +1624,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -1626,9 +1639,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -1638,9 +1651,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1648,9 +1661,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -1661,15 +1674,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -1677,26 +1690,21 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.0" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d62aa75495ab67cdc273d0b95cc76bcedfea2ba28338a4cf9b4137949dfac5" +checksum = "97d1fa1e5c829b2bf9eb1e28fb950248b797cd6a04866fbdfa8bc31e5eef4c78" dependencies = [ + "core-foundation", + "dirs", "jni", - "ndk-glue", + "log", + "ndk-context", "objc", "raw-window-handle", "url", "web-sys", - "widestring", - "winapi", ] -[[package]] -name = "widestring" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" - [[package]] name = "winapi" version = "0.3.9" @@ -1730,46 +1738,84 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.36.1" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ + "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", + "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" diff --git a/Cargo.toml b/Cargo.toml index 6f06d5e..f3fe404 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ [package] name = "cooking-schedule" description = "Build a schedule of dishes to cook with the help of NextCloud Cookbook" -version = "0.1.0" +version = "0.8.0" edition = "2021" authors = ["Matteo Settenvini "] license = "AGPL-3.0-or-later" @@ -20,7 +20,7 @@ version = "0.11" version = "1.0" [dependencies.base64] -version = "0.13" +version = "0.21" [dependencies.chrono] version = "0.4" @@ -31,20 +31,20 @@ features = ["alloc", "serde"] version = "1.1" [dependencies.clap] -version = "3.2" +version = "4.1" features = ["cargo"] [dependencies.directories] version = "4.0" [dependencies.env_logger] -version = "0.9" +version = "0.10" [dependencies.futures] version = "0.3" [dependencies.icalendar] -version = "0.13.0" +version = "0.15" features = ["parser"] [dependencies.libxml] @@ -74,7 +74,7 @@ version = "0.7" version = "0.24" [dependencies.toml] -version = "0.5" +version = "0.7" [dependencies.tokio] version = "1" @@ -82,3 +82,6 @@ features = ["rt-multi-thread", "net", "macros"] [dependencies.webbrowser] version = "0.8" + +[dependencies.debug_print] +version = "1.0" \ No newline at end of file diff --git a/examples/example-schedule.csv b/examples/example-schedule.csv index 56f8fa8..3a6afa9 100644 --- a/examples/example-schedule.csv +++ b/examples/example-schedule.csv @@ -1,366 +1,366 @@ "day","wday","lunch","dinner" -"2022-01-01","sabato",,"Ragù di carne" -"2022-01-02","domenica",, -"2022-01-03","lunedì",, -"2022-01-04","martedì",, -"2022-01-05","mercoledì",, -"2022-01-06","giovedì",, -"2022-01-07","venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu.html" -"2022-01-08","sabato",, -"2022-01-09","domenica","https://ricette.giallozafferano.it/Pollo-alla-cacciatora.html","https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" -"2022-01-10","lunedì",, -"2022-01-11","martedì",, -"2022-01-12","mercoledì",, -"2022-01-13","giovedì",,"https://ricette.giallozafferano.it/Gnocchi-di-ricotta-e-curcuma.html" -"2022-01-14","venerdì",,"https://ricette.giallozafferano.it/Polpette-al-sugo.html" -"2022-01-15","sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","https://ricette.giallozafferano.it/Risotto-radicchio-e-pancetta.html" -"2022-01-16","domenica",, -"2022-01-17","lunedì",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" -"2022-01-18","martedì",,"https://ricette.giallozafferano.it/Hamburger-di-ceci.html" -"2022-01-19","mercoledì",, -"2022-01-20","giovedì",, -"2022-01-21","venerdì",,"https://ricette.giallozafferano.it/Lenticchie-in-umido.html" -"2022-01-22","sabato","https://ricette.giallozafferano.it/Gnocchi-alla-sorrentina.html","https://www.chefkoch.de/rezepte/2183131350572745/Deftige-Gulaschsuppe.html" -"2022-01-23","domenica","https://ricette.giallozafferano.it/Cotechino-con-lenticchie.html", -"2022-01-24","lunedì",, -"2022-01-25","martedì",, -"2022-01-26","mercoledì",, -"2022-01-27","giovedì",, -"2022-01-28","venerdì",,"https://ricette.giallozafferano.it/Polpette-di-spinaci-e-ricotta.html" -"2022-01-29","sabato",,"https://ricette.giallozafferano.it/Costine-al-forno.html" -"2022-01-30","domenica",, -"2022-01-31","lunedì",, -"2022-02-01","martedì",, -"2022-02-02","mercoledì",,"https://ricette.giallozafferano.it/Salsiccia-e-patate-al-forno.html" -"2022-02-03","giovedì",, -"2022-02-04","venerdì",,"Ragù di carne" -"2022-02-05","sabato",,"https://ricette.giallozafferano.it/Chili-con-carne.html" -"2022-02-06","domenica",, -"2022-02-07","lunedì",, -"2022-02-08","martedì",, -"2022-02-09","mercoledì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" -"2022-02-10","giovedì",, -"2022-02-11","venerdì",, -"2022-02-12","sabato",,"https://ricette.giallozafferano.it/Spezzatino-alla-Guinness.html" -"2022-02-13","domenica",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" -"2022-02-14","lunedì",,"https://ricette.giallozafferano.it/Risotto-alla-melagrana.html" -"2022-02-15","martedì",, -"2022-02-16","mercoledì",,"https://ricette.giallozafferano.it/Risotto-radicchio-e-pancetta.html" -"2022-02-17","giovedì",, -"2022-02-18","venerdì",,"https://ricette.giallozafferano.it/Verza-e-fagioli.html" -"2022-02-19","sabato",,"https://ricette.giallozafferano.it/Polpette-al-sugo.html" -"2022-02-20","domenica","https://ricette.giallozafferano.it/Gnocchetti-gorgonzola-e-noci.html", -"2022-02-21","lunedì",, -"2022-02-22","martedì",, -"2022-02-23","mercoledì",, -"2022-02-24","giovedì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" -"2022-02-25","venerdì",,"https://ricette.giallozafferano.it/Torta-rustica.html" -"2022-02-26","sabato","https://ricette.giallozafferano.it/Gnudi.html","https://www.chefkoch.de/rezepte/2183131350572745/Deftige-Gulaschsuppe.html" -"2022-02-27","domenica","https://ricette.giallozafferano.it/Lenticchie-in-umido.html", -"2022-02-28","lunedì",, -"2022-03-01","martedì",, -"2022-03-02","mercoledì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" -"2022-03-03","giovedì",, -"2022-03-04","venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu.html" -"2022-03-05","sabato",,"https://ricette.giallozafferano.it/Ragu-di-seitan.html" -"2022-03-06","domenica","https://ricette.giallozafferano.it/Torta-Pasqualina.html", -"2022-03-07","lunedì",, -"2022-03-08","martedì",,"https://ricette.giallozafferano.it/Strozzapreti-cacio-cozze-e-pepe.html" -"2022-03-09","mercoledì",,"https://ricette.giallozafferano.it/Saltimbocca-alla-Romana.html" -"2022-03-10","giovedì",, -"2022-03-11","venerdì",, -"2022-03-12","sabato",,"https://ricette.giallozafferano.it/Costine-al-forno.html" -"2022-03-13","domenica",, -"2022-03-14","lunedì",, -"2022-03-15","martedì",, -"2022-03-16","mercoledì",, -"2022-03-17","giovedì",,"https://ricette.giallozafferano.it/Filetti-di-salmone-su-julienne-di-cavoletti-di-bruxelles-porri-e-carote.html" -"2022-03-18","venerdì",,"https://ricette.giallozafferano.it/Torta-rustica.html" -"2022-03-19","sabato",, -"2022-03-20","domenica",, -"2022-03-21","lunedì",, -"2022-03-22","martedì",, -"2022-03-23","mercoledì",, -"2022-03-24","giovedì",, -"2022-03-25","venerdì",,"https://ricette.giallozafferano.it/Polpette-di-spinaci-e-ricotta.html" -"2022-03-26","sabato","https://ricette.giallozafferano.it/Orata-al-forno.html", -"2022-03-27","domenica","https://ricette.giallozafferano.it/Gnocchi-al-gorgonzola.html", -"2022-03-28","lunedì",, -"2022-03-29","martedì",, -"2022-03-30","mercoledì",, -"2022-03-31","giovedì",,"https://ricette.giallozafferano.it/Hamburger-di-ceci.html" -"2022-04-01","venerdì",, -"2022-04-02","sabato",,"https://ricette.giallozafferano.it/Moussaka.html" -"2022-04-03","domenica",, -"2022-04-04","lunedì",, -"2022-04-05","martedì",, -"2022-04-06","mercoledì",, -"2022-04-07","giovedì",, -"2022-04-08","venerdì",,"https://ricette.giallozafferano.it/Ratatouille.html" -"2022-04-09","sabato",,"Ragù di carne" -"2022-04-10","domenica",, -"2022-04-11","lunedì",, -"2022-04-12","martedì",, -"2022-04-13","mercoledì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" -"2022-04-14","giovedì",, -"2022-04-15","venerdì",,"https://ricette.giallozafferano.it/Peperoni-ripieni-di-carne-e-salsiccia.html" -"2022-04-16","sabato",,"https://ricette.giallozafferano.it/Couscous-alla-marocchina.html" -"2022-04-17","domenica",, -"2022-04-18","lunedì",, -"2022-04-19","martedì",, -"2022-04-20","mercoledì",,"https://ricette.giallozafferano.it/Pasta-con-crema-di-peperoni.html" -"2022-04-21","giovedì",, -"2022-04-22","venerdì",,"https://ricette.giallozafferano.it/Risotto-agli-asparagi-e-scampi.html" -"2022-04-23","sabato",, -"2022-04-24","domenica","https://ricette.giallozafferano.it/Torta-Pasqualina.html", -"2022-04-25","lunedì",, -"2022-04-26","martedì",,"https://ricette.giallozafferano.it/Fusilli-con-crema-di-piselli-e-pecorino.html" -"2022-04-27","mercoledì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" -"2022-04-28","giovedì",, -"2022-04-29","venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-melanzane.html" -"2022-04-30","sabato",,"https://ricette.giallozafferano.it/Hamburger-di-ceci.html" -"2022-05-01","domenica",, -"2022-05-02","lunedì",,"https://ricette.giallozafferano.it/Pasta-panna-e-asparagi.html" -"2022-05-03","martedì",, -"2022-05-04","mercoledì",, -"2022-05-05","giovedì",,"https://ricette.giallozafferano.it/Scaloppine-saporite-con-cotto-e-formaggio.html" -"2022-05-06","venerdì",,"https://ricette.giallozafferano.it/Scialatielli-asparagi-e-vongole.html" -"2022-05-07","sabato",,"https://ricette.giallozafferano.it/Moussaka.html" -"2022-05-08","domenica",, -"2022-05-09","lunedì",, -"2022-05-10","martedì",,"https://ricette.giallozafferano.it/Torta-salata-di-melanzane.html" -"2022-05-11","mercoledì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" -"2022-05-12","giovedì",, -"2022-05-13","venerdì",,"https://ricette.giallozafferano.it/Spiedini-di-pollo.html" -"2022-05-14","sabato",,"https://ricette.giallozafferano.it/Fusilli-con-crema-di-piselli-e-pecorino.html" -"2022-05-15","domenica",, -"2022-05-16","lunedì",,"https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" -"2022-05-17","martedì",, -"2022-05-18","mercoledì",,"https://ricette.giallozafferano.it/Risotto-agli-asparagi-e-scampi.html" -"2022-05-19","giovedì",,"https://ricette.giallozafferano.it/Ratatouille.html" -"2022-05-20","venerdì",,"https://ricette.giallozafferano.it/Spaghetti-di-riso-con-carne-e-verdure.html" -"2022-05-21","sabato",,"https://ricette.giallozafferano.it/Couscous-alla-marocchina.html" -"2022-05-22","domenica","https://ricette.giallozafferano.it/Orata-al-forno.html", -"2022-05-23","lunedì",, -"2022-05-24","martedì",,"https://ricette.giallozafferano.it/Spaghetti-poveri.html" -"2022-05-25","mercoledì",,"https://ricette.giallozafferano.it/Scialatielli-asparagi-e-vongole.html" -"2022-05-26","giovedì",,"https://ricette.giallozafferano.it/Saltimbocca-alla-Romana.html" -"2022-05-27","venerdì",,"https://ricette.giallozafferano.it/Ratatouille.html" -"2022-05-28","sabato","https://ricette.giallozafferano.it/Gnocchi-di-ricotta-e-curcuma.html", -"2022-05-29","domenica","https://ricette.giallozafferano.it/Polpo-alla-Luciana.html", -"2022-05-30","lunedì",, -"2022-05-31","martedì",,"https://ricette.giallozafferano.it/Pasta-con-pomodorini-e-stracchino.html" -"2022-06-01","mercoledì",,"https://ricette.giallozafferano.it/Riso-alla-cantonese.html" -"2022-06-02","giovedì",,"https://ricette.giallozafferano.it/Bocconcini-di-pollo-con-yogurt-e-curcuma.html" -"2022-06-03","venerdì",,"https://ricette.giallozafferano.it/Insalata-con-uova-strapazzate.html" -"2022-06-04","sabato",,"https://ricette.giallozafferano.it/Garganelli-con-pesto-di-zucchine-e-gamberetti.html" -"2022-06-05","domenica",, -"2022-06-06","lunedì",,"https://ricette.giallozafferano.it/Insalata-Shirazi.html" -"2022-06-07","martedì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" -"2022-06-08","mercoledì",,"https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" -"2022-06-09","giovedì",, -"2022-06-10","venerdì",,"https://ricette.giallozafferano.it/Verdure-gratinate-al-forno.html" -"2022-06-11","sabato",, -"2022-06-12","domenica",,"https://ricette.giallozafferano.it/Riso-alla-cantonese.html" -"2022-06-13","lunedì",,"https://ricette.giallozafferano.it/Petto-di-pollo-ai-peperoni.html" -"2022-06-14","martedì",,"https://ricette.giallozafferano.it/Insalata-di-pasta-Mediterranea.html" -"2022-06-15","mercoledì",,"https://ricette.giallozafferano.it/Cocotte-di-quinoa.html" -"2022-06-16","giovedì",, -"2022-06-17","venerdì",,"https://ricette.giallozafferano.it/Salmorejo.html" -"2022-06-18","sabato","https://ricette.giallozafferano.it/Insalata-di-ceci-estiva.html", -"2022-06-19","domenica",, -"2022-06-20","lunedì",,"https://ricette.giallozafferano.it/Fusilli-con-crema-di-piselli-e-pecorino.html" -"2022-06-21","martedì",, -"2022-06-22","mercoledì",,"https://ricette.giallozafferano.it/Cotolette-di-tacchino.html" -"2022-06-23","giovedì",,"https://ricette.giallozafferano.it/Riso-saltato-con-tonno.html" -"2022-06-24","venerdì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" -"2022-06-25","sabato","https://ricette.giallozafferano.it/Orata-al-forno.html", -"2022-06-26","domenica",, -"2022-06-27","lunedì",,"https://ricette.giallozafferano.it/Spaghetti-poveri.html" -"2022-06-28","martedì",, -"2022-06-29","mercoledì",,"https://ricette.giallozafferano.it/Insalata-Shirazi.html" -"2022-06-30","giovedì",,"https://ricette.giallozafferano.it/Scaloppine-saporite-con-cotto-e-formaggio.html" -"2022-07-01","venerdì",, -"2022-07-02","sabato",, -"2022-07-03","domenica",,"https://ricette.giallozafferano.it/Insalata-di-bulgur-vegana.html" -"2022-07-04","lunedì",,"https://ricette.giallozafferano.it/Garganelli-con-pesto-di-zucchine-e-gamberetti.html" -"2022-07-05","martedì",,"https://ricette.giallozafferano.it/Insalata-di-ceci-estiva.html" -"2022-07-06","mercoledì",,"https://ricette.giallozafferano.it/Pasta-con-le-melanzane.html" -"2022-07-07","giovedì",, -"2022-07-08","venerdì",, -"2022-07-09","sabato","https://ricette.giallozafferano.it/Pasta-con-pomodorini-e-stracchino.html", -"2022-07-10","domenica",, -"2022-07-11","lunedì",,"https://ricette.giallozafferano.it/Insalata-con-uova-strapazzate.html" -"2022-07-12","martedì",, -"2022-07-13","mercoledì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" -"2022-07-14","giovedì",,"Tomatenpita" -"2022-07-15","venerdì",,"https://ricette.giallozafferano.it/Salmorejo.html" -"2022-07-16","sabato","https://ricette.giallozafferano.it/Cotolette-di-tacchino.html", -"2022-07-17","domenica",,"https://ricette.giallozafferano.it/Insalata-di-quinoa-alla-greca.html" -"2022-07-18","lunedì",,"https://ricette.giallozafferano.it/Bocconcini-di-pollo-con-yogurt-e-curcuma.html" -"2022-07-19","martedì",,"https://ricette.giallozafferano.it/Verdure-gratinate-al-forno.html" -"2022-07-20","mercoledì",, -"2022-07-21","giovedì",,"https://ricette.giallozafferano.it/Insalata-di-pasta-Mediterranea.html" -"2022-07-22","venerdì",,"https://ricette.giallozafferano.it/Riso-saltato-con-tonno.html" -"2022-07-23","sabato",,"https://ricette.giallozafferano.it/Cocotte-di-quinoa.html" -"2022-07-24","domenica",, -"2022-07-25","lunedì",,"https://ricette.giallozafferano.it/Tempeh-alle-verdure.html" -"2022-07-26","martedì",,"https://ricette.giallozafferano.it/Spiedini-di-pollo.html" -"2022-07-27","mercoledì",,"https://ricette.giallozafferano.it/Pasta-con-crema-di-peperoni.html" -"2022-07-28","giovedì",, -"2022-07-29","venerdì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" -"2022-07-30","sabato",, -"2022-07-31","domenica",, -"2022-08-01","lunedì",,"https://ricette.giallozafferano.it/Riso-freddo-con-tonno-zucchine-e-limone.html" -"2022-08-02","martedì",,"https://ricette.giallozafferano.it/Insalata-Shirazi.html" -"2022-08-03","mercoledì",,"https://ricette.giallozafferano.it/Insalata-di-pasta-Mediterranea.html" -"2022-08-04","giovedì",,"https://ricette.giallozafferano.it/Petto-di-pollo-ai-peperoni.html" -"2022-08-05","venerdì",, -"2022-08-06","sabato","https://ricette.giallozafferano.it/Spaghetti-di-riso-con-carne-e-verdure.html","https://ricette.giallozafferano.it/Pasta-con-pomodorini-e-stracchino.html" -"2022-08-07","domenica","https://ricette.giallozafferano.it/Insalata-di-riso-vegetariana.html", -"2022-08-08","lunedì",,"https://ricette.giallozafferano.it/Torta-salata-di-melanzane.html" -"2022-08-09","martedì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" -"2022-08-10","mercoledì",,"https://ricette.giallozafferano.it/Insalata-con-uova-strapazzate.html" -"2022-08-11","giovedì",,"https://ricette.giallozafferano.it/Verdure-gratinate-al-forno.html" -"2022-08-12","venerdì",,"https://ricette.giallozafferano.it/Garganelli-con-pesto-di-zucchine-e-gamberetti.html" -"2022-08-13","sabato","https://ricette.giallozafferano.it/Insalata-di-bulgur-vegana.html","Tomatenpita" -"2022-08-14","domenica","https://ricette.giallozafferano.it/Cotolette-di-tacchino.html", -"2022-08-15","lunedì",,"https://ricette.giallozafferano.it/Pasta-con-le-melanzane.html" -"2022-08-16","martedì",,"https://ricette.giallozafferano.it/Tempeh-alle-verdure.html" -"2022-08-17","mercoledì",,"https://ricette.giallozafferano.it/Cocotte-di-quinoa.html" -"2022-08-18","giovedì",,"https://ricette.giallozafferano.it/Spaghetti-poveri.html" -"2022-08-19","venerdì",,"https://ricette.giallozafferano.it/Bocconcini-di-pollo-con-yogurt-e-curcuma.html" -"2022-08-20","sabato",,"https://ricette.giallozafferano.it/Salmorejo.html" -"2022-08-21","domenica","https://ricette.giallozafferano.it/Scaloppine-in-rosa.html", -"2022-08-22","lunedì",,"https://ricette.giallozafferano.it/Insalata-di-quinoa-alla-greca.html" -"2022-08-23","martedì",,"https://ricette.giallozafferano.it/Omelette-caprese.html" -"2022-08-24","mercoledì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" -"2022-08-25","giovedì",,"https://ricette.giallozafferano.it/Braciole-in-salsa-all-arancia.html" -"2022-08-26","venerdì",,"https://ricette.giallozafferano.it/Pasta-ricotta-e-noci.html" -"2022-08-27","sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","https://ricette.giallozafferano.it/Spiedini-di-pollo.html" -"2022-08-28","domenica",, -"2022-08-29","lunedì",,"https://ricette.giallozafferano.it/Riso-saltato-con-tonno.html" -"2022-08-30","martedì",,"https://ricette.giallozafferano.it/Scaloppine-saporite-con-cotto-e-formaggio.html" -"2022-08-31","mercoledì",,"https://ricette.giallozafferano.it/Tempeh-alle-verdure.html" -"2022-09-01","giovedì",, -"2022-09-02","venerdì",,"https://ricette.giallozafferano.it/Pasta-alla-cenere.html" -"2022-09-03","sabato","https://ricette.giallozafferano.it/Petto-di-pollo-ai-peperoni.html","https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" -"2022-09-04","domenica","https://ricette.giallozafferano.it/Ossibuchi-alla-milanese.html", -"2022-09-05","lunedì",,"https://ricette.giallozafferano.it/Pasta-ricotta-e-noci.html" -"2022-09-06","martedì",, -"2022-09-07","mercoledì",,"https://ricette.giallozafferano.it/Bombette-pugliesi.html" -"2022-09-08","giovedì",,"https://ricette.giallozafferano.it/Pasta-con-le-melanzane.html" -"2022-09-09","venerdì",,"https://ricette.giallozafferano.it/Spaghetti-di-riso-con-carne-e-verdure.html" -"2022-09-10","sabato","https://ricette.giallozafferano.it/Maccheroncini-al-fume.html", -"2022-09-11","domenica","https://ricette.giallozafferano.it/Polpo-alla-Luciana.html", -"2022-09-12","lunedì",,"https://ricette.giallozafferano.it/Pennette-con-speck-e-zucchine.html" -"2022-09-13","martedì",,"https://ricette.giallozafferano.it/Torta-salata-di-melanzane.html" -"2022-09-14","mercoledì",,"https://ricette.giallozafferano.it/Scaloppine-ai-funghi.html" -"2022-09-15","giovedì",, -"2022-09-16","venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-melanzane.html" -"2022-09-17","sabato",,"Ragù di carne" -"2022-09-18","domenica",, -"2022-09-19","lunedì",, -"2022-09-20","martedì",, -"2022-09-21","mercoledì",,"https://ricette.giallozafferano.it/Strozzapreti-cacio-cozze-e-pepe.html" -"2022-09-22","giovedì",,"https://ricette.giallozafferano.it/Nugget-di-tofu.html" -"2022-09-23","venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" -"2022-09-24","sabato","https://ricette.giallozafferano.it/Gnudi.html","https://ricette.giallozafferano.it/Bucatini-con-fiori-di-zucca-guanciale-e-zafferano.html" -"2022-09-25","domenica","https://ricette.giallozafferano.it/Pollo-alla-cacciatora.html", -"2022-09-26","lunedì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" -"2022-09-27","martedì",,"https://ricette.giallozafferano.it/Cotolette-di-tacchino.html" -"2022-09-28","mercoledì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" -"2022-09-29","giovedì",,"https://ricette.giallozafferano.it/Pasta-con-crema-di-peperoni.html" -"2022-09-30","venerdì",, -"2022-10-01","sabato",, -"2022-10-02","domenica","https://ricette.giallozafferano.it/Gnocchi-alla-sorrentina.html", -"2022-10-03","lunedì",, -"2022-10-04","martedì",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" -"2022-10-05","mercoledì",, -"2022-10-06","giovedì",,"https://ricette.giallozafferano.it/Saltimbocca-alla-Romana.html" -"2022-10-07","venerdì",,"https://ricette.giallozafferano.it/Risotto-ai-funghi.html" -"2022-10-08","sabato","https://ricette.giallozafferano.it/Torta-Pasqualina.html","https://www.chefkoch.de/rezepte/1643661271940496/Ukrainischer-Borschtsch.html" -"2022-10-09","domenica","https://ricette.giallozafferano.it/Gnocchi-al-gorgonzola.html", -"2022-10-10","lunedì",,"https://ricette.giallozafferano.it/Pennette-con-speck-e-zucchine.html" -"2022-10-11","martedì",,"https://ricette.giallozafferano.it/Gnocchi-di-ricotta-e-curcuma.html" -"2022-10-12","mercoledì",,"https://ricette.giallozafferano.it/Salsiccia-e-patate-al-forno.html" -"2022-10-13","giovedì",,"https://ricette.giallozafferano.it/Maccheroncini-al-fume.html" -"2022-10-14","venerdì",,"https://ricette.giallozafferano.it/Polpette-al-sugo.html" -"2022-10-15","sabato",,"https://ricette.giallozafferano.it/Ratatouille.html" -"2022-10-16","domenica","https://ricette.giallozafferano.it/Ossibuchi-alla-milanese.html","https://ricette.giallozafferano.it/Pasta-ricotta-e-noci.html" -"2022-10-17","lunedì",,"https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" -"2022-10-18","martedì",, -"2022-10-19","mercoledì",,"https://ricette.giallozafferano.it/Scaloppine-ai-funghi.html" -"2022-10-20","giovedì",, -"2022-10-21","venerdì",,"https://ricette.giallozafferano.it/Bucatini-con-fiori-di-zucca-guanciale-e-zafferano.html" -"2022-10-22","sabato","https://ricette.giallozafferano.it/Gnudi.html","https://ricette.giallozafferano.it/Peperoni-ripieni-di-carne-e-salsiccia.html" -"2022-10-23","domenica",, -"2022-10-24","lunedì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-zucca.html" -"2022-10-25","martedì",, -"2022-10-26","mercoledì",, -"2022-10-27","giovedì",,"https://ricette.giallozafferano.it/Bombette-pugliesi.html" -"2022-10-28","venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-zucca-e-carote.html" -"2022-10-29","sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","Ragù di carne" -"2022-10-30","domenica",, -"2022-10-31","lunedì",, -"2022-11-01","martedì",, -"2022-11-02","mercoledì",, -"2022-11-03","giovedì",,"https://ricette.giallozafferano.it/Involtini-di-cotoletta.html" -"2022-11-04","venerdì",,"https://ricette.giallozafferano.it/Risotto-con-pancetta-e-crema-di-piselli.html" -"2022-11-05","sabato","https://ricette.giallozafferano.it/Spatzle-di-spinaci.html","https://ricette.giallozafferano.it/Lenticchie-in-umido.html" -"2022-11-06","domenica","https://ricette.giallozafferano.it/Verza-e-fagioli.html", -"2022-11-07","lunedì",, -"2022-11-08","martedì",, -"2022-11-09","mercoledì",, -"2022-11-10","giovedì",, -"2022-11-11","venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" -"2022-11-12","sabato",,"https://ricette.giallozafferano.it/Chili-con-carne.html" -"2022-11-13","domenica","https://ricette.giallozafferano.it/Ossibuchi-alla-milanese.html", -"2022-11-14","lunedì",, -"2022-11-15","martedì",,"https://ricette.giallozafferano.it/Lenticchie-e-salsiccia.html" -"2022-11-16","mercoledì",, -"2022-11-17","giovedì",, -"2022-11-18","venerdì",,"https://ricette.giallozafferano.it/Torta-rustica.html" -"2022-11-19","sabato",,"https://ricette.giallozafferano.it/Ragu-di-seitan.html" -"2022-11-20","domenica","https://ricette.giallozafferano.it/Cotechino-con-lenticchie.html", -"2022-11-21","lunedì",, -"2022-11-22","martedì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-zucca.html" -"2022-11-23","mercoledì",, -"2022-11-24","giovedì",, -"2022-11-25","venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-zucca-e-carote.html" -"2022-11-26","sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","https://www.chefkoch.de/rezepte/1643661271940496/Ukrainischer-Borschtsch.html" -"2022-11-27","domenica","https://ricette.giallozafferano.it/Gnocchi-al-gorgonzola.html", -"2022-11-28","lunedì",, -"2022-11-29","martedì",,"https://ricette.giallozafferano.it/Scaloppine-ai-funghi.html" -"2022-11-30","mercoledì",, -"2022-12-01","giovedì",, -"2022-12-02","venerdì",,"https://ricette.giallozafferano.it/Polpette-di-spinaci-e-ricotta.html" -"2022-12-03","sabato",,"https://ricette.giallozafferano.it/Spezzatino-alla-Guinness.html" -"2022-12-04","domenica",, -"2022-12-05","lunedì",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" -"2022-12-06","martedì",, -"2022-12-07","mercoledì",,"https://ricette.giallozafferano.it/Involtini-di-cotoletta.html" -"2022-12-08","giovedì",, -"2022-12-09","venerdì",, -"2022-12-10","sabato","https://ricette.giallozafferano.it/Gnudi.html","Ragù di carne" -"2022-12-11","domenica",, -"2022-12-12","lunedì",, -"2022-12-13","martedì",,"https://ricette.giallozafferano.it/Bombette-pugliesi.html" -"2022-12-14","mercoledì",,"https://ricette.giallozafferano.it/Risotto-ai-funghi.html" -"2022-12-15","giovedì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" -"2022-12-16","venerdì",,"https://ricette.giallozafferano.it/Verza-e-fagioli.html" -"2022-12-17","sabato",,"https://ricette.giallozafferano.it/Pasticcio-di-zucca.html" -"2022-12-18","domenica","https://ricette.giallozafferano.it/Polpette-al-sugo.html", -"2022-12-19","lunedì",, -"2022-12-20","martedì",,"https://ricette.giallozafferano.it/Salsiccia-e-patate-al-forno.html" -"2022-12-21","mercoledì",, -"2022-12-22","giovedì",,"https://ricette.giallozafferano.it/Lenticchie-e-salsiccia.html" -"2022-12-23","venerdì",,"https://ricette.giallozafferano.it/Gnocchetti-gorgonzola-e-noci.html" -"2022-12-24","sabato",, -"2022-12-25","domenica","https://ricette.giallozafferano.it/Filetto-in-crosta.html", -"2022-12-26","lunedì",, -"2022-12-27","martedì",, -"2022-12-28","mercoledì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" -"2022-12-29","giovedì",, -"2022-12-30","venerdì",,"https://ricette.giallozafferano.it/Risotto-alla-melagrana.html" -"2022-12-31","sabato","https://ricette.giallozafferano.it/Cotechino-con-lenticchie.html", \ No newline at end of file +2022-12-31,"sabato",,"Ragù di carne" +2023-01-01,"domenica",, +2023-01-02,"lunedì",, +2023-01-03,"martedì",, +2023-01-04,"mercoledì",, +2023-01-05,"giovedì",, +2023-01-06,"venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu.html" +2023-01-07,"sabato",, +2023-01-08,"domenica","https://ricette.giallozafferano.it/Pollo-alla-cacciatora.html","https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" +2023-01-09,"lunedì",, +2023-01-10,"martedì",, +2023-01-11,"mercoledì",, +2023-01-12,"giovedì",,"https://ricette.giallozafferano.it/Gnocchi-di-ricotta-e-curcuma.html" +2023-01-13,"venerdì",,"https://ricette.giallozafferano.it/Polpette-al-sugo.html" +2023-01-14,"sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","https://ricette.giallozafferano.it/Risotto-radicchio-e-pancetta.html" +2023-01-15,"domenica",, +2023-01-16,"lunedì",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" +2023-01-17,"martedì",,"https://ricette.giallozafferano.it/Hamburger-di-ceci.html" +2023-01-18,"mercoledì",, +2023-01-19,"giovedì",, +2023-01-20,"venerdì",,"https://ricette.giallozafferano.it/Lenticchie-in-umido.html" +2023-01-21,"sabato","https://ricette.giallozafferano.it/Gnocchi-alla-sorrentina.html","https://www.chefkoch.de/rezepte/2183131350572745/Deftige-Gulaschsuppe.html" +2023-01-22,"domenica","https://ricette.giallozafferano.it/Cotechino-con-lenticchie.html", +2023-01-23,"lunedì",, +2023-01-24,"martedì",, +2023-01-25,"mercoledì",, +2023-01-26,"giovedì",, +2023-01-27,"venerdì",,"https://ricette.giallozafferano.it/Polpette-di-spinaci-e-ricotta.html" +2023-01-28,"sabato",,"https://ricette.giallozafferano.it/Costine-al-forno.html" +2023-01-29,"domenica",, +2023-01-30,"lunedì",, +2023-01-31,"martedì",, +2023-02-01,"mercoledì",,"https://ricette.giallozafferano.it/Salsiccia-e-patate-al-forno.html" +2023-02-02,"giovedì",, +2023-02-03,"venerdì",,"Ragù di carne" +2023-02-04,"sabato",,"https://ricette.giallozafferano.it/Chili-con-carne.html" +2023-02-05,"domenica",, +2023-02-06,"lunedì",, +2023-02-07,"martedì",, +2023-02-08,"mercoledì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" +2023-02-09,"giovedì",, +2023-02-10,"venerdì",, +2023-02-11,"sabato",,"https://ricette.giallozafferano.it/Spezzatino-alla-Guinness.html" +2023-02-12,"domenica",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" +2023-02-13,"lunedì",,"https://ricette.giallozafferano.it/Risotto-alla-melagrana.html" +2023-02-14,"martedì",, +2023-02-15,"mercoledì",,"https://ricette.giallozafferano.it/Risotto-radicchio-e-pancetta.html" +2023-02-16,"giovedì",, +2023-02-17,"venerdì",,"https://ricette.giallozafferano.it/Verza-e-fagioli.html" +2023-02-18,"sabato",,"https://ricette.giallozafferano.it/Polpette-al-sugo.html" +2023-02-19,"domenica","https://ricette.giallozafferano.it/Gnocchetti-gorgonzola-e-noci.html", +2023-02-20,"lunedì",, +2023-02-21,"martedì",, +2023-02-22,"mercoledì",, +2023-02-23,"giovedì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" +2023-02-24,"venerdì",,"https://ricette.giallozafferano.it/Torta-rustica.html" +2023-02-25,"sabato","https://ricette.giallozafferano.it/Gnudi.html","https://www.chefkoch.de/rezepte/2183131350572745/Deftige-Gulaschsuppe.html" +2023-02-26,"domenica","https://ricette.giallozafferano.it/Lenticchie-in-umido.html", +2023-02-27,"lunedì",, +2023-02-28,"martedì",, +2023-03-01,"mercoledì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" +2023-03-02,"giovedì",, +2023-03-03,"venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu.html" +2023-03-04,"sabato",,"https://ricette.giallozafferano.it/Ragu-di-seitan.html" +2023-03-05,"domenica","https://ricette.giallozafferano.it/Torta-Pasqualina.html", +2023-03-06,"lunedì",, +2023-03-07,"martedì",,"https://ricette.giallozafferano.it/Strozzapreti-cacio-cozze-e-pepe.html" +2023-03-08,"mercoledì",,"https://ricette.giallozafferano.it/Saltimbocca-alla-Romana.html" +2023-03-09,"giovedì",, +2023-03-10,"venerdì",, +2023-03-11,"sabato",,"https://ricette.giallozafferano.it/Costine-al-forno.html" +2023-03-12,"domenica",, +2023-03-13,"lunedì",, +2023-03-14,"martedì",, +2023-03-15,"mercoledì",, +2023-03-16,"giovedì",,"https://ricette.giallozafferano.it/Filetti-di-salmone-su-julienne-di-cavoletti-di-bruxelles-porri-e-carote.html" +2023-03-17,"venerdì",,"https://ricette.giallozafferano.it/Torta-rustica.html" +2023-03-18,"sabato",, +2023-03-19,"domenica",, +2023-03-20,"lunedì",, +2023-03-21,"martedì",, +2023-03-22,"mercoledì",, +2023-03-23,"giovedì",, +2023-03-24,"venerdì",,"https://ricette.giallozafferano.it/Polpette-di-spinaci-e-ricotta.html" +2023-03-25,"sabato","https://ricette.giallozafferano.it/Orata-al-forno.html", +2023-03-26,"domenica","https://ricette.giallozafferano.it/Gnocchi-al-gorgonzola.html", +2023-03-27,"lunedì",, +2023-03-28,"martedì",, +2023-03-29,"mercoledì",, +2023-03-30,"giovedì",,"https://ricette.giallozafferano.it/Hamburger-di-ceci.html" +2023-03-31,"venerdì",, +2023-04-01,"sabato",,"https://ricette.giallozafferano.it/Moussaka.html" +2023-04-02,"domenica",, +2023-04-03,"lunedì",, +2023-04-04,"martedì",, +2023-04-05,"mercoledì",, +2023-04-06,"giovedì",, +2023-04-07,"venerdì",,"https://ricette.giallozafferano.it/Ratatouille.html" +2023-04-08,"sabato",,"Ragù di carne" +2023-04-09,"domenica",, +2023-04-10,"lunedì",, +2023-04-11,"martedì",, +2023-04-12,"mercoledì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" +2023-04-13,"giovedì",, +2023-04-14,"venerdì",,"https://ricette.giallozafferano.it/Peperoni-ripieni-di-carne-e-salsiccia.html" +2023-04-15,"sabato",,"https://ricette.giallozafferano.it/Couscous-alla-marocchina.html" +2023-04-16,"domenica",, +2023-04-17,"lunedì",, +2023-04-18,"martedì",, +2023-04-19,"mercoledì",,"https://ricette.giallozafferano.it/Pasta-con-crema-di-peperoni.html" +2023-04-20,"giovedì",, +2023-04-21,"venerdì",,"https://ricette.giallozafferano.it/Risotto-agli-asparagi-e-scampi.html" +2023-04-22,"sabato",, +2023-04-23,"domenica","https://ricette.giallozafferano.it/Torta-Pasqualina.html", +2023-04-24,"lunedì",, +2023-04-25,"martedì",,"https://ricette.giallozafferano.it/Fusilli-con-crema-di-piselli-e-pecorino.html" +2023-04-26,"mercoledì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" +2023-04-27,"giovedì",, +2023-04-28,"venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-melanzane.html" +2023-04-29,"sabato",,"https://ricette.giallozafferano.it/Hamburger-di-ceci.html" +2023-04-30,"domenica",, +2023-05-01,"lunedì",,"https://ricette.giallozafferano.it/Pasta-panna-e-asparagi.html" +2023-05-02,"martedì",, +2023-05-03,"mercoledì",, +2023-05-04,"giovedì",,"https://ricette.giallozafferano.it/Scaloppine-saporite-con-cotto-e-formaggio.html" +2023-05-05,"venerdì",,"https://ricette.giallozafferano.it/Scialatielli-asparagi-e-vongole.html" +2023-05-06,"sabato",,"https://ricette.giallozafferano.it/Moussaka.html" +2023-05-07,"domenica",, +2023-05-08,"lunedì",, +2023-05-09,"martedì",,"https://ricette.giallozafferano.it/Torta-salata-di-melanzane.html" +2023-05-10,"mercoledì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" +2023-05-11,"giovedì",, +2023-05-12,"venerdì",,"https://ricette.giallozafferano.it/Spiedini-di-pollo.html" +2023-05-13,"sabato",,"https://ricette.giallozafferano.it/Fusilli-con-crema-di-piselli-e-pecorino.html" +2023-05-14,"domenica",, +2023-05-15,"lunedì",,"https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" +2023-05-16,"martedì",, +2023-05-17,"mercoledì",,"https://ricette.giallozafferano.it/Risotto-agli-asparagi-e-scampi.html" +2023-05-18,"giovedì",,"https://ricette.giallozafferano.it/Ratatouille.html" +2023-05-19,"venerdì",,"https://ricette.giallozafferano.it/Spaghetti-di-riso-con-carne-e-verdure.html" +2023-05-20,"sabato",,"https://ricette.giallozafferano.it/Couscous-alla-marocchina.html" +2023-05-21,"domenica","https://ricette.giallozafferano.it/Orata-al-forno.html", +2023-05-22,"lunedì",, +2023-05-23,"martedì",,"https://ricette.giallozafferano.it/Spaghetti-poveri.html" +2023-05-24,"mercoledì",,"https://ricette.giallozafferano.it/Scialatielli-asparagi-e-vongole.html" +2023-05-25,"giovedì",,"https://ricette.giallozafferano.it/Saltimbocca-alla-Romana.html" +2023-05-26,"venerdì",,"https://ricette.giallozafferano.it/Ratatouille.html" +2023-05-27,"sabato","https://ricette.giallozafferano.it/Gnocchi-di-ricotta-e-curcuma.html", +2023-05-28,"domenica","https://ricette.giallozafferano.it/Polpo-alla-Luciana.html", +2023-05-29,"lunedì",, +2023-05-30,"martedì",,"https://ricette.giallozafferano.it/Pasta-con-pomodorini-e-stracchino.html" +2023-05-31,"mercoledì",,"https://ricette.giallozafferano.it/Riso-alla-cantonese.html" +2023-06-01,"giovedì",,"https://ricette.giallozafferano.it/Bocconcini-di-pollo-con-yogurt-e-curcuma.html" +2023-06-02,"venerdì",,"https://ricette.giallozafferano.it/Insalata-con-uova-strapazzate.html" +2023-06-03,"sabato",,"https://ricette.giallozafferano.it/Garganelli-con-pesto-di-zucchine-e-gamberetti.html" +2023-06-04,"domenica",, +2023-06-05,"lunedì",,"https://ricette.giallozafferano.it/Insalata-Shirazi.html" +2023-06-06,"martedì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" +2023-06-07,"mercoledì",,"https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" +2023-06-08,"giovedì",, +2023-06-09,"venerdì",,"https://ricette.giallozafferano.it/Verdure-gratinate-al-forno.html" +2023-06-10,"sabato",, +2023-06-11,"domenica",,"https://ricette.giallozafferano.it/Riso-alla-cantonese.html" +2023-06-12,"lunedì",,"https://ricette.giallozafferano.it/Petto-di-pollo-ai-peperoni.html" +2023-06-13,"martedì",,"https://ricette.giallozafferano.it/Insalata-di-pasta-Mediterranea.html" +2023-06-14,"mercoledì",,"https://ricette.giallozafferano.it/Cocotte-di-quinoa.html" +2023-06-15,"giovedì",, +2023-06-16,"venerdì",,"https://ricette.giallozafferano.it/Salmorejo.html" +2023-06-17,"sabato","https://ricette.giallozafferano.it/Insalata-di-ceci-estiva.html", +2023-06-18,"domenica",, +2023-06-19,"lunedì",,"https://ricette.giallozafferano.it/Fusilli-con-crema-di-piselli-e-pecorino.html" +2023-06-20,"martedì",, +2023-06-21,"mercoledì",,"https://ricette.giallozafferano.it/Cotolette-di-tacchino.html" +2023-06-22,"giovedì",,"https://ricette.giallozafferano.it/Riso-saltato-con-tonno.html" +2023-06-23,"venerdì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" +2023-06-24,"sabato","https://ricette.giallozafferano.it/Orata-al-forno.html", +2023-06-25,"domenica",, +2023-06-26,"lunedì",,"https://ricette.giallozafferano.it/Spaghetti-poveri.html" +2023-06-27,"martedì",, +2023-06-28,"mercoledì",,"https://ricette.giallozafferano.it/Insalata-Shirazi.html" +2023-06-29,"giovedì",,"https://ricette.giallozafferano.it/Scaloppine-saporite-con-cotto-e-formaggio.html" +2023-06-30,"venerdì",, +2023-07-01,"sabato",, +2023-07-02,"domenica",,"https://ricette.giallozafferano.it/Insalata-di-bulgur-vegana.html" +2023-07-03,"lunedì",,"https://ricette.giallozafferano.it/Garganelli-con-pesto-di-zucchine-e-gamberetti.html" +2023-07-04,"martedì",,"https://ricette.giallozafferano.it/Insalata-di-ceci-estiva.html" +2023-07-05,"mercoledì",,"https://ricette.giallozafferano.it/Pasta-con-le-melanzane.html" +2023-07-06,"giovedì",, +2023-07-07,"venerdì",, +2023-07-08,"sabato","https://ricette.giallozafferano.it/Pasta-con-pomodorini-e-stracchino.html", +2023-07-09,"domenica",, +2023-07-10,"lunedì",,"https://ricette.giallozafferano.it/Insalata-con-uova-strapazzate.html" +2023-07-11,"martedì",, +2023-07-12,"mercoledì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" +2023-07-13,"giovedì",,"Tomatenpita" +2023-07-14,"venerdì",,"https://ricette.giallozafferano.it/Salmorejo.html" +2023-07-15,"sabato","https://ricette.giallozafferano.it/Cotolette-di-tacchino.html", +2023-07-16,"domenica",,"https://ricette.giallozafferano.it/Insalata-di-quinoa-alla-greca.html" +2023-07-17,"lunedì",,"https://ricette.giallozafferano.it/Bocconcini-di-pollo-con-yogurt-e-curcuma.html" +2023-07-18,"martedì",,"https://ricette.giallozafferano.it/Verdure-gratinate-al-forno.html" +2023-07-19,"mercoledì",, +2023-07-20,"giovedì",,"https://ricette.giallozafferano.it/Insalata-di-pasta-Mediterranea.html" +2023-07-21,"venerdì",,"https://ricette.giallozafferano.it/Riso-saltato-con-tonno.html" +2023-07-22,"sabato",,"https://ricette.giallozafferano.it/Cocotte-di-quinoa.html" +2023-07-23,"domenica",, +2023-07-24,"lunedì",,"https://ricette.giallozafferano.it/Tempeh-alle-verdure.html" +2023-07-25,"martedì",,"https://ricette.giallozafferano.it/Spiedini-di-pollo.html" +2023-07-26,"mercoledì",,"https://ricette.giallozafferano.it/Pasta-con-crema-di-peperoni.html" +2023-07-27,"giovedì",, +2023-07-28,"venerdì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" +2023-07-29,"sabato",, +2023-07-30,"domenica",, +2023-07-31,"lunedì",,"https://ricette.giallozafferano.it/Riso-freddo-con-tonno-zucchine-e-limone.html" +2023-08-01,"martedì",,"https://ricette.giallozafferano.it/Insalata-Shirazi.html" +2023-08-02,"mercoledì",,"https://ricette.giallozafferano.it/Insalata-di-pasta-Mediterranea.html" +2023-08-03,"giovedì",,"https://ricette.giallozafferano.it/Petto-di-pollo-ai-peperoni.html" +2023-08-04,"venerdì",, +2023-08-05,"sabato","https://ricette.giallozafferano.it/Spaghetti-di-riso-con-carne-e-verdure.html","https://ricette.giallozafferano.it/Pasta-con-pomodorini-e-stracchino.html" +2023-08-06,"domenica","https://ricette.giallozafferano.it/Insalata-di-riso-vegetariana.html", +2023-08-07,"lunedì",,"https://ricette.giallozafferano.it/Torta-salata-di-melanzane.html" +2023-08-08,"martedì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" +2023-08-09,"mercoledì",,"https://ricette.giallozafferano.it/Insalata-con-uova-strapazzate.html" +2023-08-10,"giovedì",,"https://ricette.giallozafferano.it/Verdure-gratinate-al-forno.html" +2023-08-11,"venerdì",,"https://ricette.giallozafferano.it/Garganelli-con-pesto-di-zucchine-e-gamberetti.html" +2023-08-12,"sabato","https://ricette.giallozafferano.it/Insalata-di-bulgur-vegana.html","Tomatenpita" +2023-08-13,"domenica","https://ricette.giallozafferano.it/Cotolette-di-tacchino.html", +2023-08-14,"lunedì",,"https://ricette.giallozafferano.it/Pasta-con-le-melanzane.html" +2023-08-15,"martedì",,"https://ricette.giallozafferano.it/Tempeh-alle-verdure.html" +2023-08-16,"mercoledì",,"https://ricette.giallozafferano.it/Cocotte-di-quinoa.html" +2023-08-17,"giovedì",,"https://ricette.giallozafferano.it/Spaghetti-poveri.html" +2023-08-18,"venerdì",,"https://ricette.giallozafferano.it/Bocconcini-di-pollo-con-yogurt-e-curcuma.html" +2023-08-19,"sabato",,"https://ricette.giallozafferano.it/Salmorejo.html" +2023-08-20,"domenica","https://ricette.giallozafferano.it/Scaloppine-in-rosa.html", +2023-08-21,"lunedì",,"https://ricette.giallozafferano.it/Insalata-di-quinoa-alla-greca.html" +2023-08-22,"martedì",,"https://ricette.giallozafferano.it/Omelette-caprese.html" +2023-08-23,"mercoledì",,"https://ricette.giallozafferano.it/Pasta-fredda-con-pesto-senz-aglio.html" +2023-08-24,"giovedì",,"https://ricette.giallozafferano.it/Braciole-in-salsa-all-arancia.html" +2023-08-25,"venerdì",,"https://ricette.giallozafferano.it/Pasta-ricotta-e-noci.html" +2023-08-26,"sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","https://ricette.giallozafferano.it/Spiedini-di-pollo.html" +2023-08-27,"domenica",, +2023-08-28,"lunedì",,"https://ricette.giallozafferano.it/Riso-saltato-con-tonno.html" +2023-08-29,"martedì",,"https://ricette.giallozafferano.it/Scaloppine-saporite-con-cotto-e-formaggio.html" +2023-08-30,"mercoledì",,"https://ricette.giallozafferano.it/Tempeh-alle-verdure.html" +2023-08-31,"giovedì",, +2023-09-01,"venerdì",,"https://ricette.giallozafferano.it/Pasta-alla-cenere.html" +2023-09-02,"sabato","https://ricette.giallozafferano.it/Petto-di-pollo-ai-peperoni.html","https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" +2023-09-03,"domenica","https://ricette.giallozafferano.it/Ossibuchi-alla-milanese.html", +2023-09-04,"lunedì",,"https://ricette.giallozafferano.it/Pasta-ricotta-e-noci.html" +2023-09-05,"martedì",, +2023-09-06,"mercoledì",,"https://ricette.giallozafferano.it/Bombette-pugliesi.html" +2023-09-07,"giovedì",,"https://ricette.giallozafferano.it/Pasta-con-le-melanzane.html" +2023-09-08,"venerdì",,"https://ricette.giallozafferano.it/Spaghetti-di-riso-con-carne-e-verdure.html" +2023-09-09,"sabato","https://ricette.giallozafferano.it/Maccheroncini-al-fume.html", +2023-09-10,"domenica","https://ricette.giallozafferano.it/Polpo-alla-Luciana.html", +2023-09-11,"lunedì",,"https://ricette.giallozafferano.it/Pennette-con-speck-e-zucchine.html" +2023-09-12,"martedì",,"https://ricette.giallozafferano.it/Torta-salata-di-melanzane.html" +2023-09-13,"mercoledì",,"https://ricette.giallozafferano.it/Scaloppine-ai-funghi.html" +2023-09-14,"giovedì",, +2023-09-15,"venerdì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-melanzane.html" +2023-09-16,"sabato",,"Ragù di carne" +2023-09-17,"domenica",, +2023-09-18,"lunedì",, +2023-09-19,"martedì",, +2023-09-20,"mercoledì",,"https://ricette.giallozafferano.it/Strozzapreti-cacio-cozze-e-pepe.html" +2023-09-21,"giovedì",,"https://ricette.giallozafferano.it/Nugget-di-tofu.html" +2023-09-22,"venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" +2023-09-23,"sabato","https://ricette.giallozafferano.it/Gnudi.html","https://ricette.giallozafferano.it/Bucatini-con-fiori-di-zucca-guanciale-e-zafferano.html" +2023-09-24,"domenica","https://ricette.giallozafferano.it/Pollo-alla-cacciatora.html", +2023-09-25,"lunedì",,"https://ricette.giallozafferano.it/Mezze-maniche-al-tonno.html" +2023-09-26,"martedì",,"https://ricette.giallozafferano.it/Cotolette-di-tacchino.html" +2023-09-27,"mercoledì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" +2023-09-28,"giovedì",,"https://ricette.giallozafferano.it/Pasta-con-crema-di-peperoni.html" +2023-09-29,"venerdì",, +2023-09-30,"sabato",, +2023-10-01,"domenica","https://ricette.giallozafferano.it/Gnocchi-alla-sorrentina.html", +2023-10-02,"lunedì",, +2023-10-03,"martedì",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" +2023-10-04,"mercoledì",, +2023-10-05,"giovedì",,"https://ricette.giallozafferano.it/Saltimbocca-alla-Romana.html" +2023-10-06,"venerdì",,"https://ricette.giallozafferano.it/Risotto-ai-funghi.html" +2023-10-07,"sabato","https://ricette.giallozafferano.it/Torta-Pasqualina.html","https://www.chefkoch.de/rezepte/1643661271940496/Ukrainischer-Borschtsch.html" +2023-10-08,"domenica","https://ricette.giallozafferano.it/Gnocchi-al-gorgonzola.html", +2023-10-09,"lunedì",,"https://ricette.giallozafferano.it/Pennette-con-speck-e-zucchine.html" +2023-10-10,"martedì",,"https://ricette.giallozafferano.it/Gnocchi-di-ricotta-e-curcuma.html" +2023-10-11,"mercoledì",,"https://ricette.giallozafferano.it/Salsiccia-e-patate-al-forno.html" +2023-10-12,"giovedì",,"https://ricette.giallozafferano.it/Maccheroncini-al-fume.html" +2023-10-13,"venerdì",,"https://ricette.giallozafferano.it/Polpette-al-sugo.html" +2023-10-14,"sabato",,"https://ricette.giallozafferano.it/Ratatouille.html" +2023-10-15,"domenica","https://ricette.giallozafferano.it/Ossibuchi-alla-milanese.html","https://ricette.giallozafferano.it/Pasta-ricotta-e-noci.html" +2023-10-16,"lunedì",,"https://ricette.giallozafferano.it/Zucchine-ripiene-alla-Ligure.html" +2023-10-17,"martedì",, +2023-10-18,"mercoledì",,"https://ricette.giallozafferano.it/Scaloppine-ai-funghi.html" +2023-10-19,"giovedì",, +2023-10-20,"venerdì",,"https://ricette.giallozafferano.it/Bucatini-con-fiori-di-zucca-guanciale-e-zafferano.html" +2023-10-21,"sabato","https://ricette.giallozafferano.it/Gnudi.html","https://ricette.giallozafferano.it/Peperoni-ripieni-di-carne-e-salsiccia.html" +2023-10-22,"domenica",, +2023-10-23,"lunedì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-zucca.html" +2023-10-24,"martedì",, +2023-10-25,"mercoledì",, +2023-10-26,"giovedì",,"https://ricette.giallozafferano.it/Bombette-pugliesi.html" +2023-10-27,"venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-zucca-e-carote.html" +2023-10-28,"sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","Ragù di carne" +2023-10-29,"domenica",, +2023-10-30,"lunedì",, +2023-10-31,"martedì",, +2023-11-01,"mercoledì",, +2023-11-02,"giovedì",,"https://ricette.giallozafferano.it/Involtini-di-cotoletta.html" +2023-11-03,"venerdì",,"https://ricette.giallozafferano.it/Risotto-con-pancetta-e-crema-di-piselli.html" +2023-11-04,"sabato","https://ricette.giallozafferano.it/Spatzle-di-spinaci.html","https://ricette.giallozafferano.it/Lenticchie-in-umido.html" +2023-11-05,"domenica","https://ricette.giallozafferano.it/Verza-e-fagioli.html", +2023-11-06,"lunedì",, +2023-11-07,"martedì",, +2023-11-08,"mercoledì",, +2023-11-09,"giovedì",, +2023-11-10,"venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" +2023-11-11,"sabato",,"https://ricette.giallozafferano.it/Chili-con-carne.html" +2023-11-12,"domenica","https://ricette.giallozafferano.it/Ossibuchi-alla-milanese.html", +2023-11-13,"lunedì",, +2023-11-14,"martedì",,"https://ricette.giallozafferano.it/Lenticchie-e-salsiccia.html" +2023-11-15,"mercoledì",, +2023-11-16,"giovedì",, +2023-11-17,"venerdì",,"https://ricette.giallozafferano.it/Torta-rustica.html" +2023-11-18,"sabato",,"https://ricette.giallozafferano.it/Ragu-di-seitan.html" +2023-11-19,"domenica","https://ricette.giallozafferano.it/Cotechino-con-lenticchie.html", +2023-11-20,"lunedì",, +2023-11-21,"martedì",,"https://ricette.giallozafferano.it/Cordon-bleu-di-zucca.html" +2023-11-22,"mercoledì",, +2023-11-23,"giovedì",, +2023-11-24,"venerdì",,"https://ricette.giallozafferano.it/Vellutata-di-zucca-e-carote.html" +2023-11-25,"sabato","https://ricette.giallozafferano.it/Orata-al-forno.html","https://www.chefkoch.de/rezepte/1643661271940496/Ukrainischer-Borschtsch.html" +2023-11-26,"domenica","https://ricette.giallozafferano.it/Gnocchi-al-gorgonzola.html", +2023-11-27,"lunedì",, +2023-11-28,"martedì",,"https://ricette.giallozafferano.it/Scaloppine-ai-funghi.html" +2023-11-29,"mercoledì",, +2023-11-30,"giovedì",, +2023-12-01,"venerdì",,"https://ricette.giallozafferano.it/Polpette-di-spinaci-e-ricotta.html" +2023-12-02,"sabato",,"https://ricette.giallozafferano.it/Spezzatino-alla-Guinness.html" +2023-12-03,"domenica",, +2023-12-04,"lunedì",,"https://ricette.giallozafferano.it/Spatzle-di-spinaci.html" +2023-12-05,"martedì",, +2023-12-06,"mercoledì",,"https://ricette.giallozafferano.it/Involtini-di-cotoletta.html" +2023-12-07,"giovedì",, +2023-12-08,"venerdì",, +2023-12-09,"sabato","https://ricette.giallozafferano.it/Gnudi.html","Ragù di carne" +2023-12-10,"domenica",, +2023-12-11,"lunedì",, +2023-12-12,"martedì",,"https://ricette.giallozafferano.it/Bombette-pugliesi.html" +2023-12-13,"mercoledì",,"https://ricette.giallozafferano.it/Risotto-ai-funghi.html" +2023-12-14,"giovedì",,"https://ricette.giallozafferano.it/Vellutata-di-porri-con-crostini-saporiti.html" +2023-12-15,"venerdì",,"https://ricette.giallozafferano.it/Verza-e-fagioli.html" +2023-12-16,"sabato",,"https://ricette.giallozafferano.it/Pasticcio-di-zucca.html" +2023-12-17,"domenica","https://ricette.giallozafferano.it/Polpette-al-sugo.html", +2023-12-18,"lunedì",, +2023-12-19,"martedì",,"https://ricette.giallozafferano.it/Salsiccia-e-patate-al-forno.html" +2023-12-20,"mercoledì",, +2023-12-21,"giovedì",,"https://ricette.giallozafferano.it/Lenticchie-e-salsiccia.html" +2023-12-22,"venerdì",,"https://ricette.giallozafferano.it/Gnocchetti-gorgonzola-e-noci.html" +2023-12-23,"sabato",, +2023-12-24,"domenica","https://ricette.giallozafferano.it/Filetto-in-crosta.html", +2023-12-25,"lunedì",, +2023-12-26,"martedì",, +2023-12-27,"mercoledì",,"https://ricette.giallozafferano.it/Orata-al-forno.html" +2023-12-28,"giovedì",, +2023-12-29,"venerdì",,"https://ricette.giallozafferano.it/Risotto-alla-melagrana.html" +2023-12-30,"sabato","https://ricette.giallozafferano.it/Cotechino-con-lenticchie.html", diff --git a/src/api_client.rs b/src/api_client.rs index dfde2b9..f569fb9 100644 --- a/src/api_client.rs +++ b/src/api_client.rs @@ -36,7 +36,8 @@ impl ApiClient { let mut default_headers = header::HeaderMap::new(); let mut auth_header = b"Basic ".to_vec(); { - let mut encoder = Base64Encoder::new(&mut auth_header, base64::STANDARD); + let mut encoder = + Base64Encoder::new(&mut auth_header, &base64::engine::general_purpose::STANDARD); write!(encoder, "{}:{}", server.login_name, server.password).unwrap(); } let mut auth_header = header::HeaderValue::from_bytes(&auth_header)?; diff --git a/src/commands/schedule_csv.rs b/src/commands/schedule_csv.rs index 7500a00..48ac0db 100644 --- a/src/commands/schedule_csv.rs +++ b/src/commands/schedule_csv.rs @@ -4,11 +4,12 @@ use { crate::api_client::ApiClient, crate::commands::import, + crate::constants, crate::recipe, crate::scheduling::{Meal, Scheduling}, - crate::{constants, helpers}, anyhow::{anyhow, bail, Result}, chrono::naive::NaiveDate, + debug_print::debug_println, futures::future::try_join_all, icalendar::Event, reqwest::{StatusCode, Url}, @@ -55,9 +56,16 @@ pub async fn with( to_schedule }) - .flatten(); + .flatten() + .collect::>(); - publish_events(&api_client, calendar, schedulings, yearly_recurring_events).await?; + publish_events( + &api_client, + calendar, + schedulings.into_iter(), + yearly_recurring_events, + ) + .await?; Ok(()) } @@ -144,12 +152,8 @@ where let url = calendar_url .join(&format!("{}.ics", scheduling.uid)) .unwrap(); - let alarm_text_repr = format!( - "BEGIN:VALARM\nACTION:DISPLAY\nTRIGGER:-PT15M\nDESCRIPTION:{}\nEND:VALARM", - &helpers::ical_escape_text(&scheduling.recipe.name) - ); - let info_message = format!( + log::info!( "Saving event at {} for '{}'", &scheduling.ends_at.date(), &scheduling.recipe.name @@ -177,19 +181,12 @@ where let cal = icalendar::Calendar::new().push(event).done(); - let cal_as_string = (&cal.to_string()) - .replacen( - // need to hack around inability to set PRODID in icalendar::Calendar - "PRODID:ICALENDAR-RS", - &format!("PRODID:{}", constants::CALENDAR_PROVIDER), - 1, - ) - .replacen( - // need to hack around inability to set VALARM in icalendar::Event - "END:VEVENT", - &format!("{}\nEND:VEVENT", alarm_text_repr), - 1, - ); + let cal_as_string = (&cal.to_string()).replacen( + // need to hack around inability to set PRODID in icalendar::Calendar + "PRODID:ICALENDAR-RS", + &format!("PRODID:{}", constants::CALENDAR_PROVIDER), + 1, + ); let response = api_client .rest(|client| async { @@ -203,7 +200,7 @@ where }) .await; - log::info!("{}", info_message); + debug_println!("{}", &cal_as_string); response }); diff --git a/src/helpers.rs b/src/helpers.rs deleted file mode 100644 index 1b86316..0000000 --- a/src/helpers.rs +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-FileCopyrightText: 2022 Matteo Settenvini -// SPDX-License-Identifier: AGPL-3.0-or-later - -pub fn ical_escape_text(text: &str) -> String { - /* https://www.kanzaki.com/docs/ical/text.html - - The "TEXT" property values may also contain special characters that - are used to signify delimiters, such as a COMMA character for lists of - values or a SEMICOLON character for structured values. In order to - support the inclusion of these special characters in "TEXT" property - values, they MUST be escaped with a BACKSLASH character. A BACKSLASH - character (US-ASCII decimal 92) in a "TEXT" property value MUST be - escaped with another BACKSLASH character. A COMMA character in a "TEXT" - property value MUST be escaped with a BACKSLASH character - (US-ASCII decimal 92). A SEMICOLON character in a "TEXT" property - value MUST be escaped with a BACKSLASH character (US-ASCII decimal - 92). However, a COLON character in a "TEXT" property value SHALL - NOT be escaped with a BACKSLASH character. - */ - - let mut out = Vec::::with_capacity(text.len()); - for c in text.as_bytes() { - match c { - b'\\' => out.extend_from_slice(&[b'\\', b'\\']), - b',' => out.extend_from_slice(&[b'\\', b',']), - b';' => out.extend_from_slice(&[b'\\', b';']), - _ => out.push(*c), - } - } - - unsafe { String::from_utf8_unchecked(out) } -} diff --git a/src/main.rs b/src/main.rs index 71f5e3c..7ee21e1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,6 @@ mod api_client; mod commands; mod config; mod constants; -mod helpers; mod recipe; mod scheduling; @@ -138,7 +137,7 @@ async fn parse_args(args: &ArgMatches) -> Result<()> { let calendar_name = sub_matches .get_one::("calendar_name") .expect(" is a mandatory parameter, it cannot be missing"); - let yearly_recurring_events = sub_matches.contains_id("yearly"); + let yearly_recurring_events = sub_matches.get_flag("yearly"); commands::schedule_csv::with( &api_client, calendar_name.as_str(), diff --git a/src/scheduling.rs b/src/scheduling.rs index 7b820b2..cdfc219 100644 --- a/src/scheduling.rs +++ b/src/scheduling.rs @@ -4,7 +4,7 @@ use { crate::recipe::Recipe, chrono::{NaiveDate, NaiveDateTime, NaiveTime, Utc}, - icalendar::Event, + icalendar::{Alarm, Event, EventLike as _}, std::rc::Rc, }; @@ -57,7 +57,11 @@ impl From for Event { .description(&format!("cookbook@{}", ev.recipe.id)) .timestamp(Utc::now()) .starts(start_time) - .ends(ev.ends_at); + .ends(ev.ends_at) + .alarm(Alarm::display( + &ev.recipe.name, + -chrono::Duration::minutes(15), + )); if let Some(ref location) = ev.recipe.url.clone() { cal_event.location(&location);