12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import os
5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)import sys
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.core import discover
8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.page import page_set
9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)# Import all submodules' PageSet classes.
12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)start_dir = os.path.dirname(os.path.abspath(__file__))
13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)top_level_dir = os.path.dirname(start_dir)
14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)base_class = page_set.PageSet
15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)for cls in discover.DiscoverClasses(
16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    start_dir, top_level_dir, base_class).values():
17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  setattr(sys.modules[__name__], cls.__name__, cls)
18