34 lines
898 B
Python
Executable File
34 lines
898 B
Python
Executable File
#!/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")
|