Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2023
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | Source Code | 0 0
  1. #!usr/bin/env python3
  2.  
  3. import os
  4. import sys
  5. import errno
  6. from fuse import FUSE, FuseOSError, Operations, fuse_get_context
  7. from toycipher import *
  8. import pdb
  9.  
  10.  
  11.  
  12.  
  13. class Cfs (Operations) :
  14.     def __init__(self, path) :
  15.         print(f"chemin : {path}")
  16.         self.root = os.path.abspath(path)
  17.  
  18.     def rpath (self, path) :
  19.         return os.path.join(self.root, path.lstrip('/'))
  20.  
  21.     def getattr(self, path, fh=None) :
  22.         path = self.rpath(path)
  23.  
  24.         attr = ["st_mode", "st_ino", "st_dev", "st_nlink", "st_uid", "st_gid", "st_size", "st_atime", "st_mtime", "st_ctime"]
  25.         attr = dict.fromkeys(attr)
  26.         stat  = os.stat(path)
  27.         i=0
  28.         for key in attr :
  29.             attr[key] = stat[i]
  30.             i+=1
  31.         return attr
  32.  
  33.     def readdir (self, path , fh) :
  34.         path = self.rpath(path)
  35.  
  36.         print(f"listing : {path}")
  37.         return ['.', '..']+os.listdir(path)
  38.  
  39.  
  40.  
  41.  
  42. def main(path) :
  43.     cfs = FUSE( Cfs(path), path, foreground = True, nonempty=True)
  44.  
  45.  
  46.  
  47. if __name__ == '__main__' :
  48.     print(f"pid : {os.getpid()}")
  49.     main(sys.argv[1])
  50.  
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement