Move config handling to API
[videosite.git] / videosite-dl.pl
index 7313bf5..1b0079c 100755 (executable)
@@ -48,6 +48,21 @@ sub ploader {
     return @g;
 }
 
+sub connectors {
+    my $c = {name => 'environment', schemas => {}};
+
+    if (exists($ENV{'http_proxy'})) {
+        $c->{schemas}->{'http'} = $ENV{'http_proxy'}
+    }
+
+    if (exists($ENV{'https_proxy'})) {
+        $c->{schemas}->{'https'} = $ENV{'https_proxy'}
+    }
+
+    return ( $c );
+}
+
+
 my $hq = 0;
 my $ext = '.flv';
 my $y;
@@ -56,8 +71,9 @@ my $m;
 my @g;
 my $bp;
 my $info = 0;
+my $debug = 0;
 
-GetOptions("i" => \$info);
+GetOptions("i" => \$info, "d" => \$debug);
 
 # This is some dark magic to find out our real base directory,
 # where we hope to find our plugins.
@@ -72,6 +88,15 @@ unless(@g and defined($f)) {
     exit 1;
 }
 
+foreach (@g, $f) {
+    $_->setio(sub { printf(@_); print("\n"); } );
+    $_->setconn(\&connectors);
+
+    if ($debug) {
+        $_->setdebug(1);
+    }
+}
+
 $f->setval('FILEPATTERN', './%3$s' . $ext);
 
 foreach (@ARGV) {