def subscribe_multi_by_url(self, urls): """Subscribe the user to all the podcasts at the given feed urls. urls should be an iterable of strings.""" podcasts = Podcast.get_multi_by_url(urls) already_fetched = [] to_fetch = [] for url in urls: if url in podcasts: already_fetched.append(podcasts[url]) else: to_fetch.append(url) if already_fetched: self.subscribe_multi(already_fetched) res = None success = None if to_fetch: id = crawler.fetch(to_fetch, subscribe=self).id return SubscribeResult(id=id) else: return SubscribeResult(success=True)