On Tue, 2011-07-12 at 12:56 -0700, Paul Pendlebury wrote: > Moving these functions to the end of the file enables site classes to > derive from the base classes without requiring a split into base > files. In our environment we have a site_server_job which imports > base_server_job from server_job. When these site import functions > appear in the server_job file before the full definition of the base > class we run into import loops. This fixes that problem.
Hi Paul, looks good to me, sorry for the delay, applied: http://autotest.kernel.org/changeset/5495 > Signed-off-by: Paul Pendlebury <[email protected]> > --- > server/server_job.py | 29 +++++++++++++++-------------- > 1 files changed, 15 insertions(+), 14 deletions(-) > > diff --git a/server/server_job.py b/server/server_job.py > index 8a16c6a..40dcd5b 100644 > --- a/server/server_job.py > +++ b/server/server_job.py > @@ -42,12 +42,6 @@ def _get_site_job_data_dummy(job): > return {} > > > -# load up site-specific code for generating site-specific job data > -get_site_job_data = utils.import_site_function(__file__, > - "autotest_lib.server.site_server_job", "get_site_job_data", > - _get_site_job_data_dummy) > - > - > class status_indenter(base_job.status_indenter): > """Provide a simple integer-backed status indenter.""" > def __init__(self): > @@ -1108,14 +1102,6 @@ class base_server_job(base_job.base_job): > host.clear_known_hosts() > > > -site_server_job = utils.import_site_class( > - __file__, "autotest_lib.server.site_server_job", "site_server_job", > - base_server_job) > - > -class server_job(site_server_job): > - pass > - > - > class warning_manager(object): > """Class for controlling warning logs. Manages the enabling and disabling > of warnings.""" > @@ -1147,3 +1133,18 @@ class warning_manager(object): > intervals = self.disabled_warnings.get(warning_type, []) > if intervals and intervals[-1][1] is None: > intervals[-1] = (intervals[-1][0], int(current_time_func())) > + > + > +# load up site-specific code for generating site-specific job data > +get_site_job_data = utils.import_site_function(__file__, > + "autotest_lib.server.site_server_job", "get_site_job_data", > + _get_site_job_data_dummy) > + > + > +site_server_job = utils.import_site_class( > + __file__, "autotest_lib.server.site_server_job", "site_server_job", > + base_server_job) > + > + > +class server_job(site_server_job): > + pass _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
