Skip to content

Commit 1b9bb11

Browse files
author
Konrad Cempura
committed
Python 2.7: Remove Yarl from requirements
1 parent 64ac723 commit 1b9bb11

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

openapi_core/validation/util.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
"""OpenAPI core validation util module"""
2-
from yarl import URL
2+
try:
3+
from urllib.parse import urlparse
4+
5+
except ImportError:
6+
from urlparse import urlparse
7+
8+
9+
def is_absolute(url):
10+
return url.startswith('//') or '://' in url
11+
12+
13+
def path_qs(url):
14+
pr = urlparse(url)
15+
result = pr.path
16+
if pr.query:
17+
result += '?' + pr.query
18+
return result
319

420

521
def get_operation_pattern(server_url, request_url_pattern):
622
"""Return an updated request URL pattern with the server URL removed."""
723
if server_url[-1] == "/":
824
# operations have to start with a slash, so do not remove it
925
server_url = server_url[:-1]
10-
if URL(server_url).is_absolute():
26+
if is_absolute(server_url):
1127
return request_url_pattern.replace(server_url, "", 1)
12-
return URL(request_url_pattern).path_qs.replace(server_url, "", 1)
28+
return path_qs(request_url_pattern).replace(server_url, "", 1)

requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
openapi-spec-validator
22
six
3-
yarl<1.2.0

0 commit comments

Comments
 (0)