@@ -703,11 +703,6 @@ def type_consumer():
703
703
704
704
running = False
705
705
706
- TOP_DIR = os .path .join (os .getcwd (), '' ) # current dir with trailing slash
707
- TOP_DIR_DOT = os .path .join (TOP_DIR , '.' )
708
- TOP_DIR_LEN = len (TOP_DIR )
709
-
710
-
711
706
def _make_sampling_sequence (n ):
712
707
# type: (int) -> List[int]
713
708
"""
@@ -784,30 +779,36 @@ def start():
784
779
sampling_counters .clear ()
785
780
786
781
787
- def default_filter_filename (filename ):
788
- # type: (Optional[str]) -> Optional[str]
782
+ def default_filter_filename (top_dir , filename ):
783
+ # type: (str, Optional[str]) -> Optional[str]
789
784
"""Default filter for filenames.
790
785
791
786
Returns either a normalized filename or None.
792
787
You can pass your own filter to init_types_collection().
793
788
"""
794
789
if filename is None :
795
790
return None
796
- elif filename .startswith (TOP_DIR ):
797
- if filename .startswith (TOP_DIR_DOT ):
791
+ elif filename .startswith (top_dir ):
792
+ top_dir_dot = os .path .join (top_dir , '.' )
793
+ if filename .startswith (top_dir_dot ):
798
794
# Skip subdirectories starting with dot (e.g. .vagrant).
799
795
return None
800
796
else :
801
797
# Strip current directory and following slashes.
802
- return filename [TOP_DIR_LEN :].lstrip (os .sep )
798
+ return filename [len ( top_dir ) :].lstrip (os .sep )
803
799
elif filename .startswith (os .sep ):
804
800
# Skip absolute paths not under current directory.
805
801
return None
806
802
else :
807
803
return filename
808
804
805
+ from functools import partial
806
+
807
+ cwd_default_filter_filename = partial (default_filter_filename ,
808
+ os .path .join (os .getcwd ()))
809
+
809
810
810
- _filter_filename = default_filter_filename # type: Callable[[Optional[str]], Optional[str]]
811
+ _filter_filename = cwd_default_filter_filename # type: Callable[[Optional[str]], Optional[str]]
811
812
812
813
813
814
if sys .version_info [0 ] == 2 :
0 commit comments