Create lister.py.

Make module tools/lister.py which lists all files in a directory
tracked by git.  This is done because lister.py will be used by other
scripts in the future which have to introspect files in the repository,
like linters, static code checkers, etc.
This commit is contained in:
Eklavya Sharma 2016-03-23 00:30:23 +05:30 committed by Tim Abbott
parent 5c810ad0bc
commit 6954eb072c
1 changed files with 19 additions and 0 deletions

19
tools/lister.py Normal file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env python
from __future__ import print_function
import os
import subprocess
def list_files(targets=[]):
"""
List files tracked by git.
Returns a list of files which are either in targets or in directories in targets.
If targets is [], list of all tracked files in current directory is returned.
"""
cmdline = ['git', 'ls-files'] + targets
files_gen = (x.strip() for x in subprocess.check_output(cmdline, universal_newlines=True).split('\n'))
# throw away empty lines and non-files (like symlinks)
files = list(filter(os.path.isfile, files_gen))
return files