From 9f35a1620e8a68479b7ec8469aa91d83c7597929 Mon Sep 17 00:00:00 2001 From: Javier Sagredo Date: Wed, 24 Jun 2026 00:54:02 +0200 Subject: [PATCH] Reorganize modules --- clients.pl | 9 ++++----- config.pl | 6 +++--- gemini_uri.pl => dcgs/gemini_uri.pl | 4 ++-- ip.pl => dcgs/ip.pl | 2 +- response.pl => dcgs/response.pl | 0 request.pl | 4 ++-- serve.pl | 12 ++++++------ sula.pl | 12 ++++++------ mime.pl => sys/mime.pl | 4 ++-- cert.pl => sys/tls_certs.pl | 14 +++++++------- banner.pl => ui/banner.pl | 4 ++-- banner.txt => ui/banner.txt | 0 log.pl => ui/log.pl | 9 +++++++-- 13 files changed, 42 insertions(+), 38 deletions(-) rename gemini_uri.pl => dcgs/gemini_uri.pl (99%) rename ip.pl => dcgs/ip.pl (100%) rename response.pl => dcgs/response.pl (100%) rename mime.pl => sys/mime.pl (98%) rename cert.pl => sys/tls_certs.pl (95%) rename banner.pl => ui/banner.pl (89%) rename banner.txt => ui/banner.txt (100%) rename log.pl => ui/log.pl (92%) diff --git a/clients.pl b/clients.pl index df66a3f..9ace249 100644 --- a/clients.pl +++ b/clients.pl @@ -1,9 +1,9 @@ :- module(clients, [save_client/1, load_clients/0]). -:- use_module(log). :- use_module(library(files)). -:- use_module(library(pio)). :- use_module(library(iso_ext)). +:- use_module(library(pio)). +:- use_module(ui/log). :- dynamic(known_client/1). @@ -16,9 +16,8 @@ load_clients :- close(S) ), error(existence_error(source_sink,"clients_db.pl"),open/4), - (open("clients_db.pl", write, S), - close(S)) - ). + ( open("clients_db.pl", write, S), close(S) ) + ). read_clients(Stream) :- read_term(Stream, Term, []), diff --git a/config.pl b/config.pl index d11e13f..e8c7372 100644 --- a/config.pl +++ b/config.pl @@ -7,13 +7,13 @@ hostname/1 ]). -:- use_module(library(os)). -:- use_module(library(iso_ext)). :- use_module(library(dcgs)). :- use_module(library(files)). +:- use_module(library(iso_ext)). :- use_module(library(lists)). +:- use_module(library(os)). :- use_module(library(si)). -:- use_module(log). +:- use_module(ui/log). :- dynamic(cfg/2). diff --git a/gemini_uri.pl b/dcgs/gemini_uri.pl similarity index 99% rename from gemini_uri.pl rename to dcgs/gemini_uri.pl index 6a03fd1..2f5f547 100644 --- a/gemini_uri.pl +++ b/dcgs/gemini_uri.pl @@ -1,9 +1,9 @@ :- module(gemini_uri, [gemini_uri//4]). +:- use_module(ip). +:- use_module(library(charsio)). :- use_module(library(clpz)). :- use_module(library(dcgs)). -:- use_module(library(charsio)). -:- use_module('./ip'). gemini_uri(Host, Port, Path, Query) --> % scheme MUST be gemini diff --git a/ip.pl b/dcgs/ip.pl similarity index 100% rename from ip.pl rename to dcgs/ip.pl index c02406a..2ad8f7b 100644 --- a/ip.pl +++ b/dcgs/ip.pl @@ -1,8 +1,8 @@ :- module(ip, [ipv6_address//0, ipv4_address//0, ip_address//0]). -:- use_module(library(dcgs)). :- use_module(library(charsio)). :- use_module(library(clpz)). +:- use_module(library(dcgs)). ip_address --> ipv4_address ; ipv6_address. diff --git a/response.pl b/dcgs/response.pl similarity index 100% rename from response.pl rename to dcgs/response.pl diff --git a/request.pl b/request.pl index 00e1d90..d87c976 100644 --- a/request.pl +++ b/request.pl @@ -1,9 +1,9 @@ :- module(request, [read_request/3]). -:- use_module(gemini_uri). +:- use_module(dcgs/gemini_uri). :- use_module(library(clpz)). :- use_module(library(dcgs)). -:- use_module(log). +:- use_module(ui/log). %% read_request(+Stream, -Path, -Query) % diff --git a/serve.pl b/serve.pl index bb6df47..be0c69e 100644 --- a/serve.pl +++ b/serve.pl @@ -1,17 +1,17 @@ :- module(serve, [serve/4]). -:- use_module(library(dcgs)). :- use_module(config). +:- use_module(dcgs/response). +:- use_module(library(charsio)). +:- use_module(library(dcgs)). +:- use_module(library(debug)). :- use_module(library(files)). :- use_module(library(iso_ext)). :- use_module(library(lists)). :- use_module(library(pio)). -:- use_module(library(charsio)). :- use_module(library(sockets)). -:- use_module(library(debug)). -:- use_module(log). -:- use_module(mime). -:- use_module(response). +:- use_module(sys/mime). +:- use_module(ui/log). %% serve(+Stream, +Root, +Path, -Query) % diff --git a/sula.pl b/sula.pl index 086416f..29f3e25 100755 --- a/sula.pl +++ b/sula.pl @@ -12,10 +12,9 @@ exit 1 :- module(sula, [run/0]). -:- use_module(cert). :- use_module(clients). -:- use_module(banner). :- use_module(config). +:- use_module(dcgs/response). :- use_module(library(charsio)). :- use_module(library(clpz)). :- use_module(library(dcgs)). @@ -25,11 +24,12 @@ exit 1 :- use_module(library(pio)). :- use_module(library(sockets)). :- use_module(library(tls)). -:- use_module(log). -:- use_module(mime). -:- use_module(serve). :- use_module(request). -:- use_module(response). +:- use_module(serve). +:- use_module(sys/mime). +:- use_module(sys/tls_certs). +:- use_module(ui/banner). +:- use_module(ui/log). run :- once(display_banner), diff --git a/mime.pl b/sys/mime.pl similarity index 98% rename from mime.pl rename to sys/mime.pl index ba378af..37935a6 100644 --- a/mime.pl +++ b/sys/mime.pl @@ -1,9 +1,9 @@ :- module(mime, [load_mime/0, mime/2, guess_mime/2]). -:- use_module(library(pio)). :- use_module(library(dcgs)). :- use_module(library(lists)). -:- use_module(log). +:- use_module(library(pio)). +:- use_module('../ui/log'). :- dynamic(mime/2). diff --git a/cert.pl b/sys/tls_certs.pl similarity index 95% rename from cert.pl rename to sys/tls_certs.pl index 1963a85..8cf4304 100644 --- a/cert.pl +++ b/sys/tls_certs.pl @@ -1,15 +1,15 @@ -:- module(cert, [load_certificate/1, with_tls_connection/3]). +:- module(tls_certs, [load_certificate/1, with_tls_connection/3]). -:- use_module(config). +:- use_module('../config'). :- use_module(library(dcgs)). -:- use_module(library(tls)). -:- use_module(library(process)). +:- use_module(library(debug)). :- use_module(library(files)). -:- use_module(library(lists)). :- use_module(library(iso_ext)). -:- use_module(library(debug)). +:- use_module(library(lists)). :- use_module(library(pio)). -:- use_module(log). +:- use_module(library(process)). +:- use_module(library(tls)). +:- use_module('../ui/log'). load_certificate(Context) :- load_existing_certificate(Context) diff --git a/banner.pl b/ui/banner.pl similarity index 89% rename from banner.pl rename to ui/banner.pl index 2dd689b..6b718c6 100644 --- a/banner.pl +++ b/ui/banner.pl @@ -1,13 +1,13 @@ :- module(banner, [display_banner/0]). :- use_module(library(dcgs)). -:- use_module(library(lists)). :- use_module(library(lambda)). +:- use_module(library(lists)). :- use_module(library(pio)). :- use_module(log). display_banner :- - phrase_from_file(lines(Ls), "banner.txt"), + phrase_from_file(lines(Ls), "ui/banner.txt"), maplist(\S^log_msg("system", "~s~n", [S]), Ls). lines([]) --> call(eos), !. diff --git a/banner.txt b/ui/banner.txt similarity index 100% rename from banner.txt rename to ui/banner.txt diff --git a/log.pl b/ui/log.pl similarity index 92% rename from log.pl rename to ui/log.pl index 42d3c24..84eab5e 100644 --- a/log.pl +++ b/ui/log.pl @@ -1,12 +1,14 @@ :- module(log, [log_msg/3]). +:- use_module(library(clpz)). :- use_module(library(crypto)). :- use_module(library(format)). -:- use_module(library(clpz)). :- use_module(library(lists)). +% reserved for errors +red("\x1b\[31m"). + colors([ - "\x1b\[31m", % Red "\x1b\[32m", % Green "\x1b\[33m", % Yellow "\x1b\[34m", % Blue @@ -20,6 +22,9 @@ colors([ "\x1b\[96m" % Light Cyan ]). +scope_color("error", Red) :- + red(Red). + scope_color(ScopeName, ColorANSI) :- crypto_data_hash(ScopeName, HashHex, [algorithm(sha256)]), -- 2.54.0