12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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
|