annotate watch-org.pl @ 24:7b34b718503e tip

makefile, and updated this stuff to work with the newest emacs!
author Robert McIntyre <rlm@mit.edu>
date Mon, 02 Mar 2015 12:30:24 -0800
parents 993b8d7d9bec
children
rev   line source
rlm@18 1 #!/usr/bin/perl
rlm@18 2
rlm@18 3 use Linux::Inotify2;
rlm@18 4 use WWW::Mechanize::Firefox;
rlm@18 5 my $mech = WWW::Mechanize::Firefox->new();
rlm@18 6
rlm@18 7 my $inotify = new Linux::Inotify2
rlm@18 8 or die "unable to create new inotify object: $!";
rlm@18 9
rlm@18 10 $html_files = `find /home/r/proj/{cortex,aurellem,pokemon-types} -name "*.html" -print0`;
rlm@18 11 @html_files = split /\0/, $html_files;
rlm@18 12
rlm@18 13
rlm@18 14 #@org_files = glob("./org/*.org");
rlm@18 15
rlm@18 16
rlm@18 17 for $file(@html_files){print "$file\n";}
rlm@18 18
rlm@18 19 $last_page = "";
rlm@18 20
rlm@18 21 foreach(@html_files){
rlm@18 22 $inotify->watch ($_, IN_MODIFY, sub
rlm@18 23 {
rlm@18 24 my $e = shift;
rlm@18 25 my $name = $e->fullname;
rlm@18 26 print "**************************\n";
rlm@18 27 print "$name was modified\n";## if $e->IN_MODIFY;
rlm@18 28
rlm@18 29 $path = `readlink -f $name`;
rlm@18 30 $path =~ s|/home/r/proj|http://aurellem.localhost|;
rlm@18 31 #$path =~ s|org|html|g;
rlm@18 32
rlm@18 33 if ($last_page eq $path){
rlm@18 34 print "reloading current page : $path\n";
rlm@18 35 $mech->reload();
rlm@18 36 }
rlm@18 37 else {
rlm@18 38 print "moving to new page : $path\n";
rlm@18 39 $last_page = $path;
rlm@18 40 $mech->get($path);
rlm@18 41 }
rlm@18 42 });
rlm@18 43 }
rlm@18 44
rlm@18 45 # manual event loop
rlm@18 46 while (1){
rlm@18 47 print "I'm pollin'!";
rlm@18 48 $inotify->poll;
rlm@18 49
rlm@18 50 }