34 lines
898 B
Python
34 lines
898 B
Python
|
#!/usr/bin/env python
|
||
|
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
"""Selects the appropriate scraper for a given browser and version."""
|
||
|
|
||
|
import types
|
||
|
|
||
|
# TODO(jhaas): unify all optional scraper parameters into kwargs
|
||
|
|
||
|
def GetScraper(browser):
|
||
|
"""Given a browser and an optional version, returns the scraper module.
|
||
|
|
||
|
Args:
|
||
|
browser: either a string (browser name) or a tuple (name, version)
|
||
|
|
||
|
Returns:
|
||
|
module
|
||
|
"""
|
||
|
|
||
|
if type(browser) == types.StringType: browser = (browser, None)
|
||
|
|
||
|
package = __import__(browser[0], globals(), locals(), [''])
|
||
|
module = package.GetScraper(browser[1])
|
||
|
if browser[1] is not None: module.version = browser[1]
|
||
|
|
||
|
return module
|
||
|
|
||
|
|
||
|
# if invoked rather than imported, do some tests
|
||
|
if __name__ == "__main__":
|
||
|
print GetScraper("IE")
|