guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: Add option to change language of lint messages fo


From: Christopher Baines
Subject: branch master updated: Add option to change language of lint messages for the revision page
Date: Sat, 04 Apr 2020 13:32:01 -0400

This is an automated email from the git hooks/post-receive script.

cbaines pushed a commit to branch master
in repository data-service.

The following commit(s) were added to refs/heads/master by this push:
     new e514471  Add option to change language of lint messages for the 
revision page
e514471 is described below

commit e514471fc9a541089aa406a19cceec3479926fa1
Author: Danjela lura <address@hidden>
AuthorDate: Sat Apr 4 05:02:11 2020 +0200

    Add option to change language of lint messages for the revision page
    
    Signed-off-by: Christopher Baines <address@hidden>
---
 guix-data-service/model/lint-warning-message.scm | 18 +++++++++++++++++-
 guix-data-service/model/lint-warning.scm         |  6 ++++--
 guix-data-service/web/revision/controller.scm    | 17 +++++++++++++++--
 guix-data-service/web/revision/html.scm          |  7 +++++++
 4 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/guix-data-service/model/lint-warning-message.scm 
b/guix-data-service/model/lint-warning-message.scm
index 20a5d68..c4a4490 100644
--- a/guix-data-service/model/lint-warning-message.scm
+++ b/guix-data-service/model/lint-warning-message.scm
@@ -21,7 +21,7 @@
   #:use-module (guix-data-service database)
   #:use-module (guix-data-service model utils)
   #:export (lint-warning-message-data->lint-warning-message-ids
-
+            lint-warning-message-locales-for-revision
             lint-warning-message-data->lint-warning-message-set-id))
 
 (define (lint-warning-message-data->lint-warning-message-ids conn
@@ -73,3 +73,19 @@
        (((id)) id)
        (()
         (insert-lint-warning-message-set conn lint-warning-message-ids))))))
+
+(define (lint-warning-message-locales-for-revision conn commit-hash)
+  (exec-query
+   conn
+   "SELECT DISTINCT lint_warning_messages.locale
+  from lint_warning_messages
+         INNER JOIN lint_warning_message_sets
+             ON lint_warning_messages.id = ANY 
(lint_warning_message_sets.message_ids)
+         INNER JOIN lint_warnings
+             ON lint_warning_message_sets.id = 
lint_warnings.lint_warning_message_set_id
+         INNER JOIN guix_revision_lint_warnings
+             ON lint_warnings.id = guix_revision_lint_warnings.lint_warning_id
+         INNER JOIN guix_revisions
+             ON guix_revision_lint_warnings.guix_revision_id = 
guix_revisions.id
+         WHERE guix_revisions.commit = $1"
+   (list commit-hash)))
diff --git a/guix-data-service/model/lint-warning.scm 
b/guix-data-service/model/lint-warning.scm
index 00428f1..b3942a7 100644
--- a/guix-data-service/model/lint-warning.scm
+++ b/guix-data-service/model/lint-warning.scm
@@ -53,6 +53,7 @@
 
 (define* (lint-warnings-for-guix-revision conn commit-hash
                                           #:key
+                                          locale
                                           package-query
                                           linters
                                           message-query)
@@ -72,8 +73,9 @@ INNER JOIN locations
 INNER JOIN lint_warning_message_sets
   ON lint_warning_message_sets.id = lint_warning_message_set_id
 INNER JOIN lint_warning_messages
-  ON lint_warning_messages.locale = 'en_US.utf8'
-  AND lint_warning_messages.id = ANY (lint_warning_message_sets.message_ids)
+  ON lint_warning_messages.locale = "
+                   "'" locale "'"
+" AND lint_warning_messages.id = ANY (lint_warning_message_sets.message_ids)
 "
                    (if linters
                        (string-append
diff --git a/guix-data-service/web/revision/controller.scm 
b/guix-data-service/web/revision/controller.scm
index 57156a4..d925f14 100644
--- a/guix-data-service/web/revision/controller.scm
+++ b/guix-data-service/web/revision/controller.scm
@@ -43,6 +43,7 @@
   #:use-module (guix-data-service model package-metadata)
   #:use-module (guix-data-service model lint-checker)
   #:use-module (guix-data-service model lint-warning)
+  #:use-module (guix-data-service model lint-warning-message)
   #:use-module (guix-data-service model guix-revision)
   #:use-module (guix-data-service model system-test)
   #:use-module (guix-data-service model nar)
@@ -269,7 +270,8 @@
          (let ((parsed-query-parameters
                 (parse-query-parameters
                  request
-                 `((package_query  ,identity)
+                 `((locale       ,identity #:default "en_US.utf8")
+                   (package_query  ,identity)
                    (linter         ,identity #:multi-value)
                    (message_query  ,identity)
                    (field          ,identity #:multi-value
@@ -916,6 +918,13 @@
                   name)))
          (lint-checkers-for-revision conn commit-hash)))
 
+  (define lint-warnings-locale-options
+    (map
+     (match-lambda
+       ((locale)
+        locale))
+     (lint-warning-message-locales-for-revision conn commit-hash)))
+
   (if (any-invalid-query-parameters? query-parameters)
       (case (most-appropriate-mime-type
              '(application/json text/html)
@@ -930,11 +939,13 @@
                                               '()
                                               '()
                                               lint-checker-options
+                                              lint-warnings-locale-options
                                               #:path-base path-base
                                               #:header-text header-text
                                               #:header-link header-link))))
 
-      (let* ((package-query (assq-ref query-parameters 'package_query))
+      (let* ((locale (assq-ref query-parameters 'locale))
+             (package-query (assq-ref query-parameters 'package_query))
              (linters (assq-ref query-parameters 'linter))
              (message-query (assq-ref query-parameters 'message_query))
              (fields (assq-ref query-parameters 'field))
@@ -943,6 +954,7 @@
                                                   commit-hash))
              (lint-warnings
               (lint-warnings-for-guix-revision conn commit-hash
+                                               #:locale locale
                                                #:package-query package-query
                                                #:linters linters
                                                #:message-query message-query)))
@@ -980,6 +992,7 @@
                                                 lint-warnings
                                                 git-repositories
                                                 lint-checker-options
+                                                lint-warnings-locale-options
                                                 #:path-base path-base
                                                 #:header-text header-text
                                                 #:header-link header-link)
diff --git a/guix-data-service/web/revision/html.scm 
b/guix-data-service/web/revision/html.scm
index b03d59e..9cc8d30 100644
--- a/guix-data-service/web/revision/html.scm
+++ b/guix-data-service/web/revision/html.scm
@@ -1454,6 +1454,7 @@ figure {
                                       lint-warnings
                                       git-repositories
                                       lint-checker-options
+                                      lint-warnings-locale-options
                                       #:key path-base
                                       header-text header-link)
   (define field-options
@@ -1488,6 +1489,12 @@ figure {
              (style "padding-bottom: 0")
              (class "form-horizontal"))
           ,(form-horizontal-control
+            "Locale" query-parameters
+            #:options lint-warnings-locale-options
+            #:allow-selecting-multiple-options #f
+            #:help-text
+            "Language")
+          ,(form-horizontal-control
             "Package query" query-parameters
             #:help-text
             "Lint warnings where the package name matches the query.")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]