3520 |
3520 |
3521 try: |
3521 try: |
3522 with EricOverrideCursor(): |
3522 with EricOverrideCursor(): |
3523 if FileSystemUtilities.isRemoteFileName(fn) or isRemote: |
3523 if FileSystemUtilities.isRemoteFileName(fn) or isRemote: |
3524 title = self.tr("Open Remote File") |
3524 title = self.tr("Open Remote File") |
3525 bText = self.__remotefsInterface.readFile( |
|
3526 FileSystemUtilities.plainFileName(fn), create=True |
|
3527 ) |
|
3528 if encoding: |
3525 if encoding: |
3529 txt, self.encoding = Utilities.decodeWithEncoding( |
3526 txt, self.encoding = ( |
3530 bText, encoding |
3527 self.__remotefsInterface.readEncodedFileWithEncoding( |
|
3528 fn, encoding, create=True |
|
3529 ) |
3531 ) |
3530 ) |
3532 else: |
3531 else: |
3533 txt, self.encoding = Utilities.decode(bText) |
3532 txt, self.encoding = self.__remotefsInterface.readEncodedFile( |
|
3533 fn, create=True |
|
3534 ) |
3534 else: |
3535 else: |
3535 title = self.tr("Open File") |
3536 title = self.tr("Open File") |
3536 if createIt and not os.path.exists(fn): |
3537 if createIt and not os.path.exists(fn): |
3537 with open(fn, "w"): |
3538 with open(fn, "w"): |
3538 pass |
3539 pass |
3684 ) |
3685 ) |
3685 if createBackup and perms_valid: |
3686 if createBackup and perms_valid: |
3686 os.chmod(fn, permissions) |
3687 os.chmod(fn, permissions) |
3687 else: |
3688 else: |
3688 title = self.tr("Save Remote File") |
3689 title = self.tr("Save Remote File") |
3689 bText, self.encoding = Utilities.encode( |
3690 self.encoding = self.__remotefsInterface.writeEncodedFile( |
3690 txt, self.encoding, forcedEncoding=editorConfigEncoding |
3691 fn, |
3691 ) |
3692 txt, |
3692 self.__remotefsInterface.writeFile( |
3693 self.encoding, |
3693 FileSystemUtilities.plainFileName(fn), bText, createBackup |
3694 forcedEncoding=editorConfigEncoding, |
|
3695 createBackup=createBackup, |
3694 ) |
3696 ) |
3695 return True |
3697 return True |
3696 except (OSError, UnicodeError, Utilities.CodingError) as why: |
3698 except (OSError, UnicodeError, Utilities.CodingError) as why: |
3697 EricMessageBox.critical( |
3699 EricMessageBox.critical( |
3698 self, |
3700 self, |