[QGIS-Developer] [Qgis-user] Python Implementation of QgsNetworkContentFetcher

Denis Rouzaud denis.rouzaud at gmail.com
Tue Nov 26 06:43:44 PST 2019


Hi,

Jumping late but we use the work from NAM Alessandro did in a couple of
locator filters.
https://github.com/opengisch/qgis-swiss-locator/blob/master/swiss_locator/core/network_access_manager.py

I believe I have done very very few adaptations/fixes to the original work
and it works like a charm.

I had in mind to bring this as is within QGIS core for some time. The main
point being for us the blocking request rather than authcfg.

Denis

Le mar. 26 nov. 2019 à 15:36, C Hamilton <adenaculture at gmail.com> a écrit :

> Thanks everyone. This gives me some good ideas. These are the possible
> solutions:
>
> 1. Write a python implementation of QgsNetworkContentFetcher or
> QgsBlockingNetworkRequest. With this I could look at the QGIS version and
> if it is 3.10 or greater import the core method; otherwise, import the
> python implementation.
> 2. Use the old Boundless implementation if it still works in QGIS 3.
> 3. Use QgsFileDownloader and save it as a temporary file before processing.
>
> Calvin
>
> On Tue, Nov 26, 2019 at 2:29 AM Alessandro Pasotti <apasotti at gmail.com>
> wrote:
>
>>
>>
>> On Tue, Nov 26, 2019 at 8:22 AM Richard Duivenvoorde <rdmailings at duif.net>
>> wrote:
>>
>>> On 26/11/2019 00.06, Nyall Dawson wrote:
>>>
>>> > There's not. But there's the ex-boundless "networkaccessmanager"
>>> > implementation that supports authcfg, which you can find at
>>> >
>>> https://github.com/north-road/qgis-redistricting-plugin/blob/master/redistrict/linz/networkaccessmanager.py
>>> > (and other projects -- as far as I'm aware there's no real upstream
>>> > for this... Alessandro?).
>>>
>>> I used this Boundless thingie for several plugins now (original source
>>> is now pointing/redirecting to planetlabs [0]).
>>>
>>
>> Yes, that's the "upstream" but I don't know if that one is maintained
>> anymore.
>>
>> Btw, there is also a specialized class for sync/async downloads that
>> supports authcfg:
>> https://qgis.org/api/classQgsFileDownloader.html#details
>>
>>
>>
>>>
>>> I think we already discussed several times that it would be good to
>>> incorporate this into a commons lib for QGIS. But if I'm correct the
>>> actual interface was not exactly what some wanted, and if I recall
>>> correct Nyall tried to pull this into c++ but hit some multithreading
>>> issues.
>>>
>>> But as Nyall says: I think this is a great lib to use in a plugin (also
>>> because it used the QgisNetwork-stuff, so you can receive the signals
>>> from it or log the precise urls, like we do in the QGISnetworklogger
>>> plugin [1]
>>>
>>> Regards,
>>>
>>> Richard Duivenvoorde
>>>
>>> [0]
>>>
>>> https://github.com/planetfederal/lib-qgis-commons/blob/master/qgiscommons2/network/networkaccessmanager.py
>>> [1] https://github.com/rduivenvoorde/qgisnetworklogger
>>> _______________________________________________
>>> Qgis-user mailing list
>>> Qgis-user at lists.osgeo.org
>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>
>>
>>
>> --
>> Alessandro Pasotti
>> w3:   www.itopen.it
>>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20191126/54afb791/attachment.html>


More information about the QGIS-Developer mailing list