#!/usr/bin/perl
use warnings;
use strict;

use Slash::Test shift || 'slash';
my $limit = shift;
my $offset = shift;
local $| = 1;

my $firehose = getObject("Slash::FireHose");
printf STDERR "Fetching IDs ...\n";

my $slashdb = getCurrentDB();
my $limitstr;
if ($limit && $offset) {
	$limitstr = "LIMIT $offset,$limit";
} elsif ($limit) {
	$limitstr = "LIMIT $limit";
}

my $ids = $slashdb->sqlSelectColArrayref('stoid', 'stories', '', ($limitstr || ()));
my $i = 0;
my %ids;

printf STDERR "\nImporting %d stories\n", scalar(@$ids);
for my $id (@$ids) {
	printf "\r%d", ++$i;
	my $globjid = $slashdb->getGlobjidCreate("stories", $id);
	my $fhid;
	$fhid = $firehose->getFireHoseIdFromGlobjid($globjid) if $globjid;
#	$ids{$id} = $fhid;

	$ids{$id} = $firehose->createItemFromStory($id) unless $fhid;
}
printf STDERR "\nImported %d stories\n", scalar(keys %ids);

my $string = join '; ', map { "$_:$ids{$_}" } sort { $a <=> $b } keys %ids;
print "\n$string\nDone\n";
