Changeset 7000
- Timestamp:
- Oct 31, 2008, 11:56:14 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/daemon/remote.c
r6971 r7000 255 255 "leftUntilDone", 256 256 "name", 257 "peersGettingFromUs", "peersSendingToUs", 257 258 "rateDownload", 258 "rateUpload", 259 "rateUpload", "sizeWhenDone", "status", "uploadedEver" 259 260 }; 260 261 … … 615 616 } 616 617 617 static const char* 618 torrentStatusToString( int i ) 619 { 620 switch( i ) 621 { 622 case TR_STATUS_CHECK_WAIT: 623 return "Will Verify"; 624 625 case TR_STATUS_CHECK: 626 return "Verifying"; 627 628 case TR_STATUS_DOWNLOAD: 629 return "Downloading"; 630 631 case TR_STATUS_SEED: 632 return "Seeding"; 633 634 case TR_STATUS_STOPPED: 635 return "Stopped"; 636 637 default: 638 return "Error"; 639 } 640 } 641 642 static int 643 isVerifying( int status ) 644 { 645 return ( status == TR_STATUS_CHECK_WAIT ) 646 || ( status == TR_STATUS_CHECK ); 618 static char* 619 getStatusString( tr_benc * t, char * buf, size_t buflen ) 620 { 621 int64_t i; 622 623 *buf = '\0'; 624 625 if( tr_bencDictFindInt( t, "status", &i ) ) 626 { 627 if( i==TR_STATUS_STOPPED ) 628 { 629 tr_strlcpy( buf, "Stopped", buflen ); 630 } 631 else if( i==TR_STATUS_CHECK_WAIT || i==TR_STATUS_CHECK ) 632 { 633 const char * str = NULL; 634 char percentBuf[32]; 635 if( tr_bencDictFindStr( t, "recheckProgress", &str ) ) 636 tr_snprintf( percentBuf, sizeof( percentBuf ), " (%.0f%%)", atof( str ) ); 637 else 638 *percentBuf = '\0'; 639 tr_snprintf( buf, buflen, "%s%s", 640 ( i == TR_STATUS_CHECK_WAIT ) ? "Will Verify" : "Verifying", 641 percentBuf ); 642 } 643 else if( i==TR_STATUS_DOWNLOAD || i==TR_STATUS_SEED ) 644 { 645 int64_t j = 0; 646 int64_t k = 0; 647 tr_bencDictFindInt( t, "peersGettingFromUs", &j ); 648 tr_bencDictFindInt( t, "peersSendingToUs", &k ); 649 if( j && k ) 650 tr_strlcpy( buf, "Up & Down", buflen ); 651 else if( j ) 652 tr_strlcpy( buf, (i==TR_STATUS_SEED ? "Uploading" : "Seeding"), buflen ); 653 else if( j ) 654 tr_strlcpy( buf, "Downloading", buflen ); 655 else 656 tr_strlcpy( buf, "Idle", buflen ); 657 } 658 } 659 660 return buf; 647 661 } 648 662 … … 676 690 677 691 printf( "TRANSFER\n" ); 678 if( tr_bencDictFindInt( t, "status", &i ) ) 679 { 680 if( isVerifying( i ) 681 && tr_bencDictFindStr( t, "recheckProgress", &str ) ) 682 tr_snprintf( buf, sizeof( buf ), " (%.0f%% Done)", 683 100.0 * atof( 684 str ) ); 685 else 686 *buf = '\0'; 687 printf( " State: %s%s\n", torrentStatusToString( i ), buf ); 688 } 692 getStatusString( t, buf, sizeof( buf ) ); 693 printf( " State: %s\n", buf ); 689 694 690 695 if( tr_bencDictFindInt( t, "sizeWhenDone", &i ) … … 955 960 { 956 961 int i, n; 957 printf( "%- 3s %-4s %-8s %-6s %-6s %-5s %-11s %s\n",962 printf( "%-4s %-4s %-8s %-6s %-6s %-5s %-11s %s\n", 958 963 "ID", "Done", "ETA", "Up", "Down", "Ratio", "Status", 959 964 "Name" ); … … 977 982 { 978 983 char etaStr[16]; 984 char statusStr[64]; 979 985 if( leftUntilDone ) 980 986 etaToString( etaStr, sizeof( etaStr ), eta ); … … 982 988 tr_snprintf( etaStr, sizeof( etaStr ), "Done" ); 983 989 printf( 984 "% 3d %3d%% %-8s %6.1f %6.1f %5.1f %-11s %s\n",990 "%4d %3d%% %-8s %6.1f %6.1f %5.1f %-11s %s\n", 985 991 (int)id, 986 992 (int)( 100.0 * … … 991 997 (double)( downEver ? ( (double)upEver / 992 998 downEver ) : 0.0 ), 993 torrentStatusToString( status),999 getStatusString( d, statusStr, sizeof( statusStr ) ), 994 1000 name ); 995 1001 }
Note: See TracChangeset
for help on using the changeset viewer.