App-PM-Announce

 view release on metacpan or  search on metacpan

lib/App/PM/Announce.pm  view on Meta::CPAN

# Replace 'An-Example-Group' with the real resource for your Meetup group
# Replace <venue> with the venue number you want to be the default

#<feed meetup>
#    username
#    password
#    uri http://www.meetup.com/An-Example-Group/calendar/?action=new
#    venue <venue>
#</feed>

# Replace <gid> with the gid of your group

#<feed linkedin>
#    username
#    password
#    uri http://www.linkedin.com/groupAnswers?start=&gid=<gid>
#</feed>

# Replace 'example.com' with a real host

#<feed greymatter>
#    username
#    password
#    uri http://example.com/cgi-bin/greymatter/gm.cgi
#</feed>

lib/App/PM/Announce/App.pm  view on Meta::CPAN

                $app = App::PM::Announce->new(config_file => undef, config_default => {
                    feed => {
                        meetup => {qw{
                            username robert...krimen@gmail.com
                            password test8378
                            uri http://www.meetup.com/The-San-Francisco-Beta-Tester-Meetup-Group/calendar/?action=new
                        }},
                        linkedin => {qw{
                            username robertkrimen+alice8378@gmail.com
                            password test8378
                            uri http://www.linkedin.com/groupAnswers?start=&gid=1873425
                        }},
                        greymatter => {qw{
                            username alice8378
                            password test8378
                            uri http://72.14.179.195/cgi-bin/greymatter/gm.cgi
                        }},
                    },
                });

                my $key = int rand $$;

lib/App/PM/Announce/App.pm  view on Meta::CPAN

__END__
            print <<_END_;

The only thing you can do right now:

    $0 test

Which will submit an announcement to:

    robert...krimen\@gmail.com / test8378 \@ http://www.meetup.com/The-San-Francisco-Beta-Tester-Meetup-Group/calendar/?action=new
    robertkrimen+alice8378\@gmail.com / test8378 \@ http://www.linkedin.com/groupAnswers?start=&gid=1873425
    alice8378 / test8378 \@ http://72.14.179.195/cgi-bin/greymatter/gm.cgi

_END_

lib/App/PM/Announce/Feed/linkedin.pm  view on Meta::CPAN

use Moose;
extends 'App::PM::Announce::Feed';

sub announce {
    my $self = shift;
    my %event = @_;

    my $username = $self->username;
    my $password = $self->password;
    my $uri = $self->uri;
    $uri = "http://www.linkedin.com/groupAnswers?start=&gid=$uri" if $uri =~ m/^\d+$/;

    $self->get( "https://www.linkedin.com/secure/login" );

    $self->logger->debug( "Login as $username / $password" );

    $self->submit_form(
        fields => {
            session_key => $username,
            session_password => $password,
        },

t/assets/home/config  view on Meta::CPAN

<feed meetup>
    username robert...krimen@gmail.com
    password test8378
    uri http://www.meetup.com/The-San-Francisco-Beta-Tester-Meetup-Group/calendar/?action=new
    venue 920502
</feed>

<feed linkedin>
    username robertkrimen+alice8378@gmail.com
    password test8378
    uri http://www.linkedin.com/groupAnswers?start=&gid=1873425
</feed>

<feed greymatter>
    username alice8378
    password test8378
    uri http://72.14.179.195/cgi-bin/greymatter/gm.cgi
</feed>

<feed useperl>
    username alice8378

t/prototype/02-linkedin.t  view on Meta::CPAN


use Test::Most;
plan qw/no_plan/;

use App::PM::Announce;
my $app = App::PM::Announce->new;
my $feed = App::PM::Announce::Feed::linkedin->new(
    app => $app,
    username => 'robertkrimen+alice8378@gmail.com',
    password => 'test8378',
    uri => 'http://www.linkedin.com/groupAnswers?start=&gid=1873425',
);
my $key = int rand $$;
$feed->announce(
    title => "Event title ($key)",
    description => "Event description ($key)",
);

ok(1);

__END__

t/prototype/02-linkedin.t  view on Meta::CPAN

    fields => {
        session_key => 'robertkrimen+alice8378@gmail.com',
        session_password => 'test8378',
    },
    form_number => 2,
    button => 'session_login',
);

die "Wasn't logged in" unless $agent->content =~ m/If you are not automatically redirected/;

$agent->get("http://www.linkedin.com/groupAnswers?start=&gid=1873425");

$agent->submit_form(
    fields => {
        question => 'Hello, World (' . int( rand $$ ) . ')',
        questionDetail => 'Lorem ipsum',
    },
    form_number => 4,
    button => 'createQuestion',
);



( run in 0.836 second using v1.01-cache-2.11-cpan-ceb78f64989 )