r77617 - in /trunk/libterm-sk-perl: Changes META.json META.yml README debian/changelog lib/Term/Sk.pm t/0010_test.t

carnil at users.alioth.debian.org carnil at users.alioth.debian.org
Tue Jul 19 17:53:33 UTC 2011


Author: carnil
Date: Tue Jul 19 17:53:24 2011
New Revision: 77617

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=77617
Log:
* Team upload.
* New upstream release

Modified:
    trunk/libterm-sk-perl/Changes
    trunk/libterm-sk-perl/META.json
    trunk/libterm-sk-perl/META.yml
    trunk/libterm-sk-perl/README
    trunk/libterm-sk-perl/debian/changelog
    trunk/libterm-sk-perl/lib/Term/Sk.pm
    trunk/libterm-sk-perl/t/0010_test.t

Modified: trunk/libterm-sk-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/Changes?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/Changes (original)
+++ trunk/libterm-sk-perl/Changes Tue Jul 19 17:53:24 2011
@@ -55,3 +55,9 @@
         add some more tests
         add initialiser 'mock_tm' and method mock_time() to mock time for testing
         add configure_requires => { 'Module::Build' => 0.30 } to Build.PL
+
+0.10    16 Jul 2011
+        allow more than one token in a single line
+
+0.11    19 Jul 2011
+        update the documentation and give some examples to allow more than one token in a single line

Modified: trunk/libterm-sk-perl/META.json
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/META.json?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/META.json (original)
+++ trunk/libterm-sk-perl/META.json Tue Jul 19 17:53:24 2011
@@ -23,7 +23,7 @@
    "provides" : {
       "Term::Sk" : {
          "file" : "lib/Term/Sk.pm",
-         "version" : "0.09"
+         "version" : "0.11"
       }
    },
    "release_status" : "stable",
@@ -32,5 +32,5 @@
          "http://dev.perl.org/licenses/"
       ]
    },
-   "version" : "0.09"
+   "version" : "0.11"
 }

Modified: trunk/libterm-sk-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/META.yml?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/META.yml (original)
+++ trunk/libterm-sk-perl/META.yml Tue Jul 19 17:53:24 2011
@@ -15,7 +15,7 @@
 provides:
   Term::Sk:
     file: lib/Term/Sk.pm
-    version: 0.09
+    version: 0.11
 resources:
   license: http://dev.perl.org/licenses/
-version: 0.09
+version: 0.11

Modified: trunk/libterm-sk-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/README?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/README (original)
+++ trunk/libterm-sk-perl/README Tue Jul 19 17:53:24 2011
@@ -1,4 +1,4 @@
-Term-Sk Version 0.09
+Term-Sk Version 0.11
 
 This is a Perl extension for displaying a progress indicator on a terminal.
 

Modified: trunk/libterm-sk-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/debian/changelog?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/debian/changelog (original)
+++ trunk/libterm-sk-perl/debian/changelog Tue Jul 19 17:53:24 2011
@@ -1,3 +1,10 @@
+libterm-sk-perl (0.11-1) UNRELEASED; urgency=low
+
+  * Team upload.
+  * New upstream release
+
+ -- Salvatore Bonaccorso <carnil at debian.org>  Tue, 19 Jul 2011 19:52:31 +0200
+
 libterm-sk-perl (0.09-1) unstable; urgency=low
 
   * Team upload

Modified: trunk/libterm-sk-perl/lib/Term/Sk.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/lib/Term/Sk.pm?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/lib/Term/Sk.pm (original)
+++ trunk/libterm-sk-perl/lib/Term/Sk.pm Tue Jul 19 17:53:24 2011
@@ -16,7 +16,7 @@
 
 our @EXPORT = qw();
 
-our $VERSION = '0.09';
+our $VERSION = '0.11';
 
 our $errcode = 0;
 our $errmsg  = '';
@@ -46,7 +46,7 @@
     $self->{line}    = '';
     $self->{pdisp}   = '#';
     $self->{commify} = $hash{commify};
