http://paperlined.org/src/pl/jollies/backend/fetch.pl

#!/usr/bin/perl

# just the TGP-fetching module for now...  we'll integrate it into a monolithic program later

    use strict;
    use warnings;

    use FindBin;
    use lib '/home/interiot/cpan/lib/';
    use lib $FindBin::Bin;


    use NeverTMPbackend;
    use NeverTMPbackend_dbm;
    use URI;
    use Data::Dumper;


sub hrs {shift() * 60 * 60}


my @sites = (

    {url => "http://restrainedmaidens.com/",
        referer => "http://www.google.com/search?hl=en&ie=ISO-8859-1&q=restrained+maidens&btnG=Google+Search",
        every => hrs(24),
    },


    {url => "http://www.fetishcabin.com/", every => hrs(8) },
    {url => "http://bdsmnewlife.com/", every => hrs(8) },
    {url => "http://bondagehotporn.com/", every => hrs(24) },
    {url => "http://www.bondagepaper.com/", every => hrs(24) },
    {url => "http://www.brutaltgp.com/", every => hrs(24) },
    {url => "http://spank-tgp.com/", every => hrs(24) },
    {url => "http://www.extremeapril.com/", every => hrs(24) },
    {url => "http://www.bondagester.com/", every => hrs(24) },
    {url => "http://www.bdsmmpegs.net/", every => hrs(24) },
    {url => "http://www.pain-vids.com/", every => hrs(24) },
    {url => "http://www.harassedslavegirl.com/", every => hrs(24) },
    {url => "http://www.brutalfetish.com/", every => hrs(24) },
    {url => "http://www.xxxbdsmvideo.com/", every => hrs(24) },
    {url => "http://www.rudepig.com/", every => hrs(24) },
    {url => "http://www.xxxbdsmmovie.com/", every => hrs(24) },
    {url => "http://cutyournipples.com/", every => hrs(24) },
    {url => "http://www.brutalobsession.ws/", every => hrs(24) },
    {url => "http://www.yobt.com/bondage.html", every => hrs(24) },
    {url => "http://www.bondageco.com/", every => hrs(24) },

);



NeverTMPbackend_dbm::open_dbs("$FindBin::Bin/db/");

my $ua = NeverTMPbackend::configure_UserAgent();


foreach my $site (@sites) {
    my $url = $site->{url};
    my $domain = URI->new($url)->host;
    my $cron = NeverTMPbackend_dbm::get($transdb, "cron\\$url");


    if (!$cron || (time() - $cron->{lastfetched} > $site->{every})) {
        print "Fetching $url...\n";
        my $req = HTTP::Request->new(GET => $url);
        if ($site->{referer}) {
            $req->header( referer => $site->{referer} );
        }
        my $res = $ua->request($req);
        if ($res->is_success) {
            my $queue_entry = {
                page_contents => $res->content,
                fetched => time(),
            };

            NeverTMPbackend_dbm::enqueue($transdb, "TGP_parse\\$domain", $queue_entry);
        }


        if (!$cron) {
            $cron = {url => $url};
        }
        $cron->{lastfetched} = time();
        NeverTMPbackend_dbm::put($transdb, "cron\\$url", $cron)

    }
}



#my $data = [1, 2, 3];
#my $key = NeverTMPbackend_dbm::enqueue($permdb, "foo", $data);
#print "$key\n";

#print Dumper( NeverTMPbackend_dbm::dequeue($permdb, "foo") );

Generated by GNU enscript 1.6.4.