Added updates for DMR ids
This commit is contained in:
parent
556daa9eca
commit
dfc016b154
|
@ -40,6 +40,10 @@ in
|
|||
default = "/dev/ttyUSB0";
|
||||
};
|
||||
|
||||
dmr-id-url = mkOption {
|
||||
type = types.str;
|
||||
default = "https://database.radioid.net/static/user.csv";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
@ -67,6 +71,10 @@ in
|
|||
RuntimeDirectory = "MMDVMHost";
|
||||
};
|
||||
script = ''
|
||||
if [ ! -e /var/lib/mmdvm/DMRIds.dat ]; then
|
||||
touch /var/lib/mmdvm/DMRIds.dat
|
||||
fi
|
||||
|
||||
if [ ! -e /var/lib/mmdvm/firmware-version ]; then
|
||||
touch /var/lib/mmdvm/firmware-version
|
||||
fi
|
||||
|
@ -78,6 +86,53 @@ in
|
|||
exec ${cfg.host_package}/bin/MMDVMHost ${cfg.config-file}
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.paths.mmdvm_dmr_ids = {
|
||||
after = [ "mmdvm_host.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
pathConfig = {
|
||||
PathModified = "/var/lib/mmdvm/DMRIds.dat";
|
||||
Unit = "mmdvm_host_restart.service";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.mmdvm_host_restart = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "MMDVMHost restart service";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
};
|
||||
script = ''
|
||||
${pkgs.systemd}/bin/systemctl restart "mmdvm_host.service"
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.dmr_id_update = {
|
||||
wants = [ "network.target" ];
|
||||
after = [ "network.target" ];
|
||||
description = "Update DMR ids";
|
||||
startAt = "02:00:00";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
};
|
||||
|
||||
script = ''
|
||||
${pkgs.curl}/bin/curl "${cfg.dmr-id-url}" | \
|
||||
${pkgs.gnused}/bin/sed -e 's/\t//g' | ${pkgs.gawk}/bin/awk -F"," '/,/{gsub(/ /, "", $2); printf "%s\t%s\t%s\n", $1, $2, $3}' | \
|
||||
${pkgs.gnused}/bin/sed -e 's/\(.\) .*/\1/g' > /var/lib/mmdvm/DMRIds.tmp
|
||||
|
||||
NUMOFLINES=$(${pkgs.coreutils}/bin/wc -l /var/lib/mmdvm/DMRIds.tmp | ${pkgs.gawk}/bin/awk '{print $1}')
|
||||
if [ $NUMOFLINES -gt 1 ]
|
||||
then
|
||||
mv /var/lib/mmdvm//DMRIds.tmp /var/lib/mmdvm/DMRIds.dat
|
||||
else
|
||||
rm /var/lib/mmdvm//DMRIds.tmp
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue