X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FApp%2FIdiotBox.pm;fp=lib%2FApp%2FIdiotBox.pm;h=0f28b4a0abf0d6185821388e2555b0ff16ecbadc;hb=ebba317f0281d7818fff5584f3b202e30c53182f;hp=dff116bbb82888e4d51f0d2ed43abbbe6d3fdc57;hpb=998cc52c6620a1c21669d7a3c28eb305c1c8f9ea;p=catagits%2FApp-IdiotBox.git diff --git a/lib/App/IdiotBox.pm b/lib/App/IdiotBox.pm index dff116b..0f28b4a 100644 --- a/lib/App/IdiotBox.pm +++ b/lib/App/IdiotBox.pm @@ -9,6 +9,7 @@ use HTML::Zoom::FilterBuilder::Template; { package App::IdiotBox::Announcement; + sub id { shift->{id} } sub made_at { shift->{made_at} } sub bucket { shift->{bucket} } sub video_count { shift->{video_count} } @@ -35,6 +36,9 @@ use HTML::Zoom::FilterBuilder::Template; (my $s = join(' ', @{+shift}{qw(author name)})) =~ s/ /-/g; $s; } + sub url_path { + join('/', $_[0]->bucket->slug, $_[0]->slug); + } } default_config( @@ -42,6 +46,7 @@ default_config( store => 'SQLite', db_file => 'var/lib/idiotbox.db', base_url => 'http://localhost:3000/', + base_dir => do { use FindBin; $FindBin::Bin }, ); sub BUILD { @@ -165,4 +170,25 @@ method base_url { } } +method _run_cli { + unless (@ARGV == 1 && $ARGV[0] eq 'import') { + return $self->SUPER::_run_cli(@_); + } + $self->cli_import; +} + +method _cli_usage { + "To import data into your idiotbox install, chdir into a directory\n". + "containing video files and run:\n". + "\n". + " $0 import\n". + "\n". + $self->SUPER::_cli_usage(@_); +} + +method cli_import { + require App::IdiotBox::Importer; + App::IdiotBox::Importer->run($self); +} + 1;