@@ -138,28 +138,32 @@ def parse_config_file(options: Options, set_strict_flags: Callable[[], None],
138
138
if filename is not None :
139
139
filename = os .path .expanduser (filename )
140
140
if os .path .splitext (filename )[1 ] == '.toml' :
141
- parse_toml_config_file (options , set_strict_flags , filename , stdout , stderr )
141
+ parse_toml_config_file (
142
+ options , set_strict_flags , filename , stdout , stderr , explicit = True )
142
143
else :
143
- parse_ini_config_file (options , set_strict_flags , filename , stdout , stderr )
144
+ parse_ini_config_file (
145
+ options , set_strict_flags , filename , stdout , stderr , explicit = True )
144
146
else :
145
147
for filename in defaults .CONFIG_FILES :
146
148
filename = os .path .expanduser (filename )
147
149
if not os .path .isfile (filename ):
148
150
continue
149
151
if os .path .splitext (filename )[1 ] == '.toml' :
150
- parsed = parse_toml_config_file (options , set_strict_flags ,
151
- filename , stdout , stderr )
152
+ parsed = parse_toml_config_file (
153
+ options , set_strict_flags , filename , stdout , stderr , explicit = False )
152
154
else :
153
- parsed = parse_ini_config_file (options , set_strict_flags ,
154
- filename , stdout , stderr )
155
+ parsed = parse_ini_config_file (
156
+ options , set_strict_flags , filename , stdout , stderr , explicit = False )
155
157
if parsed :
156
158
break
157
159
158
160
159
161
def parse_toml_config_file (options : Options , set_strict_flags : Callable [[], None ],
160
162
filename : str ,
161
163
stdout : Optional [TextIO ] = None ,
162
- stderr : Optional [TextIO ] = None ) -> bool :
164
+ stderr : Optional [TextIO ] = None ,
165
+ * ,
166
+ explicit : bool ) -> bool :
163
167
stderr = stderr or sys .stderr
164
168
165
169
# Load the toml config file.
@@ -172,7 +176,8 @@ def parse_toml_config_file(options: Options, set_strict_flags: Callable[[], None
172
176
options .config_file = filename
173
177
174
178
if 'tool' not in table or 'mypy' not in table ['tool' ]:
175
- print ("%s: No 'tool.mypy' table in config file" % filename , file = stderr )
179
+ if explicit :
180
+ print ("%s: No 'tool.mypy' table in config file" % filename , file = stderr )
176
181
return False
177
182
178
183
# Handle the mypy table.
@@ -228,7 +233,9 @@ def parse_toml_config_file(options: Options, set_strict_flags: Callable[[], None
228
233
def parse_ini_config_file (options : Options , set_strict_flags : Callable [[], None ],
229
234
filename : str ,
230
235
stdout : Optional [TextIO ] = None ,
231
- stderr : Optional [TextIO ] = None ) -> bool :
236
+ stderr : Optional [TextIO ] = None ,
237
+ * ,
238
+ explicit : bool ) -> bool :
232
239
stderr = stderr or sys .stderr
233
240
parser = configparser .RawConfigParser ()
234
241
retv = False
@@ -245,7 +252,7 @@ def parse_ini_config_file(options: Options, set_strict_flags: Callable[[], None]
245
252
os .path .abspath (filename ))
246
253
247
254
if 'mypy' not in parser :
248
- if filename not in defaults .SHARED_CONFIG_FILES :
255
+ if not explicit and filename not in defaults .SHARED_CONFIG_FILES :
249
256
print ("%s: No [mypy] section in config file" % filename , file = stderr )
250
257
else :
251
258
retv = True
0 commit comments