Mercurial > projects > package-update-indicator
view docbook-update-source-data.xsl @ 31:9905d4ae351c
Fix continuos loop of update checks if the refresh cache interval is 0
If the interval for refreshing the cache is set to 0 each check for available
updates refreshes the cache and causes an "updates-changed" signal to be
emitted after a short delay which in turn triggers another check for updates.
The "updates-changed" signal does not actually mean that the number of
available updates has changed but rather that the package metadata cache has
been invalidated. Fix this by blocking the "updates-changed" signal handler
from when a periodic or irregular check is started until 4 seconds after it has
finished. This is necessary since the signal will be delivered with a delay
after a transaction has been completed.
In addition prevent checks for updates triggered by the "updates-changed"
signal from refreshing the cache even the interval is 0 since the emission of
the signal implies that the cache has just been refreshed.
author | Guido Berhoerster <guido+pui@berhoerster.name> |
---|---|
date | Thu, 29 Aug 2019 13:48:47 +0200 |
parents | 6884bb8130ca |
children |
line wrap: on
line source
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:db="http://docbook.org/ns/docbook" xmlns="http://docbook.org/ns/docbook" exclude-result-prefixes="xsl db"> <xsl:param name="package" select="''" /> <xsl:param name="version" select="''" /> <xsl:template match="db:refmeta/db:refmiscinfo[@class = 'source' or @class = 'version']"/> <xsl:template match="db:refmeta"> <xsl:copy> <xsl:apply-templates/> <refmiscinfo class="source"><xsl:value-of select="$package"/></refmiscinfo> <refmiscinfo class="version"><xsl:value-of select="$version"/></refmiscinfo> </xsl:copy> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>