Difference between revisions of "Rp"
From Organic Design wiki
m |
(print compile results) |
||
Line 4: | Line 4: | ||
$wiki = "http://www.organicdesign.co.nz/wiki/index.php"; | $wiki = "http://www.organicdesign.co.nz/wiki/index.php"; | ||
$ps = 'ps x |egrep husk[.]bin$'; | $ps = 'ps x |egrep husk[.]bin$'; | ||
− | qx($ps); | + | $qxps = qx($ps); |
+ | |||
# kill currently running instances of peerd | # kill currently running instances of peerd | ||
− | print "Killing currently running peerd instances\n"; | + | if ($qxps) { |
− | for (split /\n/, qx($ps)) { qx(kill $1) if /^\s*([0-9]+).+?\d+:\d\d\s*(.+)/ } | + | print "Killing currently running peerd instances\n"; |
− | qx($ps); | + | for (split /\n/, qx($ps)) { qx(kill $1) if /^\s*([0-9]+).+?\d+:\d\d\s*(.+)/ } |
+ | qx($ps); | ||
+ | } else { print "There are currently no peerd instances running.\n" } | ||
# Obtain a list of files from Benders fileSync list | # Obtain a list of files from Benders fileSync list | ||
Line 18: | Line 21: | ||
# Retrieve each article and save to specified filepath | # Retrieve each article and save to specified filepath | ||
for my $article (keys %articles) { | for my $article (keys %articles) { | ||
− | + | print "\t$article\n"; | |
− | + | if (open FH, '>', $articles{$article}) { | |
− | + | binmode FH; | |
− | + | print FH qx(curl -s "$wiki?title=$article&action=raw")."\n"; | |
− | + | close FH; | |
− | + | } | |
− | + | } | |
# Compile husk logging output | # Compile husk logging output | ||
print "Compiling husk...\n"; | print "Compiling husk...\n"; | ||
qx( date >> /home/peerd/peerd.log ); | qx( date >> /home/peerd/peerd.log ); | ||
− | qx( gcc -o /home/peerd/husk.bin /home/peerd/husk.c 2>> /home/peerd/peerd.log ); | + | $err = qx( gcc -o /home/peerd/husk.bin /home/peerd/husk.c 2>> /home/peerd/peerd.log ); |
# Execute compiled result | # Execute compiled result | ||
− | print " | + | if ($err) { print "\nAborting execution, there are errors or warnings!\n\n" } |
− | exec '/home/peerd/husk.bin >> /home/peerd/peerd.log 2>&1 &'; | + | else { |
− | qx($ps); | + | print "\nCompiled successfully!\nPassing execution over now.\n\n"; |
+ | exec '/home/peerd/husk.bin >> /home/peerd/peerd.log 2>&1 &'; | ||
+ | qx($ps); | ||
+ | } |
Revision as of 02:10, 21 July 2006
- !/usr/bin/perl
print "\n";
$wiki = "http://www.organicdesign.co.nz/wiki/index.php"; $ps = 'ps x |egrep husk[.]bin$'; $qxps = qx($ps);
- kill currently running instances of peerd
if ($qxps) { print "Killing currently running peerd instances\n"; for (split /\n/, qx($ps)) { qx(kill $1) if /^\s*([0-9]+).+?\d+:\d\d\s*(.+)/ } qx($ps); } else { print "There are currently no peerd instances running.\n" }
- Obtain a list of files from Benders fileSync list
print "Parsing fileSync list\n"; $fileSync = qx(curl -s "$wiki?title=Bender/fileSync&xpath:view:"); $fileSync =~ s/<\/ul>.+$//ms;
%articles = $fileSync =~ /
- Retrieve each article and save to specified filepath
- Compile husk logging output
- Execute compiled result