mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	bpo-39901: Move pathlib.Path.owner() and group() implementations into the path accessor. (GH-18844)
				
					
				
			This commit is contained in:
		
							parent
							
								
									06a35542aa
								
							
						
					
					
						commit
						22386bb4ef
					
				
					 1 changed files with 16 additions and 10 deletions
				
			
		|  | @ -447,6 +447,20 @@ def symlink(a, b, target_is_directory): | |||
|     def readlink(self, path): | ||||
|         return os.readlink(path) | ||||
| 
 | ||||
|     def owner(self, path): | ||||
|         try: | ||||
|             import pwd | ||||
|             return pwd.getpwuid(self.stat(path).st_uid).pw_name | ||||
|         except ImportError: | ||||
|             raise NotImplementedError("Path.owner() is unsupported on this system") | ||||
| 
 | ||||
|     def group(self, path): | ||||
|         try: | ||||
|             import grp | ||||
|             return grp.getgrgid(self.stat(path).st_gid).gr_name | ||||
|         except ImportError: | ||||
|             raise NotImplementedError("Path.group() is unsupported on this system") | ||||
| 
 | ||||
| 
 | ||||
| _normal_accessor = _NormalAccessor() | ||||
| 
 | ||||
|  | @ -1202,15 +1216,13 @@ def owner(self): | |||
|         """ | ||||
|         Return the login name of the file owner. | ||||
|         """ | ||||
|         import pwd | ||||
|         return pwd.getpwuid(self.stat().st_uid).pw_name | ||||
|         return self._accessor.owner(self) | ||||
| 
 | ||||
|     def group(self): | ||||
|         """ | ||||
|         Return the group name of the file gid. | ||||
|         """ | ||||
|         import grp | ||||
|         return grp.getgrgid(self.stat().st_gid).gr_name | ||||
|         return self._accessor.group(self) | ||||
| 
 | ||||
|     def open(self, mode='r', buffering=-1, encoding=None, | ||||
|              errors=None, newline=None): | ||||
|  | @ -1544,11 +1556,5 @@ class WindowsPath(Path, PureWindowsPath): | |||
|     """ | ||||
|     __slots__ = () | ||||
| 
 | ||||
|     def owner(self): | ||||
|         raise NotImplementedError("Path.owner() is unsupported on this system") | ||||
| 
 | ||||
|     def group(self): | ||||
|         raise NotImplementedError("Path.group() is unsupported on this system") | ||||
| 
 | ||||
|     def is_mount(self): | ||||
|         raise NotImplementedError("Path.is_mount() is unsupported on this system") | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Barney Gale
						Barney Gale