Skip to content

Commit bc60e60

Browse files
Support __init__.pyw in imported packages.
1 parent 7751a6c commit bc60e60

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

Lib/_py_warnings.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -534,11 +534,12 @@ def _match_filename(pattern, filename, *, MS_WINDOWS=(sys.platform == 'win32')):
534534
if pattern.match(filename): # for backward compatibility
535535
return True
536536
if MS_WINDOWS:
537+
if not is_py and filename[-4:].lower() == '.pyw':
538+
filename = filename[:-4]
539+
is_py = True
537540
if is_py and filename[-9:].lower() in (r'\__init__', '/__init__'):
538541
filename = filename[:-9]
539-
elif not is_py and filename[-4:].lower() == '.pyw':
540-
filename = filename[:-4]
541-
filename = filename.replace('\\', '.')
542+
filename = filename.replace('\\', '/')
542543
else:
543544
if is_py and filename.endswith('/__init__'):
544545
filename = filename[:-9]

Lib/test/test_cmd_line.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ def test_run_module_bug1764407(self):
198198
p.stdin.write(b'Timer\n')
199199
p.stdin.write(b'exit()\n')
200200
data = kill_python(p)
201-
self.assertIn(b'1 loop', data)
201+
self.assertTrue(data.find(b'1 loop') != -1)
202202
self.assertTrue(data.find(b'__main__.Timer') != -1)
203203

204204
def test_relativedir_bug46421(self):

Lib/test/test_warnings/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,8 @@ def test_filter_module(self):
264264
self.assertEqual(len(w), 6)
265265
self.module.warn_explicit('msg', UserWarning, r'C:\path\to\package\module.PYW', 42)
266266
self.assertEqual(len(w), 7)
267+
self.module.warn_explicit('msg', UserWarning, r'C:\path\to\package\module\__INIT__.PYW', 42)
268+
self.assertEqual(len(w), 8)
267269

268270
with self.module.catch_warnings(record=True) as w:
269271
self.module.simplefilter('error')

0 commit comments

Comments
 (0)