| # Copyright 2013 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| import stat |
| |
| from portage import os |
| from portage.exception import PermissionDenied |
| |
| def exists_raise_eaccess(path): |
| try: |
| os.stat(path) |
| except OSError as e: |
| if e.errno == PermissionDenied.errno: |
| raise PermissionDenied("stat('%s')" % path) |
| return False |
| else: |
| return True |
| |
| def isdir_raise_eaccess(path): |
| try: |
| st = os.stat(path) |
| except OSError as e: |
| if e.errno == PermissionDenied.errno: |
| raise PermissionDenied("stat('%s')" % path) |
| return False |
| else: |
| return stat.S_ISDIR(st.st_mode) |