If `urls` is `'www.example.com'` then it's a very bad variable name. How about this:

```python
if callable(site_url):
    urls = site_url()
else:
    urls = site_url
if not isinstance(urls, (list, tuple)):
    urls = [urls]
```

That way you can be very certain it is an iterable at the very end.