manually in the plugin manager, then force a reload of the repositories
and don't rely on cached copies of the repo manifest
Otherwise it's not possible to force a refresh on certain types of
plugin repositories where it's not possible to modify the Cache-Control
attribute of the repo
Note that to avoid unnecessary server load, we still use cached
copies during startup and by default. It's only when a user explicitly
hits the "Reload all repositories" button that we force a non-cached
fetch.
Fixes#34351
Implementation of QEP 132:
Manage python cross-plugins dependencies
A new optional metadata entry will be added to metadata.txt: plugin_dependencies
The metadata will contain a comma separated list of plugin names, with a format similar
of the one used by pip, with optional version.
After a successful plugin installation, if the plugin has any unsatisfied dependency,
a dialog will pop-up with the list of unmet dependencies and the user
will be able to choose if she wants to install or upgrade the
dependencies or ignore them.
Example metadata:
plugin_dependencies = QuickMapServices==0.19.10.1,QuickWKT
Funded by GISCE-TI S.L.
And allow these to be retrieved from QgsNetworkRequestParameters.
This allows logging code to identify the area of code where a request
originated from, making debugging much easier!
Tag all requests created with appropriate class name and IDs
utils.findPlugins() checks for the existence of an __init__.py which
results in an attempt to enable a plugin without an __init__.py being
blocked with the only notification being a message in the Plugins log:
WARNING Plugin "<name>" is not compatible with this version of QGIS.
It will be disabled.
This is not very informative, especially because it is the same message
used for a metadata version mismatch.
Adding this check to Plugins.getInstalledPlugin(), which already
duplicates the metadata checks from utils.findPlugins(), results in the
plugin being marked as broken in the Plugins dialog.
* Remove deprecated Qgis::WKBType and API cleanup
Renames QgsWKBTypes to QgsWkbTypes
Replaces usage of the enums:
* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType
Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)
Renames some SSLxxx to SslXxx and URIxxx to UriXxx
* Fix build warnings and simplify type handling
* Add a fixer to rewrite imports
* The forgotten rebase conflictThe forgotten rebase conflicts
* QgsDataSourcURI > QgsDataSourceUri
* QgsWKBTypes > QgsWkbTypes
* Qgis.WKBGeom > QgsWkbTypes.Geom
* Further python fixes
* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions
* Fix tests
* Python 3 updates
* [travis] pull request caching cannot be disabled
so at least use it in r/w mode
* Fix python3 print in plugins
* pyqtwrappers update (add QtNetwork, QtXml, QtSql, QtTest, uic)
* 2to3 updates
* move QPyNullVariant/NULL to PyQt.QtCore
* add global unicode/basestring/long for Python3
* expand QtGui, QtCore module and star exports
* Qscintilla2
* replace Set import with set builtin