[jenkinscat-docs] master: Front page should be generated from cached data. (d2b2237)

immanetize at fedoraproject.org immanetize at fedoraproject.org
Sat Feb 7 00:24:01 UTC 2015


Repository : http://git.fedorahosted.org/cgit/jenkinscat-docs.git

On branch  : master

>---------------------------------------------------------------

commit d2b2237b2238a3e4b37444b4aff21670c5502059
Author: Pavel Tisnovsky <ptisnovs at redhat.com>
Date:   Fri Feb 6 09:50:17 2015 +0100

    Front page should be generated from cached data.


>---------------------------------------------------------------

 ChangeLog                 |    5 +++++
 src/jenkinscat/server.clj |   19 +++++++++++++------
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 97c3dad..878258b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 2015-02-06  Pavel Tisnovsky  <ptisnovs at redhat.com>
 
 	* src/jenkinscat/server.clj:
+	Front page should be generated from cached data.
+
+2015-02-06  Pavel Tisnovsky  <ptisnovs at redhat.com>
+
+	* src/jenkinscat/server.clj:
 	Configuration page handler.
 
 2015-02-05  Pavel Tisnovsky  <ptisnovs at redhat.com>
diff --git a/src/jenkinscat/server.clj b/src/jenkinscat/server.clj
index 5099a98..e819b6b 100644
--- a/src/jenkinscat/server.clj
+++ b/src/jenkinscat/server.clj
@@ -618,9 +618,16 @@
     (let [;data-json (json/read-str (slurp "www/data.json"))
           products  (get-products)
           output-data   (generate-output-data products books/books)
-    ]
-        ;(println outdata)
-        (generate-response-json (render-json-data output-data))))
+          json-data     (render-json-data output-data)]
+        (spit "data.json" json-data)
+        (generate-response-json json-data)))
+
+(defn json-data-handler-cached
+    "Dynamically generate JSON data on demand and send them back to client/browser."
+    [uri params session]
+    ; make sure books are read even in devel mode
+    (read-books-if-not-loaded)
+    (generate-response-json (slurp "data.json")))
 
 (defn start-build-handler-
     "Just a simple redirect to the index page."
@@ -728,8 +735,8 @@
 (defn read-job-configuration
     [job-name]
     (let [updated-job-name (update-job-name-for-reading-configuration job-name)
-          config-as-xml (xml-seq (xml/parse (str config/json-url "job/" updated-job-name "/config.xml")))
-          config (get-job-config-from-xml updated-job-name config-as-xml)]
+          config-as-xml    (xml-seq (xml/parse (str config/json-url "job/" updated-job-name "/config.xml")))
+          config           (get-job-config-from-xml updated-job-name config-as-xml)]
     [job-name config]))
 
 (defn read-job-configurations
@@ -1189,7 +1196,7 @@
 
 (def action-handlers
     "Map of action handlers, ie. pages generated dynamically by this tool."
-    {"/data.json"                json-data-handler 
+    {"/data.json"                json-data-handler-cached
      "/start-build"              start-build-handler
      "/statistics"               statistics-handler
      "/job-configurations"       job-configurations-handler



More information about the docs-commits mailing list