-    $self->{token}   = defined($hash{token}) ? $hash{token} : q{};
+    $self->{token}   = defined($hash{token}) ? ref($hash{token}) eq 'ARRAY' ? $hash{token} : [$hash{token}] : [];
 
     unless (defined $self->{quiet}) {
         $self->{quiet} = !-t STDOUT;
@@ -157,7 +157,12 @@
 
 sub ticks { my $self = shift; return $self->{tick} }
 
-sub token { my $self = shift; $self->{token} = shift; $self->show_maybe; }
+sub token {
+    my $self = shift;
+    my $tk = shift;
+    $self->{token} = ref($tk) eq 'ARRAY' ? $tk : [$tk];
+    $self->show_maybe;
+}
 
 sub DESTROY {
     my $self = shift;
@@ -203,6 +208,8 @@
     if (defined $self->{value}) {
 
         # Here we compose a string based on $self->{action} (which, of course, is the previously de-composed format)
+
+        my $tok_ind = 0;
 
         for my $act (@{$self->{action}}) {
             my ($type, $lit, $len) = ($act->{type}, $act->{lit}, $act->{len});
@@ -251,7 +258,8 @@
                 next;
             }
             if ($type eq 'k') { # print (= append to $text) token
-                $text .= sprintf "%-${len}s", $self->{token};
+                $text .= sprintf "%-${len}s", $self->{token}[$tok_ind];
+                $tok_ind++;
                 next;
             }
             # default: do nothing, in the (impossible) event that $type is none of '*lit', 't', 'b', 'p', 'P', 'c', 'm' or 'k'
@@ -513,16 +521,32 @@
 of this would be a loop wherein every step of the loop could be
 identified by a particular string.  For example:
 
-    my $ctr = Term::Sk->new('Processing %k', {base => 0, token => 'Albania'});
+    my $ctr = Term::Sk->new('Processing %k counter %c',
+      {base => 0, token => 'Albania'});
     foreach my $country (@list_of_european_nations) {
       $ctr->token($country);
-      ## do something for each country
+      for (1..500) {
+          $ctr->up;
+          ## do something...
+      }
     };
     $ctr->close;
 
-The C<token> method is used to update the token value and is also a
-wrapper around the C<up> method.  The counter can be instantiated
-with an intial value for the token.
+You can also have more than one token on a single line. Here is an example:
+
+    my $ctr = Term::Sk->new('Processing %k Region %k counter %c',
+      {base => 0, token => ['Albania', 'South']});
+    foreach my $country (@list_of_european_nations) {
+      $ctr->token([$country, 'North']);
+      for (1..500) {
+          $ctr->up;
+          ## do something...
+      }
+    };
+    $ctr->close;
+
+The C<token> method is used to update the token value. If '%k' is used, then the
+counter must be instantiated with an intial value for the token.
 
 =item characters '%P'
 

Modified: trunk/libterm-sk-perl/t/0010_test.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libterm-sk-perl/t/0010_test.t?rev=77617&op=diff
==============================================================================
--- trunk/libterm-sk-perl/t/0010_test.t (original)
+++ trunk/libterm-sk-perl/t/0010_test.t Tue Jul 19 17:53:24 2011
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 67;
+use Test::More tests => 70;
 
 use_ok('Term::Sk');
 
@@ -225,6 +225,14 @@
   is($disp_after,  q{Test hijxyzklmtyzz},                       'Test-0730: after rem_backspace');
 }
 
+{
+    my $ctr = Term::Sk->new('Token1 %6k Token2 %6k Ctr %c', { test => 1, base => 1, token => ['abc', 'def'] } );
+    ok(defined($ctr),                                                 'Test-0740: %6k %6k %c works ok');
+    is(content($ctr->get_line), q{Token1 abc    Token2 def    Ctr 1}, 'Test-0750: first double Token displayed correctly');
+    $ctr->token(['ghi', 'jkl']);
+    is(content($ctr->get_line), q{Token1 ghi    Token2 jkl    Ctr 1}, 'Test-0760: second double Token displayed correctly');
+}
+
 sub content {
     my ($text) = @_;
 




More information about the Pkg-perl-cvs-commits mailing list