[gnome-software] trivial: Also invalidate the cache when submitting reviews



commit fd3e833f83c03b37d6789b4f95d21a0946acd118
Author: Richard Hughes <richard hughsie com>
Date:   Thu Feb 11 17:33:01 2016 +0000

    trivial: Also invalidate the cache when submitting reviews
    
    This means you can see the review if you quit and then relaunch gnome-software.

 src/plugins/gs-plugin-xdg-app-reviews.c |   50 ++++++++++++++++--------------
 1 files changed, 27 insertions(+), 23 deletions(-)
---
diff --git a/src/plugins/gs-plugin-xdg-app-reviews.c b/src/plugins/gs-plugin-xdg-app-reviews.c
index 861a0d0..8ab9a5c 100644
--- a/src/plugins/gs-plugin-xdg-app-reviews.c
+++ b/src/plugins/gs-plugin-xdg-app-reviews.c
@@ -777,6 +777,29 @@ xdg_app_review_sanitize_version (const gchar *version)
 }
 
 /**
+ * gs_plugin_xdg_app_reviews_invalidate_cache:
+ */
+static gboolean
+gs_plugin_xdg_app_reviews_invalidate_cache (GsReview *review, GError **error)
+{
+       g_autofree gchar *cachedir = NULL;
+       g_autofree gchar *cachefn = NULL;
+       g_autoptr(GFile) cachefn_file = NULL;
+
+       /* look in the cache */
+       cachedir = gs_utils_get_cachedir ("reviews", error);
+       if (cachedir == NULL)
+               return FALSE;
+       cachefn = g_strdup_printf ("%s/%s.json",
+                                  cachedir,
+                                  gs_review_get_metadata_item (review, "app_id"));
+       cachefn_file = g_file_new_for_path (cachefn);
+       if (!g_file_query_exists (cachefn_file, NULL))
+               return TRUE;
+       return g_file_delete (cachefn_file, NULL, error);
+}
+
+/**
  * gs_plugin_review_submit:
  */
 gboolean
@@ -834,6 +857,10 @@ gs_plugin_review_submit (GsPlugin *plugin,
        json_generator_set_root (json_generator, json_root);
        data = json_generator_to_data (json_generator, NULL);
 
+       /* clear cache */
+       if (!gs_plugin_xdg_app_reviews_invalidate_cache (review, error))
+               return FALSE;
+
        /* POST */
        uri = g_strdup_printf ("%s/submit", plugin->priv->review_server);
        return gs_plugin_xdg_app_reviews_json_post (plugin->priv->session,
@@ -841,29 +868,6 @@ gs_plugin_review_submit (GsPlugin *plugin,
 }
 
 /**
- * gs_plugin_xdg_app_reviews_invalidate_cache:
- */
-static gboolean
-gs_plugin_xdg_app_reviews_invalidate_cache (GsReview *review, GError **error)
-{
-       g_autofree gchar *cachedir = NULL;
-       g_autofree gchar *cachefn = NULL;
-       g_autoptr(GFile) cachefn_file = NULL;
-
-       /* look in the cache */
-       cachedir = gs_utils_get_cachedir ("reviews", error);
-       if (cachedir == NULL)
-               return FALSE;
-       cachefn = g_strdup_printf ("%s/%s.json",
-                                  cachedir,
-                                  gs_review_get_metadata_item (review, "app_id"));
-       cachefn_file = g_file_new_for_path (cachefn);
-       if (!g_file_query_exists (cachefn_file, NULL))
-               return TRUE;
-       return g_file_delete (cachefn_file, NULL, error);
-}
-
-/**
  * gs_plugin_xdg_app_reviews_vote:
  */
 static gboolean


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