Changeset 6377


Ignore:
Timestamp:
Jul 21, 2008, 6:42:51 PM (13 years ago)
Author:
charles
Message:

#1101 (rpc): add individual file progress to torrent-get's "files" message

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/cli/transmissioncli.1

    r6374 r6377  
    4444.Op Fl h
    4545.Op Fl m | M
    46 .Op Fl p
     46.Op Fl p Ar port
    4747.Op Fl t
    4848.Op Fl u Ar number | Fl U
  • trunk/daemon/remote.c

    r6334 r6377  
    616616                int j=0, jn=tr_bencListSize(files);
    617617                printf( "%s (%d files):\n", name, jn );
    618                 printf("%3s  %8s %3s %9s  %s\n", "#", "Priority", "Get", "Size", "Name" );
     618                printf("%3s  %4s %8s %3s %9s  %s\n", "#", "Done", "Priority", "Get", "Size", "Name" );
    619619                for( j=0, jn=tr_bencListSize( files ); j<jn; ++j )
    620620                {
     621                    int64_t have;
    621622                    int64_t length;
    622623                    int64_t priority;
     
    626627                    if( tr_bencDictFindInt( file, "length", &length ) &&
    627628                        tr_bencDictFindStr( file, "name", &filename ) &&
     629                        tr_bencDictFindInt( file, "bytesCompleted", &have ) &&
    628630                        tr_bencGetInt( tr_bencListChild( priorities, j ), &priority ) &&
    629631                        tr_bencGetInt( tr_bencListChild( wanteds, j ), &wanted ) )
    630632                    {
    631633                        char sizestr[64];
     634                        double percent = (double)have / length;
    632635                        strlsize( sizestr, length, sizeof( sizestr ) );
    633636                        const char * pristr;
     
    637640                            default:            pristr = "Normal"; break;
    638641                        }
    639                         printf( "%3d: %-8s %-3s %9s  %s\n", (j+1), pristr, (wanted?"Yes":"No"), sizestr, filename );
     642                        printf( "%3d: %3.0f%% %-8s %-3s %9s  %s\n", (j+1), percent, pristr, (wanted?"Yes":"No"), sizestr, filename );
    640643                    }
    641644                }
  • trunk/doc/rpc-spec.txt

    r6346 r6377  
    143143                      | files is an array of objects that contain:
    144144                      +----------+------------------------+-------------
     145                      | number   | bytesCompleted         | tr_torrent
    145146                      | number   | length                 | tr_info
    146147                      | string   | name                   | tr_info
  • trunk/libtransmission/rpc.c

    r6376 r6377  
    157157
    158158static void
    159 addFiles( const tr_info * info, tr_benc * files )
     159addFiles( const tr_torrent * tor, tr_benc * list )
    160160{
    161161    tr_file_index_t i;
     162    tr_file_index_t n;
     163    const tr_info * info = tr_torrentInfo( tor );
     164    tr_file_stat * files = tr_torrentFiles( tor, &n );
     165
    162166    for( i=0; i<info->fileCount; ++i )
    163167    {
    164168        const tr_file * file = &info->files[i];
    165         tr_benc * d = tr_bencListAddDict( files, 2 );
     169        tr_benc * d = tr_bencListAddDict( list, 3 );
     170        tr_bencDictAddInt( d, "bytesCompleted", files[i].bytesCompleted );
    166171        tr_bencDictAddInt( d, "length", file->length );
    167172        tr_bencDictAddStr( d, "name", file->name );
    168173    }
     174
     175    tr_torrentFilesFree( files, n );
    169176}
    170177
     
    228235
    229236    if( fields & TR_RPC_TORRENT_FILES )
    230         addFiles( inf, tr_bencDictAddList( d, "files", inf->fileCount ) );
     237        addFiles( tor, tr_bencDictAddList( d, "files", inf->fileCount ) );
    231238
    232239    if( fields & TR_RPC_TORRENT_HISTORY ) {
Note: See TracChangeset for help on using the changeset viewer.