1
0
Fork 0

Reduce code duplication

This commit is contained in:
Sandro - 2022-12-27 02:24:01 +01:00
parent af228e3b2c
commit df2f866435
Signed by: sandro
GPG Key ID: 3AF5A43A3EECC2E5
1 changed files with 22 additions and 67 deletions

View File

@ -36,14 +36,14 @@ in {
};
systemd.services = let
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
scraperPkgs = import scrapers { inherit pkgs; };
makeService = { script, host ? "", user ? "", password ? "" }: {
script =
"${scraperPkgs."${script}"}/bin/${script} ${host} ${user} ${password}";
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
script = "${scraperPkgs."${script}"}/bin/${script} ${host} ${user} ${password}";
inherit serviceConfig;
};
makeNodeScraper = nodeId: {
name = "scrape-node${nodeId}";
@ -89,150 +89,105 @@ in {
${scraperPkgs.riesa-efau-kalender}/bin/riesa-efau-kalender > /tmp/riesa-efau-kalender.ics
mv /tmp/riesa-efau-kalender.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-kreuzchor-termine = {
script = ''
${scraperPkgs.kreuzchor-termine}/bin/kreuzchor-termine > /tmp/kreuzchor-termine.ics
mv /tmp/kreuzchor-termine.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-dhmd-veranstaltungen = {
script = ''
${scraperPkgs.dhmd-veranstaltungen}/bin/dhmd-veranstaltungen > /tmp/dhmd-veranstaltungen.ics
mv /tmp/dhmd-veranstaltungen.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-mkz-programm = {
script = ''
${scraperPkgs.mkz-programm}/bin/mkz-programm > /tmp/mkz-programm.ics
mv /tmp/mkz-programm.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-drk-impfaktionen = {
script = ''
${scraperPkgs.drk-impfaktionen}/bin/drk-impfaktionen > /tmp/drk-impfaktionen.ics
mv /tmp/drk-impfaktionen.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-zuendstoffe = {
script = ''
${scraperPkgs.zuendstoffe}/bin/zuendstoffe > /tmp/zuendstoffe.xml
mv /tmp/zuendstoffe.xml ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-dresden-versammlungen = {
script = ''
${scraperPkgs.dresden-versammlungen}/bin/dresden-versammlungen > /tmp/dresden-versammlungen.ics
mv /tmp/dresden-versammlungen.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-azconni = {
script = ''
${scraperPkgs.azconni}/bin/azconni > /tmp/azconni.ics
mv /tmp/azconni.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-kunsthaus = {
script = ''
${scraperPkgs.kunsthaus}/bin/kunsthaus > /tmp/kunsthaus.ics
mv /tmp/kunsthaus.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-hfmdd = {
script = ''
${scraperPkgs.hfmdd}/bin/hfmdd > /tmp/hfmdd.ics
mv /tmp/hfmdd.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-hfbk-dresden = {
script = ''
${scraperPkgs.hfbk-dresden}/bin/hfbk-dresden > /tmp/hfbk-dresden.ics
mv /tmp/hfbk-dresden.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-staatsoperette = {
script = ''
${scraperPkgs.staatsoperette}/bin/staatsoperette > /tmp/staatsoperette.ics
mv /tmp/staatsoperette.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-tjg-dresden = {
script = ''
${scraperPkgs.tjg-dresden}/bin/tjg-dresden > /tmp/tjg-dresden.ics
mv /tmp/tjg-dresden.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-dresden-kulturstadt = {
script = ''
${scraperPkgs.dresden-kulturstadt}/bin/dresden-kulturstadt > /tmp/dresden-kulturstadt.ics
mv /tmp/dresden-kulturstadt.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
scrape-nabu = {
script = ''
${scraperPkgs.nabu}/bin/nabu > /tmp/nabu.ics
mv /tmp/nabu.ics ${config.users.users.scrape.home}/
'';
serviceConfig = {
User = config.users.users.scrape.name;
Group = config.users.users.scrape.group;
};
inherit serviceConfig;
};
} // builtins.listToAttrs
(map makeNodeScraper (builtins.attrNames freifunkNodes) ++
@ -343,5 +298,5 @@ in {
(map makeLuftScraperTimer luftqualitaetStations)
);
system.stateVersion = "20.03"; # Did you read the comment?
system.stateVersion = "20.03";
}