from smb.SMBConnection import SMBConnection class works_with_smb: def __init__(self, user, password, share_name, ip, my_hostname, remote_name_machine, port=445): self.user = user self.password = password self.ip = ip self.port = port self.share_name = share_name self.remote_name_machine = remote_name_machine self.my_hostname = my_hostname def get_listfiles(self, path_dir): list_files = [x.filename for x in self._server.listPath( self.share_name, path_dir) if x.filename not in ['.', '..']] return list_files def copy_files_to_smb(self, src, desc): data_file = open(src, 'rb') self._server.storeFile(self.share_name, desc, data_file) def delete_files(self, path): self._server.deleteFiles(self.share_name, path) def create_dir(self, dirname): if dirname not in self.get_listfiles('/'): self._server.createDirectory(self.share_name, '/'+dirname) else: pass def connect(self): self._server = SMBConnection( self.user, self.password, self.my_hostname, self.remote_name_machine, use_ntlm_v2=True, is_direct_tcp=True) self._server.connect(self.ip, self.port, timeout=60) def __enter__(self): self.connect() return self def __exit__(self, exc_type, exc_val, exc_tb): self._server.close() def close(self): self._server.close() if __name__ == "__main__": pass