Author: sparky
Date: Mon Nov  2 03:06:16 2009
New Revision: 10923

Modified:
   toys/rsget.pl/README
   toys/rsget.pl/RSGet/Line.pm
   toys/rsget.pl/RSGet/Main.pm
Log:
- now will also work without Term::Size


Modified: toys/rsget.pl/README
==============================================================================
--- toys/rsget.pl/README        (original)
+++ toys/rsget.pl/README        Mon Nov  2 03:06:16 2009
@@ -5,6 +5,7 @@
   compare old with new.
 - Add commands: pause downloads, allow/don't allow captcha, clean done
   downloads, and more
+- File group support (first step for multiuser support)
 
 Planned features:
 - Multiuser support (may require major changes in the code).

Modified: toys/rsget.pl/RSGet/Line.pm
==============================================================================
--- toys/rsget.pl/RSGet/Line.pm (original)
+++ toys/rsget.pl/RSGet/Line.pm Mon Nov  2 03:06:16 2009
@@ -8,9 +8,25 @@
 use strict;
 use warnings;
 use RSGet::Tools;
-use Term::Size;
 set_rev qq$Id$;
 
+my $term_size_columns;
+my $term_size_rows;
+
+sub term_size
+{
+       local $SIG{__DIE__};
+       delete $SIG{__DIE__};
+       eval {
+               require Term::Size;
+               ( $term_size_columns, $term_size_rows ) = Term::Size::chars();
+       };
+       $term_size_columns ||= $ENV{COLUMNS} || 80;
+       $term_size_rows ||= $ENV{LINES} || 0;
+
+       return $term_size_columns;
+}
+
 our %active;
 my %dead;
 our @dead;
@@ -109,11 +125,11 @@
 
 sub print_all_lines
 {
-       my ( $columns, $rows ) = Term::Size::chars;
+       term_size() unless $term_size_columns;
        my $added = 0;
        print_dead_lines();
-       $added += print_status_lines( $columns );
-       $added += print_active_lines( $columns );
+       $added += print_status_lines( $term_size_columns );
+       $added += print_active_lines( $term_size_columns );
        return $added;
 }
 
@@ -189,8 +205,8 @@
 
        $SIG{WINCH} = sub {
                print "\033[2J\033[1;1H\n";
-               my ( $columns, $rows ) = Term::Size::chars;
-               my $start = $#dead - $rows;
+               term_size();
+               my $start = $term_size_rows ? $#dead - $term_size_rows : 0;
                $start = 0 if $start < 0;
                print join( "\n", @dead[($start..$#dead)] ), "\n";
                update();

Modified: toys/rsget.pl/RSGet/Main.pm
==============================================================================
--- toys/rsget.pl/RSGet/Main.pm (original)
+++ toys/rsget.pl/RSGet/Main.pm Mon Nov  2 03:06:16 2009
@@ -83,8 +83,7 @@
 
 sub print_help
 {
-       require Term::Size;
-       my ( $columns, $rows ) = Term::Size::chars;
+       my $columns = RSGet::Line::term_size();
        print "Usage: $0 [OPTIONS] [LIST FILE]\n";
        print "Downloads files from services like RapidShare.\n\n";
        print "Arguments are always mandatory.\n";
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to