From 49f15cc0a9f723639a82ca3016ee293632fed3f7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 11 Aug 2013 11:01:41 -0600 Subject: [PATCH] official catalog server: allow package addition via update API --- pkgs/plt-services/meta/pkg-index/official/main.rkt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/plt-services/meta/pkg-index/official/main.rkt b/pkgs/plt-services/meta/pkg-index/official/main.rkt index c7af4c6788..85c2b2cd71 100644 --- a/pkgs/plt-services/meta/pkg-index/official/main.rkt +++ b/pkgs/plt-services/meta/pkg-index/official/main.rkt @@ -132,9 +132,14 @@ (response/sexpr #f)] [else (for ([(p more-pi) (in-hash pis)]) - (define pi (package-info p)) + (define pi (if (package-exists? p) + (package-info p) + #hash())) (define new-pi (hash-deep-merge pi more-pi)) - (package-info-set! p new-pi) + (define updated-pi (let ([now (current-seconds)]) + (for/fold ([pi new-pi]) ([k (in-list '(last-edit last-checked last-updated))]) + (hash-set pi k now)))) + (package-info-set! p updated-pi) (thread (λ () (update-checksum #t p)))) (response/sexpr #t)]))