Added build info
This commit is contained in:
72
app.rb
72
app.rb
@@ -9,6 +9,7 @@ Gem.paths = {
|
||||
require "rubygems"
|
||||
require "sinatra"
|
||||
require "puma"
|
||||
require "ptools"
|
||||
|
||||
require_relative "classes/config"
|
||||
require_relative "classes/gitinfo"
|
||||
@@ -46,6 +47,7 @@ get "/" do
|
||||
@repos_number = repo_data.length
|
||||
@rcp_number = db.get_recips.length
|
||||
@prj_number = prj.get_projects.length
|
||||
@rpm_number = db.get_rpms.length
|
||||
erb :index
|
||||
end
|
||||
end
|
||||
@@ -510,7 +512,11 @@ get "/prjgitf/:id/:git_id" do
|
||||
end
|
||||
end
|
||||
else
|
||||
@file_content = File.readlines(f_path)
|
||||
if File.binary?(f_path)
|
||||
@file_content = ["Двоичный файл"]
|
||||
else
|
||||
@file_content = File.readlines(f_path)
|
||||
end
|
||||
@files_list = Dir[File.join(File.dirname(f_path), "*")].map do |item|
|
||||
if File.directory?(item)
|
||||
{ :file => item.delete_prefix(proj_path + "/"), :isdir => true }
|
||||
@@ -873,6 +879,70 @@ get "/rpminfo/:rpm_id" do
|
||||
end
|
||||
end
|
||||
|
||||
get "/builds" do
|
||||
@page_name = "Список всех сборок"
|
||||
builds_lst = db.get_builds
|
||||
if params["p"].nil?
|
||||
@page = 1
|
||||
else
|
||||
@page = params["p"].to_i
|
||||
if @page < 1
|
||||
@page = 1
|
||||
else
|
||||
@page = @page + 1
|
||||
end
|
||||
end
|
||||
if builds_lst.nil?
|
||||
builds_lst = []
|
||||
end
|
||||
items_per_page = cfg.get_items_per_page
|
||||
@builds_list = builds_lst[(@page - 1) * items_per_page, items_per_page]
|
||||
@max_pages = builds_lst.length / items_per_page
|
||||
if (@max_pages * items_per_page) != builds_lst.length
|
||||
@max_pages = @max_pages + 1
|
||||
end
|
||||
erb :buildslist
|
||||
end
|
||||
|
||||
get "/buildinfof/:build_id" do
|
||||
build_info = db.get_build_info(params["build_id"])
|
||||
if build_info.nil?
|
||||
print_error_page(503, "Сборки не сущестует")
|
||||
else
|
||||
if build_info[:result] == 0
|
||||
redirect url("/buildinfo/#{params["build_id"].to_i}")
|
||||
else
|
||||
result_path = build_info[:logpath]
|
||||
if File.exist?(result_path)
|
||||
@logs_list = get_log_paths_success(result_path)
|
||||
@process_log = File.join(result_path, "process.log")
|
||||
@rpm_list = db.get_rpms_for_build(params["build_id"])
|
||||
unless params["file"].nil?
|
||||
file_name = params["file"]
|
||||
else
|
||||
file_name = @process_log
|
||||
end
|
||||
unless File.exist?(file_name)
|
||||
print_error_page(503, "Запрашиваемый файл отсутствует")
|
||||
else
|
||||
@file_content = []
|
||||
File.readlines(file_name).last(100).each do |line|
|
||||
@file_content << line
|
||||
end
|
||||
@file_disp = File.basename(file_name)
|
||||
@file_disp_raw = file_name
|
||||
@build_id = params["build_id"]
|
||||
@repo = db.get_repo_info_by_id(build_info[:repo_id])
|
||||
@proj = db.proj(build_info[:proj_id])
|
||||
erb :buildinfo
|
||||
end
|
||||
else
|
||||
print_error_page(503, "Для данной сборки уже не существует результатов")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
not_found do
|
||||
status 404
|
||||
@page_name = "Кто-то потерялся"
|
||||
|
||||
Reference in New Issue
Block a user