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