modification_dossier_client
#!/usr/bin/env python
# coding: utf8
import socket
import inotify.adapters
import argparse
def _main(args):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((args.server, args.port))
print(f"je suis connecté à {args.server}:{args.port} !")
user_exit = False
while not user_exit:
i = inotify.adapters.InotifyTree(args.directory)
for event in i.event_gen():
if event is not None:
(header, type_names, watch_path, filename) = event
print(f"modification {type_names} sur {filename}")
if 'IN_CREATE' in type_names:
print("c'est une création")
s.sendall(f"CREATE:{filename}".encode())
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-s', '--server-address',
dest='server',
default='127.0.0.1',
help="Adresse du serveur"
)
parser.add_argument('-p', '--port',
dest='port',
help="Port d'écoute du serveur",
type=int,
default=9999
)
parser.add_argument('-d', '--directory',
dest='directory',
help="Répertoire à surveiller",
type=str,
required=True
)
args = parser.parse_args()
_main(args)