Mercurial > hgrepos > Python > apps > py-cutils
comparison cutils/util/walk.py @ 274:224725fd9f2f
WalkDirEntry: add support for special files (character and block special, FIFO, socket, door, whiteout, event port, ...)
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 19 Feb 2025 16:42:44 +0100 |
| parents | c02a57df2a29 |
| children | f7850ff5cbe0 |
comparison
equal
deleted
inserted
replaced
| 273:c02a57df2a29 | 274:224725fd9f2f |
|---|---|
| 232 return self._is_reg | 232 return self._is_reg |
| 233 | 233 |
| 234 @property | 234 @property |
| 235 def is_dir(self): | 235 def is_dir(self): |
| 236 return self._is_dir | 236 return self._is_dir |
| 237 | |
| 238 @property | |
| 239 def is_chr(self): | |
| 240 return (stat.S_ISCHR(self._stat_result.st_mode) | |
| 241 if self._stat_result is not None | |
| 242 else False) | |
| 243 | |
| 244 @property | |
| 245 def is_blk(self): | |
| 246 return (stat.S_ISBLK(self._stat_result.st_mode) | |
| 247 if self._stat_result is not None | |
| 248 else False) | |
| 249 | |
| 250 @property | |
| 251 def is_fifo(self): | |
| 252 return (stat.S_ISFIFO(self._stat_result.st_mode) | |
| 253 if self._stat_result is not None | |
| 254 else False) | |
| 255 | |
| 256 @property | |
| 257 def is_socket(self): | |
| 258 return (stat.S_ISSOCK(self._stat_result.st_mode) | |
| 259 if self._stat_result is not None | |
| 260 else False) | |
| 261 | |
| 262 @property | |
| 263 def is_door(self): | |
| 264 test = getattr(stat, "S_ISDOOR", None) | |
| 265 return (test(self._stat_result.st_mode) | |
| 266 if test and (self._stat_result is not None) | |
| 267 else False) | |
| 268 | |
| 269 @property | |
| 270 def is_eventport(self): | |
| 271 test = getattr(stat, "S_ISPORT", None) | |
| 272 return (test(self._stat_result.st_mode) | |
| 273 if test and (self._stat_result is not None) | |
| 274 else False) | |
| 275 | |
| 276 @property | |
| 277 def is_whiteout(self): | |
| 278 test = getattr(stat, "S_ISWHT", None) | |
| 279 return (test(self._stat_result.st_mode) | |
| 280 if test and (self._stat_result is not None) | |
| 281 else False) | |
| 282 | |
| 283 @property | |
| 284 def is_special(self): | |
| 285 """Anything besides a regular file and a directory""" | |
| 286 if self._stat_result is None: | |
| 287 return False | |
| 288 return not (self.is_reg or self.is_dir) | |
| 237 | 289 |
| 238 @property | 290 @property |
| 239 def stat(self): | 291 def stat(self): |
| 240 return self._stat_result | 292 return self._stat_result |
| 241 | 293 |
