1616
1717from  . import  _adapters , _meta 
1818from  ._collections  import  FreezableDefaultDict , Pair 
19- from  ._functools  import  method_cache 
19+ from  ._functools  import  method_cache ,  pass_none 
2020from  ._itertools  import  always_iterable , unique_everseen 
2121from  ._meta  import  PackageMetadata , SimplePath 
2222
@@ -285,52 +285,33 @@ class DeprecatedList(list):
285285        stacklevel = 2 ,
286286    )
287287
288-     def  __setitem__ (self , * args , ** kwargs ):
289-         self ._warn ()
290-         return  super ().__setitem__ (* args , ** kwargs )
291- 
292-     def  __delitem__ (self , * args , ** kwargs ):
293-         self ._warn ()
294-         return  super ().__delitem__ (* args , ** kwargs )
295- 
296-     def  append (self , * args , ** kwargs ):
297-         self ._warn ()
298-         return  super ().append (* args , ** kwargs )
299- 
300-     def  reverse (self , * args , ** kwargs ):
301-         self ._warn ()
302-         return  super ().reverse (* args , ** kwargs )
303- 
304-     def  extend (self , * args , ** kwargs ):
305-         self ._warn ()
306-         return  super ().extend (* args , ** kwargs )
307- 
308-     def  pop (self , * args , ** kwargs ):
309-         self ._warn ()
310-         return  super ().pop (* args , ** kwargs )
311- 
312-     def  remove (self , * args , ** kwargs ):
313-         self ._warn ()
314-         return  super ().remove (* args , ** kwargs )
315- 
316-     def  __iadd__ (self , * args , ** kwargs ):
317-         self ._warn ()
318-         return  super ().__iadd__ (* args , ** kwargs )
288+     def  _wrap_deprecated_method (method_name : str ):  # type: ignore 
289+         def  wrapped (self , * args , ** kwargs ):
290+             self ._warn ()
291+             return  getattr (super (), method_name )(* args , ** kwargs )
292+ 
293+         return  wrapped 
294+ 
295+     for  method_name  in  [
296+         '__setitem__' ,
297+         '__delitem__' ,
298+         'append' ,
299+         'reverse' ,
300+         'extend' ,
301+         'pop' ,
302+         'remove' ,
303+         '__iadd__' ,
304+         'insert' ,
305+         'sort' ,
306+     ]:
307+         locals ()[method_name ] =  _wrap_deprecated_method (method_name )
319308
320309    def  __add__ (self , other ):
321310        if  not  isinstance (other , tuple ):
322311            self ._warn ()
323312            other  =  tuple (other )
324313        return  self .__class__ (tuple (self ) +  other )
325314
326-     def  insert (self , * args , ** kwargs ):
327-         self ._warn ()
328-         return  super ().insert (* args , ** kwargs )
329- 
330-     def  sort (self , * args , ** kwargs ):
331-         self ._warn ()
332-         return  super ().sort (* args , ** kwargs )
333- 
334315    def  __eq__ (self , other ):
335316        if  not  isinstance (other , tuple ):
336317            self ._warn ()
@@ -649,7 +630,6 @@ def files(self):
649630        missing. 
650631        Result may be empty if the metadata exists but is empty. 
651632        """ 
652-         file_lines  =  self ._read_files_distinfo () or  self ._read_files_egginfo ()
653633
654634        def  make_file (name , hash = None , size_str = None ):
655635            result  =  PackagePath (name )
@@ -658,7 +638,11 @@ def make_file(name, hash=None, size_str=None):
658638            result .dist  =  self 
659639            return  result 
660640
661-         return  file_lines  and  list (starmap (make_file , csv .reader (file_lines )))
641+         @pass_none  
642+         def  make_files (lines ):
643+             return  list (starmap (make_file , csv .reader (lines )))
644+ 
645+         return  make_files (self ._read_files_distinfo () or  self ._read_files_egginfo ())
662646
663647    def  _read_files_distinfo (self ):
664648        """ 
@@ -771,6 +755,9 @@ class FastPath:
771755    """ 
772756    Micro-optimized class for searching a path for 
773757    children. 
758+ 
759+     >>> FastPath('').children() 
760+     ['...'] 
774761    """ 
775762
776763    @functools .lru_cache ()  # type: ignore  
0 commit comments