X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/odin-cgi/blobdiff_plain/be24e9afafe0d740652d962fd5531de901a9cd09..2322e7a8a1ebfe0f9b64a0af50d90cf4feac8a6b:/bin/populate-lang-table diff --git a/bin/populate-lang-table b/bin/populate-lang-table index 912aaf6..64526b3 100755 --- a/bin/populate-lang-table +++ b/bin/populate-lang-table @@ -1,4 +1,27 @@ #! /usr/bin/perl +### +### Setup program for Odin services +### +### (c) 2015 Mark Wooding +### + +###----- Licensing notice --------------------------------------------------- +### +### This file is part of the `odin.gg' service, `odin-cgi'. +### +### `odin-cgi' is free software; you can redistribute it and/or modify +### it under the terms of the GNU Affero General Public License as +### published by the Free Software Foundation; either version 3 of the +### License, or (at your option) any later version. +### +### `odin-cgi' is distributed in the hope that it will be useful, +### but WITHOUT ANY WARRANTY; without even the implied warranty of +### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +### GNU Affero General Public License for more details. +### +### You should have received a copy of the GNU Affero General Public +### License along with `odin-cgi'; if not, see +### . use lib "lib"; use Odin; @@ -9,11 +32,12 @@ my %newlang, %oldlang; open my $fh, "-|", "highlight", "-p" or die "highlight: $!"; while (<$fh>) { my ($descr, $lang) = /^(.*\S)\s*:\s*(\S+)(?:\s.*|)$/; - next unless defined $lang; - $newlang{$lang} = $descr; + next if !defined $lang or $lang eq "txt"; + $newlang{"hl:$lang"} = $descr; } close $fh or die "close highlight: $! $?"; -$newlang{"txt"} //= "Plain text"; +$newlang{"txt"} = "Plain text"; +$newlang{"md"} = "Markdown"; Odin::xact { my $h = $db->selectall_hashref @@ -28,8 +52,8 @@ Odin::xact { for my $lang (keys %newlang) { if (!exists $oldlang{$lang}) { print ";; insert new language `$lang' (`$newlang{$lang}')\n"; - $db->do("INSERT INTO odin_pastebin_lang (lang) VALUES (?)", - undef, $lang); + $db->do("INSERT INTO odin_pastebin_lang (lang, descr) VALUES (?, ?)", + undef, $lang, $newlang{$lang}); } elsif ($oldlang{$lang} ne $newlang{$lang}) { print ";; change description for `$lang' ", "(`$oldlang{$lang}' -> `$newlang{$lang}')\n";