Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add user-agent to OSM server requests + bump version #69

Merged
merged 1 commit into from
Aug 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Change Log
==========

[0.9.1] - 2024-02-23
* Fix error when a changeset has an empty host value (#66)

[0.9.0] - 2023-08-30
* Make OSM URL configurable + remove unknown iD check (#65)
* Exclude Yandex Panorama written in Russian (#64)

[0.8.6] - 2022-05-04
* Remove travis-ci
* Add tasks.mapwith.ai to iD allowed hosts list
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ It was designed to be used with `osmcha-django <https://github.com/osmcha/osmcha
but also can be used standalone or in other projects.

You can report issues or request new features in the the
`osmcha-frontend repository <https://github.com/mapbox/osmcha-frontend>`_.
`osmcha-frontend repository <https://github.com/osmcha/osmcha-frontend>`_.

.. image:: https://badge.fury.io/py/osmcha.svg
:target: http://badge.fury.io/py/osmcha
Expand Down
2 changes: 1 addition & 1 deletion osmcha/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# osmcha
__version__ = '0.9.1'
__version__ = '0.9.2'
25 changes: 11 additions & 14 deletions osmcha/changeset.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import yaml
import requests
from shapely.geometry import Polygon
from . import __version__ as version

from osmcha.warnings import Warnings

Expand All @@ -35,6 +36,7 @@
default='https://www.openstreetmap.org'
)
OSM_API = '{}/api/0.6'.format(OSM_SERVER_URL)
OSM_REQUEST_HEADERS = {'User-Agent': f'OSMCha osmcha {version}'}
# infosrmation that we get from changeset xml key
MANDATORY_TAGS = ['id', 'user', 'uid', 'bbox', 'created_at', 'comments_count']
# fields that will be removed on the Analyse.get_dict() method
Expand All @@ -55,11 +57,8 @@ def get_user_details(user_id):
"""
reasons = []
try:
url = '{osm_api}/user/{user_id}'.format(
osm_api=OSM_API,
user_id=requests.compat.quote(user_id)
)
user_request = requests.get(url)
url = f'{OSM_API}/user/{requests.compat.quote(user_id)}'
user_request = requests.get(url, headers=OSM_REQUEST_HEADERS)
if user_request.status_code == 200:
user_data = user_request.content
xml_data = ET.fromstring(user_data)[0]
Expand Down Expand Up @@ -101,11 +100,10 @@ def get_changeset(changeset):
Args:
changeset: the id of the changeset.
"""
url = '{}/changeset/{}/download'.format(
OSM_API,
changeset
url = f'{OSM_API}/changeset/{changeset}/download'
return ET.fromstring(
requests.get(url, headers=OSM_REQUEST_HEADERS).content
)
return ET.fromstring(requests.get(url).content)


def get_metadata(changeset):
Expand All @@ -115,11 +113,10 @@ def get_metadata(changeset):
Args:
changeset: the id of the changeset.
"""
url = '{}/changeset/{}'.format(
OSM_API,
changeset
)
return ET.fromstring(requests.get(url).content)[0]
url = f'{OSM_API}/changeset/{changeset}'
return ET.fromstring(
requests.get(url, headers=OSM_REQUEST_HEADERS).content
)[0]


def get_bounds(changeset):
Expand Down
Loading