Hi Collin,

> > IMO, the creation of a rewrite_file_name method (singular! you mentioned
> > a couple of days ago that the ability to rewrite a single file name is
> > one of the motivations for this refactoring) in a central place goes in
> > the correct direction. However, moving knowledge about 'cache' and 'config'
> > into GLFileTable does not.
> 
> Sure, I agree. Though I'm not sure the best place to put it. All of
> our non-private functions are in constants.py, but this function seems
> out of place there. Since all of the functions there are string
> helpers and such. In other words, no GL* classes are imported there.

I agree, it's out-of-place in constants.py.

> Maybe it would be best to create a functions.py file?

Sounds reasonable, yes.

> For the actual function it would be something like this:
> 
>     def rewrite_file_name(config: GLConfig,
>                           file_name: str,
>                           also_tests_lib: bool = False) -> str:
>         ...
>         if also_tests_lib and file_name.startswith('tests=lib/'):
>            # OK

Yep, that's the right way to do it. Maybe file_name should come first
(by the usual heuristic that the argument that shows most variation
comes first)?

Bruno




Reply via email to