See https://www.kaggle.com/code/adriensales/la-qualit-des-eaux-de-baignade-noum-a
Just run the following script in any shell and enjoy:
#!/bin/sh
# Diplay latest flags
sh <(curl https://tea.xyz) +duckdb.org \
duckdb << EOF
INSTALL httpfs;
LOAD httpfs;
select plage,
flag_color,
case
when (flag_color = 'BLUE') THEN '🟦'
when (flag_color = 'YELLOW') THEN '🟨'
when (flag_color = 'RED') THEN '🟥'
end as flag_color
from read_csv_auto('https://bit.ly/3ZCJ1X5') as latest;
EOF
First, install duckdb (brew install duckdb
) or install_duckdb.sh
INSTALL httpfs;
LOAD httpfs;
.prompt "🦆 🏖️ > "
select *
from 'https://raw.githubusercontent.com/adriens/odata-eaux-baignade-noumea/main/data/latest.csv';
INSTALL httpfs;
LOAD httpfs;
.prompt "🦆 🏖️ > "
select *
from 'https://raw.githubusercontent.com/adriens/odata-eaux-baignade-noumea/main/data/historic.csv';
You can also use (nicer) short urls :
duckdb << EOF
-- historic
INSTALL httpfs;
LOAD httpfs;
select *
from
read_csv_auto('https://bit.ly/3mAUIPr') as historic;
EOF
duckdb << EOF
-- historic
INSTALL httpfs;
LOAD httpfs;
select *
from read_csv_auto('https://bit.ly/3ZCJ1X5') as latest;
EOF
Below some xc
ready tasks.
Just type xc
.
Print the latest status of all beaches
#!/bin/sh
# Diplay latest flags
sh <(curl https://tea.xyz) +duckdb.org \
duckdb << EOF
INSTALL httpfs;
LOAD httpfs;
select plage,
flag_color,
case
when (flag_color = 'BLUE') THEN '🟦'
when (flag_color = 'YELLOW') THEN '🟨'
when (flag_color = 'RED') THEN '🟥'
end as flag_color
from read_csv_auto('https://bit.ly/3ZCJ1X5') as latest;
EOF
Print the 20 last status of all beaches
#!/bin/sh
# Print the 20 last status of all beaches
sh <(curl https://tea.xyz) +duckdb.org \
duckdb << EOF
INSTALL httpfs;
LOAD httpfs;
select date, plage,
case
when (flag_color = 'BLUE') THEN '🟦'
when (flag_color = 'YELLOW') THEN '🟨'
when (flag_color = 'RED') THEN '🟥'
end as flag
from
read_csv_auto('https://bit.ly/3mAUIPr')
order by date desc
limit 10;
EOF
cf Dates d'interdiction d'activités nautiques à Nouméa
#!/bin/sh
sh <(curl https://tea.xyz) +duckdb.org \
duckdb << EOF
INSTALL httpfs;
LOAD httpfs;
select
case
when count(*) > 0 then '👎'
else '👍'
end is_baignade_autorisee
from read_csv_auto('https://bit.ly/3JJCZhJ')
where
current_date >= date_debut and
current_date <= date_fin;
EOF