chromium/tools/site_compare/scrapers/__init__.py

#!/usr/bin/env python
# Copyright 2011 The Chromium Authors
# 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."""

from __future__ import print_function

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"))