translation was not found.
(Contributed by Serhiy Storchaka in :gh:`88434`.)
+* :mod:`glob`: The undocumented :func:`!glob.glob0` and :func:`!glob.glob1`
+ functions are deprecated. Use :func:`glob.glob` and pass a directory to its
+ *root_dir* argument instead.
+ (Contributed by Barney Gale in :gh:`117337`.)
+
* :mod:`http.server`: :class:`http.server.CGIHTTPRequestHandler` now emits a
:exc:`DeprecationWarning` as it will be removed in 3.15. Process-based CGI
HTTP servers have been out of favor for a very long time. This code was
return [basename]
return []
-# Following functions are not public but can be used by third-party code.
+_deprecated_function_message = (
+ "{name} is deprecated and will be removed in Python {remove}. Use "
+ "glob.glob and pass a directory to its root_dir argument instead."
+)
def glob0(dirname, pattern):
+ import warnings
+ warnings._deprecated("glob.glob0", _deprecated_function_message, remove=(3, 15))
return _glob0(dirname, pattern, None, False)
def glob1(dirname, pattern):
+ import warnings
+ warnings._deprecated("glob.glob1", _deprecated_function_message, remove=(3, 15))
return _glob1(dirname, pattern, None, False)
# This helper function recursively yields relative pathnames inside a literal
import shutil
import sys
import unittest
+import warnings
from test.support.os_helper import (TESTFN, skip_unless_symlink,
can_symlink, create_empty_file, change_cwd)
for it in iters:
self.assertEqual(next(it), p)
+ def test_glob0(self):
+ with self.assertWarns(DeprecationWarning):
+ glob.glob0(self.tempdir, 'a')
+
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore')
+ eq = self.assertSequencesEqual_noorder
+ eq(glob.glob0(self.tempdir, 'a'), ['a'])
+ eq(glob.glob0(self.tempdir, '.bb'), ['.bb'])
+ eq(glob.glob0(self.tempdir, '.b*'), [])
+ eq(glob.glob0(self.tempdir, 'b'), [])
+ eq(glob.glob0(self.tempdir, '?'), [])
+ eq(glob.glob0(self.tempdir, '*a'), [])
+ eq(glob.glob0(self.tempdir, 'a*'), [])
+
+ def test_glob1(self):
+ with self.assertWarns(DeprecationWarning):
+ glob.glob1(self.tempdir, 'a')
+
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore')
+ eq = self.assertSequencesEqual_noorder
+ eq(glob.glob1(self.tempdir, 'a'), ['a'])
+ eq(glob.glob1(self.tempdir, '.bb'), ['.bb'])
+ eq(glob.glob1(self.tempdir, '.b*'), ['.bb'])
+ eq(glob.glob1(self.tempdir, 'b'), [])
+ eq(glob.glob1(self.tempdir, '?'), ['a'])
+ eq(glob.glob1(self.tempdir, '*a'), ['a', 'aaa'])
+ eq(glob.glob1(self.tempdir, 'a*'), ['a', 'aaa', 'aab'])
+
def test_translate_matching(self):
match = re.compile(glob.translate('*')).match
self.assertIsNotNone(match('foo'))