automatically update autocomplete station list

This commit is contained in:
Daniel Friesel 2020-12-13 21:50:22 +01:00
parent 3176e452db
commit 0f079921da

42
scripts/update-autocomplete Executable file
View file

@ -0,0 +1,42 @@
#!/usr/bin/env perl
use strict;
use warnings;
use 5.020;
use JSON;
use File::Slurp qw(write_file);
use Travel::Status::DE::IRIS::Stations;
my @station_names
= map { $_->[1] } Travel::Status::DE::IRIS::Stations::get_stations();
my $station_list = q{};
for my $station (@station_names) {
$station_list .= sprintf( "\t\t\t\"%s\": null,\n", $station );
}
my $autocomplete = <<"EOF";
/*
* Copyright (C) 2020 DB Station&Service AG, Europaplatz 1, 10557 Berlin
* Copyright (C) 2020 Daniel Friesel
*
* SPDX-License-Identifier: CC-BY-4.0
*/
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.autocomplete');
M.Autocomplete.init(elems, {
minLength: 3,
limit: 50,
data: {
$station_list
}
});
});
EOF
write_file(
"public/static/js/autocomplete.js",
{ binmode => ':encoding(utf-8)' },
$autocomplete
);