Difference between revisions of "Rp"
From Organic Design wiki
(make rp work for Win32 too (use libwww instead of curl)) |
m (comment better) |
||
Line 4: | Line 4: | ||
use Cwd; | use Cwd; | ||
+ | # Get CWD and determine OS | ||
our $cwd = cwd; | our $cwd = cwd; | ||
our $ux = ($cwd =~ m/^\//); | our $ux = ($cwd =~ m/^\//); | ||
Line 9: | Line 10: | ||
$cwd =~ s/\//\\/g unless $cwd =~ m/^\//; | $cwd =~ s/\//\\/g unless $cwd =~ m/^\//; | ||
$cwd =~ s/[\\\/]$//g; | $cwd =~ s/[\\\/]$//g; | ||
− | + | ||
− | + | # Command to list running peerd's (or null for Win32) | |
$ps = $ux ? 'ps lx|egrep peerd:' : ''; | $ps = $ux ? 'ps lx|egrep peerd:' : ''; | ||
$qxps = qx($ps); | $qxps = qx($ps); | ||
− | + | ||
+ | # Set up a www-user-agent and source-url for syncing | ||
+ | $wiki = "http://www.organicdesign.co.nz/wiki/index.php"; | ||
+ | $client = LWP::UserAgent->new( cookie_jar => {} ); | ||
# Sync files specified in args, or obtain a list of files from Benders fileSync list | # Sync files specified in args, or obtain a list of files from Benders fileSync list | ||
if ($#ARGV<0) { | if ($#ARGV<0) { | ||
− | print " | + | print "\nRetrieving files specified in OD:Bender/fileSync list...\n"; |
my $fileSync = $client->request(HTTP::Request->new(GET => "$wiki?title=Bender/fileSync&xpath:view:")); | my $fileSync = $client->request(HTTP::Request->new(GET => "$wiki?title=Bender/fileSync&xpath:view:")); | ||
$fileSync = $fileSync->content; | $fileSync = $fileSync->content; | ||
Line 24: | Line 28: | ||
} | } | ||
else { | else { | ||
− | print " | + | print "\nRetrieving files specified in command line args...\n"; |
$articles{$_} = "/home/peerd/$_" for @ARGV; | $articles{$_} = "/home/peerd/$_" for @ARGV; | ||
} | } |
Revision as of 23:33, 25 July 2006
- !/usr/bin/perl
use HTTP::Request; use LWP::UserAgent; use Cwd;
- Get CWD and determine OS
our $cwd = cwd; our $ux = ($cwd =~ m/^\//); $ux ? $cwd = cwd : $cwd =~ s/\//\\/g; $cwd =~ s/\//\\/g unless $cwd =~ m/^\//; $cwd =~ s/[\\\/]$//g;
- Command to list running peerd's (or null for Win32)
$ps = $ux ? 'ps lx|egrep peerd:' : ; $qxps = qx($ps);
- Set up a www-user-agent and source-url for syncing
$wiki = "http://www.organicdesign.co.nz/wiki/index.php"; $client = LWP::UserAgent->new( cookie_jar => {} );
- Sync files specified in args, or obtain a list of files from Benders fileSync list
if ($#ARGV<0) { print "\nRetrieving files specified in OD:Bender/fileSync list...\n"; my $fileSync = $client->request(HTTP::Request->new(GET => "$wiki?title=Bender/fileSync&xpath:view:")); $fileSync = $fileSync->content; $fileSync =~ s/<\/ul>.+$//ms;
%articles = $fileSync =~ /
- Retrieve each article and save to specified filepath
- Don't do any compilation unless ux
- Compile husk and format output
- Execute compiled result if compiled without any problems