Skip to content

Commit 0ddd814

Browse files
committed
Allow original_url to behave as an attribute like method already does. Remove the original_url from the test to avoid confusion.
Note: working with __getattr__ and __setattr__ this way is problematic. Those attributes exist on the Url class, not AttrDict. So while this is an improvement, it's perpetuating bad behavior.
1 parent b8325fc commit 0ddd814

2 files changed

Lines changed: 7 additions & 8 deletions

File tree

embedly/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ def __init__(self, data=None):
2727
self.data = data
2828

2929
def __getattr__(self, name):
30-
if name in ['data', 'method']:
30+
if name in ['data', 'method', 'original_url']:
3131
return object.__getattr__(self, name)
3232
try:
3333
return self.data[name]
34-
except KeyError as e:
34+
except KeyError:
3535
return None
3636

3737
def __setattr__(self, name, value):
38-
if name in ['data', 'method']:
38+
if name in ['data', 'method', 'original_url']:
3939
object.__setattr__(self, name, value)
4040
else:
4141
self.data[name] = value

embedly/tests.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ def test_model(self):
2222
'provider_url': 'http://www.google.com/',
2323
'safe': True,
2424
'description': 'Google',
25-
'original_url': 'http://google.com/',
2625
'url': 'http://www.google.com/',
2726
'type': 'html',
2827
'object': {},
@@ -43,10 +42,10 @@ def test_model(self):
4342

4443
obj = Url(data, 'preview', 'http://google.com/')
4544

46-
self.assertTrue(len(obj) is 17)
47-
self.assertTrue(len(obj.values()) is 17)
48-
self.assertTrue(len(obj.keys()) is 17)
49-
self.assertTrue(len(obj.items()) is 17)
45+
self.assertTrue(len(obj) is 16)
46+
self.assertTrue(len(obj.values()) is 16)
47+
self.assertTrue(len(obj.keys()) is 16)
48+
self.assertTrue(len(obj.items()) is 16)
5049

5150
self.assertTrue('type' in obj.keys())
5251
self.assertTrue('html' in obj.values())

0 commit comments

Comments
 (0)