Hello community,
here is the log from the commit of package gnome-online-miners for
openSUSE:Factory checked in at 2016-09-11 00:52:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-online-miners (Old)
and /work/SRC/openSUSE:Factory/.gnome-online-miners.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-online-miners"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-online-miners/gnome-online-miners.changes
2016-03-29 14:37:37.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.gnome-online-miners.new/gnome-online-miners.changes
2016-09-11 00:52:30.000000000 +0200
@@ -1,0 +2,10 @@
+Fri Sep 2 10:44:38 UTC 2016 - [email protected]
+
+- Update to version 3.20.1 (boo#997057):
+ + gdata:
+ - Query Google Drive in smaller chunks instead of getting
+ everything all at once (bgo#770656).
+ - Too many nfo:Equipment objects are needlessly created
+ (bgo#770658).
+
+-------------------------------------------------------------------
Old:
----
gnome-online-miners-3.20.0.tar.xz
New:
----
gnome-online-miners-3.20.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-online-miners.spec ++++++
--- /var/tmp/diff_new_pack.x1lJby/_old 2016-09-11 00:52:31.000000000 +0200
+++ /var/tmp/diff_new_pack.x1lJby/_new 2016-09-11 00:52:31.000000000 +0200
@@ -18,7 +18,7 @@
Name: gnome-online-miners
-Version: 3.20.0
+Version: 3.20.1
Release: 0
Summary: Crawls through your online content
License: GPL-2.0+
++++++ gnome-online-miners-3.20.0.tar.xz -> gnome-online-miners-3.20.1.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/NEWS
new/gnome-online-miners-3.20.1/NEWS
--- old/gnome-online-miners-3.20.0/NEWS 2016-03-21 17:03:35.000000000 +0100
+++ new/gnome-online-miners-3.20.1/NEWS 2016-09-02 10:25:12.000000000 +0200
@@ -1,3 +1,12 @@
+Overview of changes in 3.20.1
+=============================
+
+* Bugs fixed:
+ 770656 gdata: Query Google Drive in smaller chunks instead of getting
+ everything all at once
+ 770658 gdata: Too many nfo:Equipment objects are needlessly created
+
+
Overview of changes in 3.20.0
=============================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/aclocal.m4
new/gnome-online-miners-3.20.1/aclocal.m4
--- old/gnome-online-miners-3.20.0/aclocal.m4 2016-03-21 17:06:04.000000000
+0100
+++ new/gnome-online-miners-3.20.1/aclocal.m4 2016-09-02 10:26:02.000000000
+0200
@@ -363,32 +363,63 @@
eliminate use of --enable-iso-cxx.
See:
http://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html#ax_compiler_flags]])
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <[email protected]>.
-#
-# This program 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29)
+dnl
+dnl Copyright © 2004 Scott James Remnant <[email protected]>.
+dnl Copyright © 2012-2015 Dan Nicholson <[email protected]>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running
autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but
]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -410,18 +441,19 @@
PKG_CONFIG=""
fi
fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+])dnl PKG_PROG_PKG_CONFIG
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
@@ -431,8 +463,10 @@
$3])dnl
fi])
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
@@ -444,10 +478,11 @@
else
pkg_failed=untried
fi[]dnl
-])# _PKG_CONFIG
+])dnl _PKG_CONFIG
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -455,19 +490,17 @@
else
_pkg_short_errors_supported=no
fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@@ -521,16 +554,40 @@
AC_MSG_RESULT([yes])
$3
fi[]dnl
-])# PKG_CHECK_MODULES
+])dnl PKG_CHECK_MODULES
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -541,16 +598,18 @@
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+])dnl PKG_INSTALLDIR
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -561,13 +620,15 @@
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+])dnl PKG_NOARCH_INSTALLDIR
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
@@ -576,7 +637,7 @@
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
+])dnl PKG_CHECK_VAR
# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/configure
new/gnome-online-miners-3.20.1/configure
--- old/gnome-online-miners-3.20.0/configure 2016-03-21 17:06:04.000000000
+0100
+++ new/gnome-online-miners-3.20.1/configure 2016-09-02 10:26:03.000000000
+0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNOME Online Miners 3.20.0.
+# Generated by GNU Autoconf 2.69 for GNOME Online Miners 3.20.1.
#
# Report bugs to
<https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-online-miners>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='GNOME Online Miners'
PACKAGE_TARNAME='gnome-online-miners'
-PACKAGE_VERSION='3.20.0'
-PACKAGE_STRING='GNOME Online Miners 3.20.0'
+PACKAGE_VERSION='3.20.1'
+PACKAGE_STRING='GNOME Online Miners 3.20.1'
PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-online-miners'
PACKAGE_URL='https://wiki.gnome.org/Projects/GnomeOnlineMiners'
@@ -1379,7 +1379,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNOME Online Miners 3.20.0 to adapt to many kinds of
systems.
+\`configure' configures GNOME Online Miners 3.20.1 to adapt to many kinds of
systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1450,7 +1450,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNOME Online Miners 3.20.0:";;
+ short | recursive ) echo "Configuration of GNOME Online Miners 3.20.1:";;
esac
cat <<\_ACEOF
@@ -1604,7 +1604,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNOME Online Miners configure 3.20.0
+GNOME Online Miners configure 3.20.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1882,7 +1882,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNOME Online Miners $as_me 3.20.0, which was
+It was created by GNOME Online Miners $as_me 3.20.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2753,7 +2753,7 @@
# Define the identity of the package.
PACKAGE='gnome-online-miners'
- VERSION='3.20.0'
+ VERSION='3.20.1'
cat >>confdefs.h <<_ACEOF
@@ -13974,7 +13974,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNOME Online Miners $as_me 3.20.0, which was
+This file was extended by GNOME Online Miners $as_me 3.20.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14041,7 +14041,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNOME Online Miners config.status 3.20.0
+GNOME Online Miners config.status 3.20.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/configure.ac
new/gnome-online-miners-3.20.1/configure.ac
--- old/gnome-online-miners-3.20.0/configure.ac 2016-03-21 17:03:17.000000000
+0100
+++ new/gnome-online-miners-3.20.1/configure.ac 2016-09-02 10:24:15.000000000
+0200
@@ -1,5 +1,5 @@
AC_INIT([GNOME Online Miners],
- [3.20.0],
+ [3.20.1],
[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-online-miners],
[gnome-online-miners],
[https://wiki.gnome.org/Projects/GnomeOnlineMiners])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/src/gom-gdata-miner.c
new/gnome-online-miners-3.20.1/src/gom-gdata-miner.c
--- old/gnome-online-miners-3.20.0/src/gom-gdata-miner.c 2016-03-21
17:03:00.000000000 +0100
+++ new/gnome-online-miners-3.20.1/src/gom-gdata-miner.c 2016-08-31
18:40:14.000000000 +0200
@@ -35,6 +35,8 @@
#define PREFIX_DRIVE "google:drive:"
#define PREFIX_PICASAWEB "google:picasaweb:"
+static const guint MAX_RESULTS = 50;
+
G_DEFINE_TYPE (GomGDataMiner, gom_gdata_miner, GOM_TYPE_MINER)
static gchar *
@@ -550,30 +552,11 @@
if (make != NULL || model != NULL)
{
- equipment_resource = gom_tracker_sparql_connection_ensure_resource
- (job->connection,
- job->cancellable, error,
- &resource_exists,
- job->datasource_urn, resource,
- "nfo:Equipment", NULL);
-
- if (*error != NULL)
- goto out;
-
- gom_tracker_sparql_connection_insert_or_replace_triple
- (job->connection,
- job->cancellable, error,
- job->datasource_urn, equipment_resource,
- "nfo:manufacturer", make);
-
- if (*error != NULL)
- goto out;
-
- gom_tracker_sparql_connection_insert_or_replace_triple
- (job->connection,
- job->cancellable, error,
- job->datasource_urn, equipment_resource,
- "nfo:model", model);
+ equipment_resource = gom_tracker_utils_ensure_equipment_resource
(job->connection,
+
job->cancellable,
+ error,
+ make,
+ model);
if (*error != NULL)
goto out;
@@ -809,34 +792,62 @@
GDataDocumentsService *service,
GError **error)
{
- GDataDocumentsQuery *query;
- GDataDocumentsFeed *feed;
+ GDataDocumentsQuery *query = NULL;
+ GDataDocumentsFeed *feed = NULL;
GList *entries, *l;
+ gboolean succeeded_once = FALSE;
- query = gdata_documents_query_new (NULL);
+ query = gdata_documents_query_new_with_limits (NULL, 1, MAX_RESULTS);
gdata_documents_query_set_show_folders (query, TRUE);
- feed = gdata_documents_service_query_documents
- (service, query,
- job->cancellable, NULL, NULL, error);
- g_object_unref (query);
+ while (TRUE)
+ {
+ GError *local_error;
- if (feed == NULL)
- return;
+ local_error = NULL;
+ feed = gdata_documents_service_query_documents
+ (service, query,
+ job->cancellable, NULL, NULL, &local_error);
+ if (local_error != NULL)
+ {
+ if (succeeded_once)
+ {
+ g_warning ("Unable to query: %s", local_error->message);
+ g_error_free (local_error);
+ }
+ else
+ {
+ g_propagate_error (error, local_error);
+ }
- entries = gdata_feed_get_entries (GDATA_FEED (feed));
- for (l = entries; l != NULL; l = l->next)
- {
- account_miner_job_process_entry (job, service, l->data, error);
+ break;
+ }
- if (*error != NULL)
+ succeeded_once = TRUE;
+
+ entries = gdata_feed_get_entries (GDATA_FEED (feed));
+ if (entries == NULL)
+ break;
+
+ for (l = entries; l != NULL; l = l->next)
{
- g_warning ("Unable to process entry %p: %s", l->data,
(*error)->message);
- g_clear_error (error);
+ local_error = NULL;
+ account_miner_job_process_entry (job, service, l->data,
&local_error);
+
+ if (local_error != NULL)
+ {
+ g_warning ("Unable to process entry %p: %s", l->data,
local_error->message);
+ g_error_free (local_error);
+ }
}
+
+ gdata_query_next_page (GDATA_QUERY (query));
+ g_clear_object (&feed);
}
- g_object_unref (feed);
+ out:
+ g_clear_object (&feed);
+ g_clear_object (&query);
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/src/gom-tracker.c
new/gnome-online-miners-3.20.1/src/gom-tracker.c
--- old/gnome-online-miners-3.20.0/src/gom-tracker.c 2014-12-09
16:44:41.000000000 +0100
+++ new/gnome-online-miners-3.20.1/src/gom-tracker.c 2016-08-31
18:40:14.000000000 +0200
@@ -393,6 +393,89 @@
return retval;
}
+gchar *
+gom_tracker_utils_ensure_equipment_resource (TrackerSparqlConnection
*connection,
+ GCancellable *cancellable,
+ GError **error,
+ const gchar *make,
+ const gchar *model)
+{
+ GError *local_error;
+ TrackerSparqlCursor *cursor = NULL;
+ gboolean res;
+ gchar *equip_uri = NULL;
+ gchar *insert = NULL;
+ gchar *retval = NULL;
+ gchar *select = NULL;
+
+ g_return_val_if_fail (TRACKER_SPARQL_IS_CONNECTION (connection), NULL);
+ g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable),
NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+ g_return_val_if_fail (make != NULL || model != NULL, NULL);
+
+ equip_uri = tracker_sparql_escape_uri_printf ("urn:equipment:%s:%s:",
+ make != NULL ? make : "",
+ model != NULL ? model : "");
+ select = g_strdup_printf ("SELECT <%s> WHERE { }", equip_uri);
+
+ local_error = NULL;
+ cursor = tracker_sparql_connection_query (connection, select, cancellable,
&local_error);
+ if (local_error != NULL)
+ {
+ g_propagate_error (error, local_error);
+ goto out;
+ }
+
+ local_error = NULL;
+ res = tracker_sparql_cursor_next (cursor, cancellable, &local_error);
+ if (local_error != NULL)
+ {
+ g_propagate_error (error, local_error);
+ goto out;
+ }
+
+ if (res)
+ {
+ const gchar *cursor_uri;
+
+ cursor_uri = tracker_sparql_cursor_get_string (cursor, 0, NULL);
+ if (g_strcmp0 (cursor_uri, equip_uri) == 0)
+ {
+ /* return the found resource */
+ retval = g_strdup (cursor_uri);
+ g_debug ("Found resource in the store: %s", retval);
+ goto out;
+ }
+ }
+
+ /* not found, create the resource */
+ insert = g_strdup_printf ("INSERT { <%s> a nfo:Equipment ; nfo:manufacturer
\"%s\" ; nfo:model \"%s\" }",
+ equip_uri,
+ make,
+ model);
+
+ local_error = NULL;
+ tracker_sparql_connection_update (connection, insert, G_PRIORITY_DEFAULT,
cancellable, &local_error);
+ if (local_error != NULL)
+ {
+ g_propagate_error (error, local_error);
+ goto out;
+ }
+
+ retval = equip_uri;
+ equip_uri = NULL;
+
+ g_debug ("Created a new equipment resource: %s", retval);
+
+ out:
+ g_clear_object (&cursor);
+ g_free (equip_uri);
+ g_free (insert);
+ g_free (select);
+
+ return retval;
+}
+
void
gom_tracker_update_datasource (TrackerSparqlConnection *connection,
const gchar *datasource_urn,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-online-miners-3.20.0/src/gom-tracker.h
new/gnome-online-miners-3.20.1/src/gom-tracker.h
--- old/gnome-online-miners-3.20.0/src/gom-tracker.h 2014-05-27
14:54:09.000000000 +0200
+++ new/gnome-online-miners-3.20.1/src/gom-tracker.h 2016-08-31
18:40:14.000000000 +0200
@@ -66,6 +66,12 @@
const gchar *email,
const gchar *fullname);
+gchar *gom_tracker_utils_ensure_equipment_resource (TrackerSparqlConnection
*connection,
+ GCancellable *cancellable,
+ GError **error,
+ const gchar *make,
+ const gchar *model);
+
void gom_tracker_update_datasource (TrackerSparqlConnection *connection,
const gchar *datasource_urn,
gboolean resource_exists,