Commit: 4dff92e
Parent: 7cee188

Print directly

Mårten Åsberg committed on 2026-10-31 at 19:08
src/main.rs +15 -6
diff --git a/src/main.rs b/src/main.rs
index 093098d..ab41e26 100644
@@ -4,6 +4,8 @@ mod receipt_printer_service;
mod typst_renderer;
use std::env::args;
use std::fs::File;
use std::io::Read;
use tonic::transport::Server;
use crate::proto::receipt_printer_server::ReceiptPrinterServer;
@@ -13,7 +15,7 @@ use crate::receipt_printer_service::ReceiptPrinterService;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let args: Vec<_> = args().skip(1).collect();
if args.len() != 1 {
if args.len() != 2 {
println!("Please provide the printer connection string as arguments");
return Ok(());
};
@@ -26,13 +28,20 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
};
let receipt_printer = ReceiptPrinter::init(printer_host.to_owned(), printer_port);
let mut file = File::open(&args[1])?;
let mut buffer = Vec::new();
file.read_to_end(&mut buffer)?;
let result = receipt_printer.print_image(buffer.into()).await;
if let Err(error) = result {
eprintln!("Error: {error}");
}
let receipt_printer_service = ReceiptPrinterService::new(receipt_printer);
// let receipt_printer_service = ReceiptPrinterService::new(receipt_printer);
Server::builder()
.add_service(ReceiptPrinterServer::new(receipt_printer_service))
.serve("0.0.0.0:50051".parse()?)
.await?;
// Server::builder()
// .add_service(ReceiptPrinterServer::new(receipt_printer_service))
// .serve("0.0.0.0:50051".parse()?)
// .await?;
Ok(())
}