Revert "Print open home-gitops issues on the Epson receipt printer"

This reverts commit b44985b75f.
This commit is contained in:
randy committed 2026-09-13 11:46:08 +02:00
1 parent b44985b75f
commit 368bf670b9
3 files changed
-61

No files matched your search

-1
View File
@@ -1,5 +1,4 @@
.session_secret
.gitea_token
public/files/*
!public/files/.gitkeep
data/labels/*
-50
View File
@@ -3,7 +3,6 @@ require 'sinatra'
require "sinatra/reloader"
require 'tmpdir'
require 'net/http'
require 'json'
require_relative 'lib/receipt_builder'
require_relative 'lib/label_repository'
@@ -155,45 +154,6 @@ helpers do
receipt.print!(PRINTER_DEVICE_EPSON)
end
GITEA_TOKEN_FILE = File.join(File.dirname(__FILE__), '.gitea_token')
def fetch_open_issues(repo)
token = File.read(GITEA_TOKEN_FILE).strip
uri = URI("https://git.priesol.net/api/v1/repos/randy/#{repo}/issues?state=open&type=issues&limit=50")
req = Net::HTTP::Get.new(uri)
req['Authorization'] = "token #{token}"
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
raise "Gitea API returned #{res.code}" unless res.is_a?(Net::HTTPSuccess)
JSON.parse(res.body)
end
# Prints a receipt-style summary of a repo's open issues -- number, title,
# labels, one separator per issue, total at the end.
def print_issues(repo)
issues = fetch_open_issues(repo).sort_by { |i| i['number'] }
receipt = ReceiptBuilder.new
receipt.align(:center).bold.text("Open issues: #{repo}\n").bold(false)
receipt.text("#{Time.now.strftime('%Y-%m-%d %H:%M')}\n")
receipt.align(:left).text(('-' * 32) + "\n")
if issues.empty?
receipt.text("(no open issues)\n")
else
issues.each do |issue|
receipt.bold.text("##{issue['number']} #{issue['title']}\n").bold(false)
labels = issue['labels'].map { |l| l['name'] }.join(', ')
receipt.text("#{labels}\n") unless labels.empty?
receipt.text(('-' * 32) + "\n")
end
end
receipt.text("Total: #{issues.size}\n")
receipt.feed(3).cut
receipt.print!(PRINTER_DEVICE_EPSON)
end
# Renders ZPL to a PNG via Labelary's public API for an inline preview.
# Fixed at the Datamax label size (4x6in @ 8dpmm ~= 203dpi) -- good enough
# for a thumbnail, not meant to be exact for other sizes.
@@ -253,16 +213,6 @@ get '/' do
erb :index
end
post '/issues/print' do
begin
print_issues('home-gitops')
flash 'Open issues sent to printer', 'success'
rescue => e
flash "Failed to print issues (#{e.message})", 'danger'
end
redirect '/'
end
get '/upload' do
erb :upload
end
-10
View File
@@ -9,13 +9,3 @@
</ul>
</div>
</div>
<div class="card mt-3">
<div class="card-body">
<h5 class="card-title">home-gitops open issues</h5>
<p class="card-text">Print a receipt-style summary of currently open issues.</p>
<form action="/issues/print" method="POST">
<button class="btn btn-secondary" type="submit">Print open issues</button>
</form>
</div>
</div>