# -*- mode: perl; coding: utf-8 -*-
package WWW::NicoVideo::URL;
use strict;
use warnings;
use Carp;
use URI;
use URI::Escape;
use base qw[Exporter];
our @EXPORT = qw[nicoURL];
our %NICO_URL = (top => "http://www.nicovideo.jp/",
base => "http://www.nicovideo.jp/",
recent => "http://www.nicovideo.jp/recent",
newarrival => "http://www.nicovideo.jp/newarrival",
img => "http://res.nicovideo.jp/img/tpl/head/logo/rc.gif",
login => "https://secure.nicovideo.jp/secure/login?site=niconico",
fmt => "http://www.nicovideo.jp/%s/%s");
sub nicoURL
{
my $type = shift;
my @keys = @_;
$type = "top" if(!$type and !@keys);
if(defined $type and @keys) {
my $keys = join " ", @keys;
utf8::encode($keys) if(utf8::is_utf8($keys));
return new URI(sprintf($NICO_URL{fmt}, $type, uri_escape($keys)));
} elsif(defined $type and defined $NICO_URL{$type}) {
return new URI($NICO_URL{$type});
} else {
confess "Invalid type: $type (keys = @keys)";
}
}
"Ritsuko";