democritus-project / d8s-python

Democritus functions for working with Python ASTs.
GNU Lesser General Public License v3.0
2 stars 4 forks source link

Update "python_file_names" function to have "recursive" boolean argument #30

Open fhightower opened 3 years ago

fhightower commented 3 years ago

I don't have time right now to scope this out entirely, but I would like to create a python_files function that lets a user find python files in a given directory. The function should be very similar to the python_file_names function and should take a recursive kwarg as well as a return_file_paths kwarg which determines whether file names or file paths are returned.

In the future, I can update this issue to have the text below:


HELP WANTED 👋 : If you'd like to take this challenge on, please let me know! Even if you're new to Python and/or Github, this is a great place to start and I'd be happy to help walk you through this challenge as much as you need - don't hesitate to ask.

This particular issue will give you some exposure to updating a function's arguments, using type hints in Python, and the Pathlib library.


What?

We should update the python_file_names function to have a boolean recursive argument that lets the user specify whether or not he/she would like to search for Python files in the given directory recursively or not. The function signature is currently:

python_file_names(path: str, *, exclude_tests: bool = False) -> List[str]:

but should be updated to:

python_file_names(path: str, *, exclude_tests: bool = False, recursive: bool = False) -> List[str]:

Why?

How?

Additional thoughts