Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2023
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.15 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, content) :
  15.         print(f"chemin : {path}")
  16.         #self.root = os.path.abspath(path)
  17.         self.files = content
  18.  
  19.     def rpath (self, path) :
  20.         return os.path.join(self.root, path.lstrip('/'))
  21.  
  22.     def getattr(self, path, fh=None) :
  23.         #path = self.rpath(path)
  24.  
  25.         attr = ["st_mode", "st_ino", "st_dev", "st_nlink", "st_uid", "st_gid", "st_size", "st_atime", "st_mtime", "st_ctime"]
  26.         attr = dict.fromkeys(attr)
  27.         stat  = os.stat(path)
  28.         i=0
  29.         for key in attr :
  30.             attr[key] = stat[i]
  31.             i+=1
  32.         return attr
  33.  
  34.     def readdir (self, path , fh) :
  35.         print(f"listing :  {path}")
  36.         return ['.', '..'] + self.files
  37.  
  38.  
  39.  
  40.  
  41. def main(path) :
  42.     content = ["one.txt", "two.txt"]
  43.     cfs = FUSE(Cfs(path, content), path, foreground = True, nonempty=True)
  44.  
  45.  
  46.  
  47. if __name__ == '__main__' :
  48.     print(f"pid : {os.getpid()}")
  49.     main(sys.argv[1])
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement