There is a lot of different stuff in mozregression.utils, that basically do: - network related stuff: retry_get, set_http_cache_session, get_http_session, url_links. - command line interface related stuff: parse_bits, parse_date, releases, date_of_release, formatted_valid_release_dates - build regex construction: get_build_regex - class storage: ClassRegistry This is quite unrelated stuff, and I propose to move code the following way: - a new mozregression.network module: put in there the network related stuff listed above. - new mozregression.cli module: put in the options related stuff listed above, and functions from mozregression.main also related: get_defaults, parse_args, preference. - move get_build_regex into mozregression.fetch_config, since it is only used there and it is where it belongs. - move ClassRegistry in its own mozregression.class_registry module since I don't see any other good place for that. This is a lot of changes (not hard, but with a lot impacted files, tests to move, imports to change everywhere even in the GUI) so let's make this a tracking bug.
yeah! I work like to be responsible for these change if it's ok. Because, I think them can help me know more about mozregression and improve my understanding about python. Also, It require a lot time maybe, and I think time is not a problem for me.(summer vacation you know ;) ).
Sure MikeLing. :) I would just prefer that you work on these one at a time, in case somebody else want to take one. Thanks for looking at that!
Just landed https://github.com/mozilla/mozregression/commit/f980f3015511cab29b998be7fd8ae6ee90c534fb, which completely removes mozregression.utils!