Skip to content

Commit e0f3795

Browse files
authored
Merge pull request #6 from uw-it-aca/develop
Develop
2 parents 30d703d + f111d52 commit e0f3795

File tree

7 files changed

+41
-16
lines changed

7 files changed

+41
-16
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ python:
77
- '3.6'
88
before_script:
99
- pip install -e .
10-
- pip install pep8
10+
- pip install pycodestyle
1111
- pip install nose2
1212
- pip install coverage
1313
- pip install commonconf
1414
- pip install python-coveralls
1515
script:
16-
- pep8 uw_r25/ --exclude=uw_r25/tests
16+
- pycodestyle uw_r25/ --exclude=uw_r25/tests
1717
- coverage run --source=uw_r25 uw_r25/test.py -v
1818
after_script:
1919
- coveralls

uw_r25/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ def get_resource(url):
1212
Issue a GET request to R25 with the given url
1313
and return a response as an etree element.
1414
"""
15+
16+
instance = R25_DAO().get_service_setting('INSTANCE')
17+
if instance is not None:
18+
url = "/r25ws/wrd/%s/run/%s" % (instance, url)
19+
else:
20+
url = "/r25ws/servlet/wrd/run/%s" % url
21+
1522
response = R25_DAO().getURL(url, {"Accept": "text/xml"})
1623
if response.status != 200:
1724
raise DataFailureException(url, response.status, response.data)

uw_r25/dao.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,8 @@ def service_name(self):
1111

1212
def service_mock_paths(self):
1313
return [abspath(os.path.join(dirname(__file__), "resources"))]
14+
15+
def _custom_headers(self, method, url, headers, body):
16+
basic_auth = self.get_service_setting('BASIC_AUTH')
17+
if basic_auth is not None:
18+
return {"Authorization": "Basic %s" % basic_auth}

uw_r25/events.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
from uw_r25.reservations import reservations_from_xml
44
try:
55
from urllib import urlencode, quote
6-
except:
6+
except ImportError:
77
from urllib.parse import urlencode, quote
88

99

1010
def get_event_by_id(event_id):
11-
url = "/r25ws/servlet/wrd/run/event.xml?event_id=%s" % event_id
11+
url = "event.xml?event_id=%s" % event_id
1212
return events_from_xml(get_resource(url))[0]
1313

1414

1515
def get_event_by_alien_id(alien_id):
16-
url = "/r25ws/servlet/wrd/run/event.xml?alien_uid=%s" % quote(alien_id)
16+
url = "event.xml?alien_uid=%s" % quote(alien_id)
1717
event = events_from_xml(get_resource(url))
1818
return event[0] if event else None
1919

@@ -24,7 +24,7 @@ def get_events(**kwargs):
2424
Supported kwargs are listed at
2525
http://knowledge25.collegenet.com/display/WSW/events.xml
2626
"""
27-
url = "/r25ws/servlet/wrd/run/events.xml"
27+
url = "events.xml"
2828
if len(kwargs):
2929
url += "?%s" % urlencode(kwargs)
3030

uw_r25/reservations.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
from uw_r25.spaces import space_reservation_from_xml
44
try:
55
from urllib import urlencode
6-
except:
6+
except ImportError:
77
from urllib.parse import urlencode
88

99

1010
def get_reservation_by_id(reservation_id):
11-
url = "/r25ws/servlet/wrd/run/reservation.xml?rsrv_id=%s" % reservation_id
11+
url = "reservation.xml?rsrv_id=%s" % reservation_id
1212
return reservations_from_xml(get_resource(url))[0]
1313

1414

@@ -19,7 +19,7 @@ def get_reservations(**kwargs):
1919
http://knowledge25.collegenet.com/display/WSW/reservations.xml
2020
"""
2121
kwargs["scope"] = "extended"
22-
url = "/r25ws/servlet/wrd/run/reservations.xml"
22+
url = "reservations.xml"
2323
if len(kwargs):
2424
url += "?%s" % urlencode(kwargs)
2525

@@ -29,7 +29,7 @@ def get_reservations(**kwargs):
2929
def reservations_from_xml(tree):
3030
try:
3131
profile_name = tree.xpath("r25:profile_name", namespaces=nsmap)[0].text
32-
except:
32+
except Exception:
3333
profile_name = None
3434

3535
reservations = []
@@ -68,9 +68,8 @@ def reservations_from_xml(tree):
6868
namespaces=nsmap)[0].text
6969
try:
7070
anode = cnode.xpath("r25:address", namespaces=nsmap)[0]
71-
reservation.contact_email = anode.xpath("r25:email",
72-
namespaces=nsmap)
73-
[0].text
71+
reservation.contact_email = anode.xpath(
72+
"r25:email", namespaces=nsmap)[0].text
7473
except IndexError:
7574
reservation.contact_email = None
7675

uw_r25/spaces.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
from uw_r25 import nsmap, get_resource
33
try:
44
from urllib import urlencode
5-
except:
5+
except ImportError:
66
from urllib.parse import urlencode
77

88

99
def get_space_by_id(space_id):
10-
url = "/r25ws/servlet/wrd/run/space.xml?space_id=%s" % space_id
10+
url = "space.xml?space_id=%s" % space_id
1111
return spaces_from_xml(get_resource(url))[0]
1212

1313

@@ -17,7 +17,7 @@ def get_spaces(**kwargs):
1717
Supported kwargs are listed at
1818
http://knowledge25.collegenet.com/display/WSW/spaces.xml
1919
"""
20-
url = "/r25ws/servlet/wrd/run/spaces.xml"
20+
url = "spaces.xml"
2121
if len(kwargs):
2222
url += "?%s" % urlencode(kwargs)
2323

uw_r25/tests/test_dao.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from unittest import TestCase
2+
from uw_r25.dao import R25_DAO
3+
from commonconf import override_settings
4+
5+
6+
class R25TestDao(TestCase):
7+
8+
def test_custom_headers(self):
9+
self.assertFalse(R25_DAO()._custom_headers('GET', '/', {}, None))
10+
with override_settings(RESTCLIENTS_R25_BASIC_AUTH='b64here'):
11+
self.assertEquals(
12+
R25_DAO()._custom_headers('GET', '/', {}, None),
13+
{'Authorization': 'Basic b64here'}
14+
)

0 commit comments

Comments
 (0)