Added list configurations
This commit is contained in:
21
app.rb
21
app.rb
@@ -262,6 +262,27 @@ post "/rcpcreate" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
get "/bldcfg" do
|
||||||
|
@page_name = "Список конфигураций сборки"
|
||||||
|
hide_list = cfg.get_configs_hide
|
||||||
|
select_list = cfg.get_configs_selected
|
||||||
|
@list_global = Dir["/etc/mock/*.cfg"].map { |item| [File.dirname(item), File.basename(item, ".cfg"), item] }.reject { |item| check_partname_in_array(item[1], hide_list) }
|
||||||
|
@list_local = Dir["~/.config/mock/*.cfg"].map { |item| [File.dirname(item), File.basename(item, ".cfg"), item] }
|
||||||
|
@list_selected = (@list_global + @list_local).select { |item| check_partname_in_array(item[1], select_list) }
|
||||||
|
erb :cfgslist
|
||||||
|
end
|
||||||
|
|
||||||
|
get "/bldcfginfo" do
|
||||||
|
@filename = params["info"]
|
||||||
|
if @filename.nil?
|
||||||
|
print_error_page(503, "Не задано имя конфигурационного файла")
|
||||||
|
else
|
||||||
|
@page_name = @filename
|
||||||
|
@content = File.readlines(@filename)
|
||||||
|
erb :cfgsinfo
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
not_found do
|
not_found do
|
||||||
status 404
|
status 404
|
||||||
@page_name = "Кто-то потерялся"
|
@page_name = "Кто-то потерялся"
|
||||||
|
|||||||
@@ -38,4 +38,20 @@ class IniConfig
|
|||||||
"db"
|
"db"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_configs_hide()
|
||||||
|
unless @config["configs"]["hide"].nil?
|
||||||
|
@config["configs"]["hide"].split(",").map { |item| item.strip }
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_configs_selected()
|
||||||
|
unless @config["configs"]["selected"].nil?
|
||||||
|
@config["configs"]["selected"].split(",").map { |item| item.strip }
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -13,3 +13,14 @@ def sanitize_rcptname(filename)
|
|||||||
sanitized.gsub!(/^_+|_+$/, "")
|
sanitized.gsub!(/^_+|_+$/, "")
|
||||||
sanitized
|
sanitized
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_partname_in_array(filename, search_array)
|
||||||
|
fnd = false
|
||||||
|
search_array.each do |item|
|
||||||
|
if filename.include?(item)
|
||||||
|
fnd = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
fnd
|
||||||
|
end
|
||||||
|
|||||||
@@ -4,3 +4,11 @@ db = "sqlite://db/workbase.sqlite3"
|
|||||||
|
|
||||||
[repo]
|
[repo]
|
||||||
repo = "repo"
|
repo = "repo"
|
||||||
|
|
||||||
|
[projects]
|
||||||
|
path = "projects"
|
||||||
|
old = 3
|
||||||
|
|
||||||
|
[configs]
|
||||||
|
hide=open,amazon,anolis,circle,custom,euro,fedora,mageia,navy,alma,rocky
|
||||||
|
selected=msvsphere
|
||||||
21
views/cfgsinfo.erb
Normal file
21
views/cfgsinfo.erb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<%= erb :header %>
|
||||||
|
<div class="container">
|
||||||
|
<h3 class="text-center"><%= @filename %></h3>
|
||||||
|
<div class="container border bg-light pb-2 pt-2 text-secondary">
|
||||||
|
<% @content.each do |line| %>
|
||||||
|
<% if line =~ /^include\(/
|
||||||
|
dn = File.dirname(@filename)
|
||||||
|
result = line.match /^include\s*\('(?<fl>\S+)'\)/
|
||||||
|
if result.nil?
|
||||||
|
%>
|
||||||
|
<p class="p-0 m-0"><%= line %></p>
|
||||||
|
<% else link = File.join(dn, result[:fl]) %>
|
||||||
|
<p class="p-0 m-0"><a href="/bldcfginfo?info=<%= ERB::Util.url_encode(link) %>" class="link-dark link-underline-secondary"><%= line %></a></p>
|
||||||
|
<% end
|
||||||
|
else %>
|
||||||
|
<p class="p-0 m-0"><%= line %></p>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%= erb :footer %>
|
||||||
29
views/cfgslist.erb
Normal file
29
views/cfgslist.erb
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<%= erb :header %>
|
||||||
|
<div class="container text-center">
|
||||||
|
<h2 class="pb-5">Список доступных конфигураций</h2>
|
||||||
|
<h3 class="pb-2 text-danger">Избранные</h3>
|
||||||
|
<div class="row gap-3">
|
||||||
|
<% @list_selected.each do |item| %>
|
||||||
|
<div class="col-3 bg-info rounded-4">
|
||||||
|
<a href="/bldcfginfo?info=<%= ERB::Util.url_encode(item[2]) %>" class="link-light"><%= item[1] %></a>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<h3 class="p-3 text-danger">Локальные</h3>
|
||||||
|
<div class="row gap-3">
|
||||||
|
<% @list_local.each do |item| %>
|
||||||
|
<div class="col-3 bg-primary rounded-4">
|
||||||
|
<a href="/bldcfginfo?info=<%= ERB::Util.url_encode(item[2]) %>" class="link-light"><%= item[1] %></a>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<h3 class="p-3 text-danger">Глобальные</h3>
|
||||||
|
<div class="row gap-3">
|
||||||
|
<% @list_global.each do |item| %>
|
||||||
|
<div class="col-3 bg-success rounded-4">
|
||||||
|
<a href="/bldcfginfo?info=<%= ERB::Util.url_encode(item[2]) %>" class="link-light"><%= item[1] %></a>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%= erb :footer %>
|
||||||
@@ -40,6 +40,10 @@
|
|||||||
<span class="p-1">
|
<span class="p-1">
|
||||||
<a href="/rpms">rpm-пакеты</a>
|
<a href="/rpms">rpm-пакеты</a>
|
||||||
</span>
|
</span>
|
||||||
|
<span>|</span>
|
||||||
|
<span class="p-1">
|
||||||
|
<a href="/bldcfg">build-окружения</a>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|||||||
@@ -88,4 +88,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6" style="padding: 12px;">
|
||||||
|
<div class="card" style="background: rgb(227,227,227);border-radius: 15px;">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title">Окружения сборки</h4>
|
||||||
|
<p class="card-text">Список всех доступных окружений сборки</p><a class="card-link" href="/bldcfg">Перейти к списку достпуных окружений</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<%= erb :footer %>
|
<%= erb :footer %>
|
||||||
Reference in New Issue
Block a user