The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Jaipo::Service::Plurk;
use warnings;
use strict;
use WWW::Plurk;
use base qw/Jaipo::Service Class::Accessor::Fast/;
use utf8;

# XXX:
# www-plurk module can not work!! hate!!

sub init {
	my $self   = shift;
	my $caller = shift;
	my $opt = $self->options;

	unless( $opt->{username} and $opt->{password} ) {

		# request to setup parameter
		# XXX TODO: we need to simplify this, let it like jifty dbi schema  or
		# something
		$caller->setup_service ( {
				package_name => __PACKAGE__,
				require_args => [ {
						username => {
							label       => 'Username',
							description => '',
							type        => 'text'
						}
					},
					{   password => {
							label       => 'Password',
							description => '',
							type        => 'text'
						} } ]
			},
			$opt
		);
	}

	Jaipo->config->set_service_option( 'Plurk' , $opt );

	my $plurk = new WWW::Plurk;

	unless( $plurk ) {
		# XXX: need to implement logger:  Jaipo->log->warn( );
		print "plurk init failed\n";
	}

	$plurk->login(  $opt->{username} , $opt->{password}  );

	$self->core( $plurk );
}


sub send_msg {
	my ( $self , $message ) = @_;
    print "Sending to Plurk...";
	my $result = $self->core->add_plurk( content => $message );
    print "Done\n";
}

# updates from user himself
sub read_user_timeline {
    my $self = shift;
    my @plurks = $self->plurks;
    for ( @plurks ) {
      # XXX: make this work with text::table::zh
      printf "%s %s %s",$_->{uid}, $_->{date_from}, $_->{date_offset};
    }
}

# updates from user's friends or channel
sub read_public_timeline {
    my $self = shift;
}


sub read_global_timeline {
    my $self = shift;

}




1;