Handle errors during remote repository update more gracefully
An temporary error like this fails the entire update:
File "/home/user/vcs/repomaker/maker/tasks.py", line 51, in update_remote_repo
remote_repo.update_index()
File "/home/user/vcs/repomaker/maker/models/repository.py", line 372, in update_index
self._update(repo_index, update_apps) # also saves at the end
File "/home/user/vcs/repomaker/maker/models/repository.py", line 410, in _update
self._update_apps(repo_index['apps'], repo_index['packages'])
File "/home/user/vcs/repomaker/maker/models/repository.py", line 442, in _update_apps
changed = app_obj.update_from_json(app) # this also saves the app_obj
File "/home/user/vcs/repomaker/maker/models/app.py", line 258, in update_from_json
self._update_icon(app['icon'])
File "/home/user/vcs/repomaker/maker/models/app.py", line 273, in _update_icon
icon, etag = net.http_get(url, self.icon_etag)
File "/home/user/.local/lib/python3.5/site-packages/fdroidserver/net.py", line 61, in http_get
r.raise_for_status()
File "/home/user/.local/lib/python3.5/site-packages/requests/models.py", line 929, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 502 Server Error: Proxy Error for url: https://f-droid.org/repo/icons-640/com.sam.hex.16.png
Since the ETag and update timestamp have been set already, the next update doesn't continue where the last one left off.