App-MHFS

 view release on metacpan or  search on metacpan

lib/App/MHFS.pm  view on Meta::CPAN

            }, sub {
            if( ! defined $_[0]) { $request->Send404; return;}
            my ($data) = @_;
            my $torrent_raw = $data->{'name'};
            my $bytes_done  = $data->{'bytes_done'};
            my $size_bytes  = $data->{'size_bytes'};
            # print out the current torrent status
            my $torrent_name = ${escape_html($torrent_raw)};
            my $size_print = get_SI_size($size_bytes);
            my $done_print = get_SI_size($bytes_done);
            my $percent_print = (sprintf "%u%%", ($bytes_done/$size_bytes)*100);
            my $buf = '<h1>Torrent</h1>';
            $buf  .=  '<h3><a href="../video">Video</a> | <a href="../music">Music</a></h3>';
            $buf   .= '<table border="1" >';
            $buf   .= '<thead><tr><th>Name</th><th>Size</th><th>Done</th><th>Downloaded</th></tr></thead>';
            $buf   .= "<tbody><tr><td>$torrent_name</td><td>$size_print</td><td>$percent_print</td><td>$done_print</td></tr></tbody>";
            $buf   .= '</table>';

            # Assume we are downloading, if the bytes don't match
            if($bytes_done < $size_bytes) {
                $buf   .= '<meta http-equiv="refresh" content="3">';
                $request->SendHTML($buf);
            }
            else {
                # print out the files with usage options
                MHFS::BitTorrent::Client::torrent_file_information($server, $qs->{'infohash'}, $torrent_raw, sub {

share/public_html/static/hls.js  view on Meta::CPAN

      }
    }
  },
  // Accept a setting if its a valid (signed) integer.
  integer: function integer(k, v) {
    if (/^-?\d+$/.test(v)) {
      // integer
      this.set(k, parseInt(v, 10));
    }
  },
  // Accept a setting if its a valid percentage.
  percent: function percent(k, v) {
    var m = void 0;
    if (m = v.match(/^([\d]{1,3})(\.[\d]*)?%$/)) {
      v = parseFloat(v);
      if (v >= 0 && v <= 100) {
        this.set(k, v);
        return true;
      }
    }
    return false;
  }

share/public_html/static/hls.js  view on Meta::CPAN

            }
          }
          break;
        case 'vertical':
          settings.alt(k, v, ['rl', 'lr']);
          break;
        case 'line':
          var vals = v.split(','),
              vals0 = vals[0];
          settings.integer(k, vals0);
          if (settings.percent(k, vals0)) {
            settings.set('snapToLines', false);
          }

          settings.alt(k, vals0, ['auto']);
          if (vals.length === 2) {
            settings.alt('lineAlign', vals[1], ['start', center, 'end']);
          }

          break;
        case 'position':
          vals = v.split(',');
          settings.percent(k, vals[0]);
          if (vals.length === 2) {
            settings.alt('positionAlign', vals[1], ['start', center, 'end', 'line-left', 'line-right', 'auto']);
          }

          break;
        case 'size':
          settings.percent(k, v);
          break;
        case 'align':
          settings.alt(k, v, ['start', center, 'end', 'left', 'right']);
          break;
      }
    }, /:/, /\s/);

    // Apply default values for any missing fields.
    cue.region = settings.get('region', null);
    cue.vertical = settings.get('vertical', '');



( run in 0.336 second using v1.01-cache-2.11-cpan-709fd43a63f )