From ec2f0724ce7ef74198a8dfd33510a3815f97342d Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 30 Jan 2020 15:23:18 -0800 Subject: [PATCH] add Quad version info to metadata (closes #53) --- quad/quad/checksum.rkt | 9 +++++++++ quad/quad/main.rkt | 6 ++++-- quad/quadwriter/render.rkt | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 quad/quad/checksum.rkt diff --git a/quad/quad/checksum.rkt b/quad/quad/checksum.rkt new file mode 100644 index 00000000..dd1510b3 --- /dev/null +++ b/quad/quad/checksum.rkt @@ -0,0 +1,9 @@ +#lang racket/base +(require racket/match pkg/path) +(provide pkg-checksum) + +(define (pkg-checksum [pkg "quad"] #:short [short? #false]) + (match (for/or ([scope (in-list '(user installation shared))]) + (hash-ref (read-pkgs-db scope) pkg #false)) + [(pkg-info _ checksum _) (if short? (substring checksum 0 7) checksum)] + [_ "checksum not found"])) \ No newline at end of file diff --git a/quad/quad/main.rkt b/quad/quad/main.rkt index ee855d25..4efa975a 100644 --- a/quad/quad/main.rkt +++ b/quad/quad/main.rkt @@ -11,7 +11,8 @@ "wrap.rkt" "position.rkt" "param.rkt" -"util.rkt") +"util.rkt" +"checksum.rkt") (provide (all-from-out "atomize.rkt" "quad.rkt" @@ -19,4 +20,5 @@ "wrap.rkt" "position.rkt" "param.rkt" -"util.rkt")) \ No newline at end of file +"util.rkt" +"checksum.rkt")) \ No newline at end of file diff --git a/quad/quadwriter/render.rkt b/quad/quadwriter/render.rkt index 763a2515..b158d26f 100644 --- a/quad/quadwriter/render.rkt +++ b/quad/quadwriter/render.rkt @@ -218,7 +218,7 @@ (define (setup-pdf-metadata! qs pdf) (define kv-dict (cons - (cons 'Creator (format "Racket ~a [Quad library]" (version))) + (cons 'Creator (format "Racket ~a [Quad ~a]" (version) (pkg-checksum "quad" #:short #true))) (for*/list ([(k pdf-k) (in-dict (list (cons :pdf-title 'Title) (cons :pdf-author 'Author) (cons :pdf-subject 'Subject)