]> git.sesse.net Git - wloh/blobdiff - common.pm
Move get_auxillary_parameters into wloh_common.
[wloh] / common.pm
index 37c59a377e74f4e6cfbff38fb0e14bdb68d1c7cc..ee38a63937535acbcb112f0fa67a07967e10d722 100644 (file)
--- a/common.pm
+++ b/common.pm
@@ -4,6 +4,13 @@ use POSIX;
 
 package wloh_common;
 
+sub get_max_season {
+       my ($dbh, $locale) = @_;
+       my $ref = $dbh->selectrow_hashref('SELECT MAX(sesong) AS max_sesong FROM fotballserier se JOIN fotballspraak sp ON se.spraak=sp.id WHERE kultur=?',
+               undef, $locale);
+       return $ref->{'max_sesong'};
+}
+
 sub output_last_sync {
        my $dbh = shift;
        my $ref = $dbh->selectrow_hashref('SELECT EXTRACT(EPOCH FROM last_sync) AS last_sync FROM last_sync');
@@ -15,4 +22,32 @@ sub output_last_sync {
        }
 }
 
+sub get_locale {
+       my $cgi = shift;
+       my $url = $cgi->url(-absolute => 1);
+       $url =~ m#^/([a-z][a-z]-[A-Z][A-Z])/# or die "Invalid locale!";
+       return $1;
+}
+
+sub get_auxillary_parameters {
+       my ($dbh) = @_;
+
+       my %aux_parm_names = {
+               -1 => num_iterations,
+               -2 => score_stddev,
+               -3 => rating_prior_stddev,
+               -4 => total_log_likelihood,
+       };
+
+       my $q = $dbh->prepare('SELECT * FROM ratings WHERE id < 0');
+       $q->execute;
+
+       my $aux_parms = {};
+       while (my $ref = $q->fetchrow_hashref) {
+               my $id = $ref->{'id'};
+               $aux_parms->{$aux_parm_names{$id}} = $ref->{'rating'};
+       }
+       return $aux_parms;
+}
+
 1;