#!@GUILE@ --no-auto-compile -*- scheme -*- -*- geiser-scheme-implementation: guile -*- !# ;;; Guix Data Service -- Information about Guix over time ;;; Copyright © 2019 Christopher Baines ;;; ;;; This file is part of guix-data-service. ;;; ;;; guix-data-service is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; guix-data-service is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;; General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with the guix-data-service. If not, see . (use-modules (srfi srfi-1) (srfi srfi-37) (ice-9 textual-ports) (ice-9 binary-ports) (rnrs bytevectors) (squee) (email email) (knots) (guix-data-service database) (guix-data-service branch-updated-emails)) (with-postgresql-connection "process-branch-updated-email" (lambda (conn) (let* ((email-bytevector (get-bytevector-all (current-input-port)))) (with-exception-handler (lambda _ #f) (lambda () (with-exception-handler (lambda (exn) (display "\nerror: while parsing email\n" (current-error-port)) (print-backtrace-and-exception/knots exn) (raise-exception exn)) (lambda () (enqueue-job-for-email conn (parse-email email-bytevector))))) #:unwind? #t))))