Base: remove debugging code accidentially left in
[videosite.git] / videosite.pl
index 2926b0b..d87b598 100644 (file)
@@ -22,6 +22,7 @@ use vars qw($VERSION %IRSSI);
 use XML::Simple;
 use Data::Dumper;
 use File::Spec;
+use File::Temp qw(tempfile);
 use BettIrssi 101 qw(_bcb _bcs);
 use LWP::UserAgent;
 
@@ -153,14 +154,27 @@ sub expand_url_shortener {
     my $s = shift;
     my $os = '';
     my @urlshortener = (
+        'is\.gd/[[:alnum:]]+',
+        'otf\.me/[[:alnum:]]+',
+        'hel\.me/[[:alnum:]]+',
+        '7ax\.de/[[:alnum:]]+',
+        'ow\.ly/[[:alnum:]]+',
         'j\.mp/[[:alnum:]]+',
         'bit\.ly/[[:alnum:]]+',
         'tinyurl\.com/[[:alnum:]]+',
+        'pop\.is/[[:alnum:]]+',
+        'post\.ly/[[:alnum:]]+',
+        '1\.ly/[[:alnum:]]+',
+        '2\.ly/[[:alnum:]]+',
+        't\.co/[[:alnum:]]+',
+        'shar\.es/[[:alnum:]]+',
+        'goo\.gl/[[:alnum:]]+',
         );
-    my $ua = LWP::UserAgent->new(agent => 'Mozilla');
-    my $i = 100;
+    my $ua = LWP::UserAgent->new(agent => 'Mozilla', max_redirect => 0);
+    my $i = 10;
 
     OUTER: while (($os ne $s) and ($i > 0)) {
+        study($s);
         $os = $s;
         $i--;
 
@@ -174,8 +188,8 @@ sub expand_url_shortener {
 
                 write_debug("Found %s", $matched);
                 $res = $ua->head($matched);
-                if ($res->is_success()) {
-                    my $new = $res->request()->uri();
+                if ($res->is_redirect()) {
+                    my $new = $res->headers()->header("Location");
 
                     write_debug("Replacing %s with %s", $matched, $new);
                     $s =~ s/$matched/$new/;
@@ -247,10 +261,12 @@ sub check_for_link {
 
 sub cmd_save {
 
+
     eval {
-        open(CONF, '>'.$conffile) or die 'Could not open config file';
-        print CONF XML::Simple::XMLout($conf, KeepRoot => 1, KeyAttr => {'config' => 'module', 'option' => 'key'});
-        close(CONF);
+        my ($tempfile, $tempfn) = tempfile("videosite.xml.XXXXXX", dir => Irssi::get_irssi_dir());
+        print $tempfile XML::Simple::XMLout($conf, KeepRoot => 1, KeyAttr => {'config' => 'module', 'option' => 'key'});
+        close($tempfile);
+        rename($tempfn, $conffile);
     };
     if ($@) {
         write_irssi('Could not save config to %s: %s', ($conffile, $@));