





import os
from collections.abc import Iterator



def 					__lowerCamelCase       (							a_					:		str = "."							)      ->				Union[str, Any]:





      for dir_path, dir_names, filenames in os.walk(SCREAMING_SNAKE_CASE__							):
            __SCREAMING_SNAKE_CASE       :Any		    =  [d for d in dir_names if d != '''scripts''' and d[0] not in '''._''']
            for filename in filenames:
                  if filename == "__init__.py":
                        continue
                  if os.path.splitext(SCREAMING_SNAKE_CASE__							)[1] in (".py", ".ipynb"):
                        yield os.path.join(SCREAMING_SNAKE_CASE__			,       SCREAMING_SNAKE_CASE__							).lstrip('''./'''							)



def 					__lowerCamelCase       (							a_					:		Dict							)      ->				str:
      return f'''{i * "  "}*''' if i else "\n##"



def 					__lowerCamelCase       (							a_					:		str			,       a_					:		str							)      ->				Union[str, Any]:
      __SCREAMING_SNAKE_CASE       :List[Any]		    =  old_path.split(os.sep							)
      for i, new_part in enumerate(new_path.split(os.sep							)							):
            if (i + 1 > len(SCREAMING_SNAKE_CASE__							) or old_parts[i] != new_part) and new_part:
                  print(f'''{md_prefix(SCREAMING_SNAKE_CASE__							)} {new_part.replace("_"			,       " "							).title()}'''							)
      return new_path



def 					__lowerCamelCase       (							a_					:		str = "."							)      ->				Union[str, Any]:
      __SCREAMING_SNAKE_CASE       :Optional[int]		    =  ''''''
      for filepath in sorted(good_file_paths(SCREAMING_SNAKE_CASE__							)							):
            __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :Any		    =  os.path.split(SCREAMING_SNAKE_CASE__							)
            if filepath != old_path:
                  __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  print_path(SCREAMING_SNAKE_CASE__			,       SCREAMING_SNAKE_CASE__							)
            __SCREAMING_SNAKE_CASE       :int		    =  (filepath.count(os.sep							) + 1) if filepath else 0
            __SCREAMING_SNAKE_CASE       :Any		    =  f'''{filepath}/{filename}'''.replace(''' '''			,       '''%20'''							)
            __SCREAMING_SNAKE_CASE       :int		    =  os.path.splitext(filename.replace('''_'''			,       ''' '''							).title()							)[0]
            print(f'''{md_prefix(SCREAMING_SNAKE_CASE__							)} [{filename}]({url})'''							)


if __name__ == "__main__":
  print_directory_md(".")






"""simple docstring"""
import math
import unittest



def 					__lowerCamelCase       (							a_					:		int							)      ->				bool:
      assert isinstance(a_			,       a_							) and (
          number >= 0
      ), "'number' must been an int and positive"

      if 1 < number < 4:
            # 2 and 3 are primes
            return True
      elif number < 2 or number % 2 == 0 or number % 3 == 0:
            # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
            return False

      # All primes number are in format of 6k +/- 1
      for i in range(5			,       int(math.sqrt(a_							) + 1							)			,       6							):
            if number % i == 0 or number % (i + 2) == 0:
                  return False
      return True






class  _SCREAMING_SNAKE_CASE(       unittest.TestCase  ):




       def    _UpperCamelCase					(						self							)      ->				Union[str, Any]:





             """simple docstring"""






             self.assertTrue(is_prime(2							)							)
             self.assertTrue(is_prime(3							)							)
             self.assertTrue(is_prime(5							)							)
             self.assertTrue(is_prime(7							)							)
             self.assertTrue(is_prime(11							)							)
             self.assertTrue(is_prime(13							)							)
             self.assertTrue(is_prime(17							)							)
             self.assertTrue(is_prime(19							)							)
             self.assertTrue(is_prime(23							)							)
             self.assertTrue(is_prime(29							)							)




       def    _UpperCamelCase					(						self							)      ->				Tuple:





             """simple docstring"""






             with self.assertRaises(SCREAMING_SNAKE_CASE__							):
                   is_prime(-19							)
             self.assertFalse(
                 is_prime(0							)		,'''Zero doesn\'t have any positive factors, primes must have exactly two.'''		,)
             self.assertFalse(
                 is_prime(1							)		,'''One only has 1 positive factor, primes must have exactly two.'''		,)
             self.assertFalse(is_prime(2 * 2							)							)
             self.assertFalse(is_prime(2 * 3							)							)
             self.assertFalse(is_prime(3 * 3							)							)
             self.assertFalse(is_prime(3 * 5							)							)
             self.assertFalse(is_prime(3 * 5 * 7							)							)


if __name__ == "__main__":
  unittest.main()