]> git.sesse.net Git - wloh/blob - common.pm
Train one model (with its own aux parms) per locale.
[wloh] / common.pm
1 use strict;
2 use warnings;
3 use POSIX;
4
5 package wloh_common;
6
7 sub get_max_season {
8         my ($dbh, $locale) = @_;
9         my $ref = $dbh->selectrow_hashref('SELECT MAX(sesong) AS max_sesong FROM fotballserier se JOIN fotballspraak sp ON se.spraak=sp.id WHERE kultur=?',
10                 undef, $locale);
11         return $ref->{'max_sesong'};
12 }
13
14 sub output_last_sync {
15         my $dbh = shift;
16         my $ref = $dbh->selectrow_hashref('SELECT EXTRACT(EPOCH FROM last_sync) AS last_sync FROM last_sync');
17         if (!defined($ref)) {
18                 print "    <p class=\"lastsync\">Databasen ble sist synkronisert (ukjent).</p>\n";
19         } else {
20                 my $ts = POSIX::strftime("%Y-%m-%d %H:%M %Z", localtime($ref->{'last_sync'}));
21                 print "    <p class=\"lastsync\">Databasen ble sist synkronisert $ts.</p>\n";
22         }
23 }
24
25 sub get_locale {
26         my $cgi = shift;
27         my $url = $cgi->url(-absolute => 1);
28         $url =~ m#^/([a-z][a-z]-[A-Z][A-Z])/# or die "Invalid locale!";
29         return $1;
30 }
31
32 sub get_auxillary_parameters {
33         my ($dbh, $locale) = @_;
34
35         my $q = $dbh->prepare('SELECT * FROM aux_params WHERE kultur=?');
36         $q->execute($locale);
37
38         my $aux_parms = {};
39         while (my $ref = $q->fetchrow_hashref) {
40                 $aux_parms->{$ref->{'id'}} = $ref->{'value'};
41         }
42         return $aux_parms;
43 }
44
45 1;