Changeset 10497


Ignore:
Timestamp:
Apr 20, 2010, 1:48:40 AM (11 years ago)
Author:
charles
Message:

(trunk) #2960 "add torrent availability to web interface and remote" -- implemented via a patch from Longinus00

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/daemon/remote.c

    r10451 r10497  
    325325    "creator",
    326326    "dateCreated",
     327    "desiredAvailable",
    327328    "doneDate",
    328329    "downloadDir",
     
    12761277            }
    12771278
    1278             if( tr_bencDictFindInt( t, "sizeWhenDone", &i )
    1279               && tr_bencDictFindInt( t, "totalSize", &j ) )
     1279            if( tr_bencDictFindInt( t, "sizeWhenDone", &i ) )
    12801280            {
    1281                 strlsize( buf, j, sizeof( buf ) );
    1282                 strlsize( buf2, i, sizeof( buf2 ) );
    1283                 printf( "  Total size: %s (%s wanted)\n", buf, buf2 );
     1281                if( i < 1 )
     1282                    printf( "  Availability: None\n" );
     1283                if( tr_bencDictFindInt( t, "desiredAvailable", &j)
     1284                    && tr_bencDictFindInt( t, "leftUntilDone", &k) )
     1285                {
     1286                    j += i - k;
     1287                    printf( "  Availability: %.1f%%\n", ( 100 * j ) / (double) i );
     1288                }
     1289                if( tr_bencDictFindInt( t, "totalSize", &j ) )
     1290                {
     1291                    strlsize( buf2, i, sizeof( buf2 ) );
     1292                    strlsize( buf, j, sizeof( buf ) );
     1293                    printf( "  Total size: %s (%s wanted)\n", buf, buf2 );
     1294                }
    12841295            }
    12851296            if( tr_bencDictFindInt( t, "downloadedEver", &i )
  • trunk/web/index.html

    r10353 r10497  
    135135                                                <div class="inspector_label">Have:</div>
    136136                                                <div id="torrent_inspector_have">N/A</div>
     137                                        </div>
     138                                        <div class="inspector_row">
     139                                                <div class="inspector_label">Availability:</div>
     140                                                <div id="torrent_inspector_availability">N/A</div>
    137141                                        </div>
    138142                                        <div class="inspector_row">
  • trunk/web/javascript/torrent.js

    r10437 r10497  
    4242    'haveUnchecked', 'haveValid', 'leftUntilDone', 'metadataPercentComplete', 'peersConnected',
    4343    'peersGettingFromUs', 'peersSendingToUs', 'rateDownload', 'rateUpload',
    44     'recheckProgress', 'sizeWhenDone', 'status', 'trackerStats',
     44    'recheckProgress', 'sizeWhenDone', 'status', 'trackerStats', 'desiredAvailable',
    4545    'uploadedEver', 'uploadRatio', 'seedRatioLimit', 'seedRatioMode', 'downloadDir', 'isFinished' ]
    4646
     
    394394                this._metadataPercentComplete = data.metadataPercentComplete;
    395395                this._isFinishedSeeding       = data.isFinished;
     396                this._desiredAvailable        = data.desiredAvailable;
    396397
    397398                if (data.fileStats)
  • trunk/web/javascript/transmission.js

    r10429 r10497  
    9191                this._inspector = { };
    9292                this._inspector._info_tab = { };
     93                this._inspector._info_tab.availability = $(ti+'availability')[0];
    9394                this._inspector._info_tab.comment = $(ti+'comment')[0];
    9495                this._inspector._info_tab.creator_date = $(ti+'creator_date')[0];
     
    11481149                var total_download_peers = 0;
    11491150                var total_download_speed = 0;
     1151                var total_availability = 0;
    11501152                var total_have = 0;
    11511153                var total_size = 0;
     
    11721174                        setInnerHTML( tab.uploaded, na );
    11731175                        setInnerHTML( tab.downloaded, na );
     1176                        setInnerHTML( tab.availability, na );
    11741177                        setInnerHTML( tab.ratio, na );
    11751178                        setInnerHTML( tab.have, na );
     
    12231226                        total_upload_peers   += t.peersGettingFromUs();
    12241227                        total_download_peers += t.peersSendingToUs();
     1228                        total_availability   += t._sizeWhenDone - t._leftUntilDone + t._desiredAvailable;
    12251229                        if( total_state == null )
    12261230                                total_state = t.stateStr();
     
    12471251                setInnerHTML( tab.uploaded, torrents.length ? Math.formatBytes( total_upload ) : na );
    12481252                setInnerHTML( tab.downloaded, torrents.length ? Math.formatBytes( total_download ) : na );
     1253                setInnerHTML( tab.availability, torrents.length ? Math.ratio( total_availability*100, sizeWhenDone ) + '%' : na );
    12491254                setInnerHTML( tab.ratio, torrents.length ? Math.ratio( total_upload, total_download ) : na );
    12501255                setInnerHTML( tab.have, torrents.length ? Math.formatBytes(total_completed) + ' (' + Math.formatBytes(total_verified) + ' verified)' : na );
Note: See TracChangeset for help on using the changeset viewer.