App-Automaton

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

  ExtUtils::MakeMaker: '0'
  perl: '5.006'
dynamic_config: 0
generated_by: 'Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.143240'
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: App-Automaton
requires:
  Data::Dumper: '0'
  Email::Simple: '0'
  File::HomeDir: '0'
  File::Spec::Functions: '0'
  Getopt::Std: '0'
  LWP::UserAgent: '0'
  Module::Load: '0'
  Moo: '0'
  Net::IMAP::Simple: '0'
  WWW::Offliberty: '0'
  WWW::YouTube::Download: '0.57'

Makefile.PL  view on Meta::CPAN

    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "App-Automaton",
  "EXE_FILES" => [
    "bin/automaton"
  ],
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.006",
  "NAME" => "App::Automaton",
  "PREREQ_PM" => {
    "Data::Dumper" => 0,
    "Email::Simple" => 0,
    "File::HomeDir" => 0,
    "File::Spec::Functions" => 0,
    "Getopt::Std" => 0,
    "LWP::UserAgent" => 0,
    "Module::Load" => 0,
    "Moo" => 0,
    "Net::IMAP::Simple" => 0,
    "WWW::Offliberty" => 0,
    "WWW::YouTube::Download" => "0.57",

Makefile.PL  view on Meta::CPAN

    "Test::More" => 0
  },
  "VERSION" => "0.150912",
  "test" => {
    "TESTS" => "t/*.t t/plugin/action/*.t t/plugin/filter/*.t t/plugin/source/*.t"
  }
);


my %FallbackPrereqs = (
  "Data::Dumper" => 0,
  "Email::Simple" => 0,
  "ExtUtils::MakeMaker" => 0,
  "File::HomeDir" => 0,
  "File::Spec::Functions" => 0,
  "File::Temp" => 0,
  "Getopt::Std" => 0,
  "LWP::UserAgent" => 0,
  "Module::Load" => 0,
  "Moo" => 0,
  "Net::IMAP::Simple" => 0,

bin/automaton  view on Meta::CPAN


# ABSTRACT: shell script wrapper for App::Automaton

use strict;
use warnings;

use App::Automaton;
use Getopt::Std;
use File::HomeDir;
use File::Spec::Functions;
use Data::Dumper;


my $opts = {};
getopts('vtc:', $opts);

# find config
my $conf_file;
if ($opts->{c}) {
    $conf_file = $opts->{c};
} else {

lib/App/Automaton.pm  view on Meta::CPAN


# ABSTRACT: Execute various tasks based on input from various sources

use strict;
use warnings;

use Moo;
use YAML::Tiny;
use Module::Load;

use Data::Dumper;

has conf => ( is => 'rw' );
has yaml_conf => ( is => 'rw' );
has conf_file => ( is => 'rw' );
has found_bits => ( is => 'rw' );
has debug => ( is => 'rw');

sub BUILD {
    my $self = shift;
    $self->load_conf();

lib/App/Automaton/Plugin/Action/NZB.pm  view on Meta::CPAN

package App::Automaton::Plugin::Action::NZB;

# ABSTRACT: Download module for nzb files

use strict;
use warnings;
use Moo;
use LWP::UserAgent;
use File::Spec::Functions;

use Data::Dumper;

sub go {
    my $self = shift;
	my $in = shift;
	my $bits = shift;
	my $target = $in->{target} || '.';
	my $d = $in->{debug};
	
	my @patterns = (
		'http:\/\/www.nzbsearch.net\/nzb_get.aspx\?mid=[a-z,A-Z,0-9]*',

lib/App/Automaton/Plugin/Action/TedTalks.pm  view on Meta::CPAN


# ABSTRACT: Download module for Ted Talk videos

use strict;
use warnings;
use Moo;
use WWW::Offliberty qw/off/;
use LWP::UserAgent;
use File::Spec::Functions;

use Data::Dumper;

sub go {
	my $self   = shift;
	my $in     = shift;
	my $bits   = shift;
	my $target = $in->{target} || '.';
	my $d = $in->{debug};

	my $ua = LWP::UserAgent->new();

lib/App/Automaton/Plugin/Action/YouTube.pm  view on Meta::CPAN

# ABSTRACT: Download module for YouTube videos

use strict;
use warnings;
use Moo;
use File::Spec::Functions;
use WWW::YouTube::Download 0.57;

our $VERSION = '0.57';

use Data::Dumper;

sub go {
	my $self = shift;
	my $in = shift;
	my $bits = shift;
	my $d = $in->{debug};
	
	my $target = $in->{target};
	
	foreach my $bit  (@$bits) {

lib/App/Automaton/Plugin/Filter/Unshorten.pm  view on Meta::CPAN

package App::Automaton::Plugin::Filter::Unshorten;

# ABSTRACT: Expansion of shortneded URLs

use strict;
use warnings;
use Moo;
use LWP::UserAgent;

use Data::Dumper;

sub go {
    my $self = shift;
	my $in = shift;
	my $bits = shift;
	my $d = $in->{debug};
	
	my @patterns = (
		"http[s]?:\/\/t.co\/.{10}", #twitter
		"http[s]?:\/\/goo.gl\/[a-z,A-Z,0-9]*", # google

lib/App/Automaton/Plugin/Source/IMAP.pm  view on Meta::CPAN


# ABSTRACT: IMAP email input module

use strict;
use warnings;

use Moo;
use Net::IMAP::Simple;
use Email::Simple;

use Data::Dumper;

sub go {
	my $self = shift;
	my $in   = shift;
	my $d = $in->{debug};

	my $server = $in->{server} . ':' . $in->{port};

	# Create the object
	my $imap = Net::IMAP::Simple->new( $server, use_ssl => $in->{ssl} )

t/plugin/action/nzb.t  view on Meta::CPAN

use Test::More;
use Data::Dumper;

require_ok( 'App::Automaton::Plugin::Action::NZB');


my $conf = {
    type => NZB,
    target => '.'
};

my $y = App::Automaton::Plugin::Action::NZB->new();

t/plugin/action/ted.t  view on Meta::CPAN

use Test::More;
use Data::Dumper;

require_ok( 'App::Automaton::Plugin::Action::TedTalks');


my $conf = {
    type => TedTalks,
    target => '.'
};

my $y = App::Automaton::Plugin::Action::TedTalks->new();

t/plugin/filter/unshorten.t  view on Meta::CPAN

use Test::More;
use Data::Dumper;

use strict;
use warnings;

require_ok( 'App::Automaton::Plugin::Filter::Unshorten');


my $conf = {
    type => 'Unshorten',
};

t/plugin/source/file.t  view on Meta::CPAN

use Test::More;
use Data::Dumper;

use strict;
use warnings;
use File::Temp qw( tempfile );

require_ok( 'App::Automaton::Plugin::Source::File');

#my $filename = File::Temp::tempnam();
my ($fh, $filename) = tempfile();

t/plugin/source/imap.t  view on Meta::CPAN

use Test::More;
use Data::Dumper;

use strict;
use warnings;

require_ok( 'App::Automaton::Plugin::Source::IMAP');

my $conf = {
	'password' => 'goodpassword',
	'server'   => 'imap.gmail.com',
	'type'     => 'IMAP',



( run in 0.691 second using v1.01-cache-2.11-cpan-4d50c553e7e )