Rework statistics
This commit is contained in:
parent
2f632491bc
commit
fc9d25ba0d
@ -10,11 +10,13 @@ code, pre { font-size: 1rem; font-weight: bold; }
|
||||
antes que isso aconteça. Podes ajudar de duas formas:
|
||||
|
||||
<ol>
|
||||
<li>Descarregar os vídeos: se tiveres uns terabytes livres, podes correr o programa abaixo para ir descarregando novos vídeos;</li>
|
||||
<li>Descobrir vídeos novos: temos indexados 1.5 milhões de vídeos, mas estima-se que haja 5 milhões.</li>
|
||||
<li><a href="#descarregar">Descarregar os vídeos</a>: se tiveres uns terabytes livres, podes correr o programa abaixo para ir descarregando novos vídeos;</li>
|
||||
<li><a href="#descobrir">Descobrir vídeos novos</a>: temos indexados 1.5 milhões de vídeos, mas estima-se que haja 5 milhões.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Descarregar vídeos</h2>
|
||||
<p>No fim da página há algumas <a href="#estatisticas">estatísticas</a> que descrevem o estado do projecto.</p>
|
||||
|
||||
<h2 id="descarregar">Descarregar vídeos</h2>
|
||||
|
||||
<p>
|
||||
Nota: Só temos instruções para GNU/Linux.
|
||||
@ -38,8 +40,9 @@ $ /caminho/para/o/saca-sapos QUANTIDADE_DE_VIDEOS TEU_ENDERECO_DE_EMAIL
|
||||
<pre>$ cd /pasta/com/bastante/espaço
|
||||
$ PROCS=10 /caminho/para/o/saca-sapos 1000 eu@exemplo.pt
|
||||
</pre>
|
||||
<p>Para ajudar a ter noção de quanto ocupa um certo número de vídeos, temos nas estatísticas o tamanho médio por vídeo.</p>
|
||||
|
||||
<h2>Encontrar mais vídeos</h2>
|
||||
<h2 id="descobrir">Descobrir vídeos novos</h2>
|
||||
|
||||
<p>
|
||||
O <a href="https://git.ansol.org/hugopeixoto/sapo-videos/">repositório de
|
||||
@ -76,12 +79,13 @@ $ PROCS=10 /caminho/para/o/saca-sapos 1000 eu@exemplo.pt
|
||||
vídeos é bem-vinda. Mandem mensagens no fediverso (<a href="https://ciberlandia.pt/@hugopeixoto">@hugopeixoto@ciberlandia.pt</a>) para coordenarmos trabalho.
|
||||
</p>
|
||||
|
||||
<h2>Estatísticas</h2>
|
||||
<h2 id="estatisticas">Estatísticas</h2>
|
||||
|
||||
<p>Número de vídeos descarregados: <%= stats[:downloads]["total"].to_i %></p>
|
||||
<p>Tamanho total: <%= h(stats[:downloads]["bytes"].to_i) %></p>
|
||||
<p>Tamanho médio: <%= h(stats[:downloads]["bytes"].to_i / stats[:downloads]["total"].to_i) %>/vídeo</p>
|
||||
<p>Número de pessoas a descarregar vídeos: <%= stats[:users]["total"] %></p>
|
||||
<p>Número de vídeos conhecidos: <%= videos_known %></p>
|
||||
<p>Número de vídeos descarregados: <%= videos_downloaded %> (<%= (videos_downloaded * 100.0 / videos_known).round(2) %>%)</p>
|
||||
<p>Tamanho total: <%= h bytes_downloaded %></p>
|
||||
<p>Tamanho médio: <%= h(bytes_downloaded / videos_downloaded) %>/vídeo</p>
|
||||
<p>Número de pessoas a descarregar vídeos: <%= users %></p>
|
||||
|
||||
<footer>
|
||||
<hr />
|
||||
|
12
main.rb
12
main.rb
@ -29,13 +29,21 @@ get '/' do
|
||||
FROM (select size from downloads group by video_id) as x;
|
||||
")[0]
|
||||
|
||||
videos = ActiveRecord::Base.connection.execute("select count(1) AS total from videos;")[0]
|
||||
users = ActiveRecord::Base.connection.execute("select count(distinct email) AS total from downloads;")[0]
|
||||
|
||||
stats = { downloads: downloads, users: users }
|
||||
stats = {
|
||||
videos_known: videos["total"].to_i,
|
||||
videos_downloaded: downloads["total"].to_i,
|
||||
|
||||
bytes_downloaded: downloads["bytes"].to_i,
|
||||
|
||||
users: users["total"],
|
||||
}
|
||||
|
||||
ERB
|
||||
.new(File.read("index.html.erb"), trim_mode: "<>-")
|
||||
.result_with_hash(stats: stats)
|
||||
.result_with_hash(stats)
|
||||
end
|
||||
|
||||
get '/videos.json' do
|
||||
|
Loading…
Reference in New Issue
Block a user