ssh-handler 1.4.0__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {ssh_handler-1.4.0/ssh_handler.egg-info → ssh_handler-1.4.1}/PKG-INFO +1 -1
  2. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/pyproject.toml +1 -1
  3. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/__init__.py +1 -1
  4. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/core.py +10 -3
  5. {ssh_handler-1.4.0 → ssh_handler-1.4.1/ssh_handler.egg-info}/PKG-INFO +1 -1
  6. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/LICENSE +0 -0
  7. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/README.md +0 -0
  8. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/setup.cfg +0 -0
  9. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/__main__.py +0 -0
  10. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/cli.py +0 -0
  11. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/config.py +0 -0
  12. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/credentials.py +0 -0
  13. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/exceptions.py +0 -0
  14. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/ftp.py +0 -0
  15. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/openssh/OpenSSH-ARM64.zip +0 -0
  16. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/openssh/OpenSSH-Win32.zip +0 -0
  17. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/openssh/OpenSSH-Win64.zip +0 -0
  18. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/pool.py +0 -0
  19. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/pyqt_worker.py +0 -0
  20. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/results.py +0 -0
  21. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/serial_handler.py +0 -0
  22. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/setup_openssh_server.ps1 +0 -0
  23. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler/winrm_bootstrap.py +0 -0
  24. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler.egg-info/SOURCES.txt +0 -0
  25. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler.egg-info/dependency_links.txt +0 -0
  26. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler.egg-info/entry_points.txt +0 -0
  27. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler.egg-info/requires.txt +0 -0
  28. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/ssh_handler.egg-info/top_level.txt +0 -0
  29. {ssh_handler-1.4.0 → ssh_handler-1.4.1}/tests/test_offline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssh-handler
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Extensive SSH/SFTP/SCP/FTP handler built on Paramiko, for test automation, CLIs and PyQt5 tools.
5
5
  Author: ssh-handler contributors
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ssh-handler"
7
- version = "1.4.0"
7
+ version = "1.4.1"
8
8
  description = "Extensive SSH/SFTP/SCP/FTP handler built on Paramiko, for test automation, CLIs and PyQt5 tools."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -22,7 +22,7 @@ dependencies (PyQt5 / scp) don't break the core package.
22
22
 
23
23
  from __future__ import annotations
24
24
 
25
- __version__ = "1.4.0"
25
+ __version__ = "1.4.1"
26
26
 
27
27
  from .config import SSHConfig, FTPConfig
28
28
  from .core import SSHHandler, ShellSession
@@ -729,13 +729,20 @@ class SSHHandler:
729
729
  is_windows = (mode == "windows" or
730
730
  (mode == "auto" and device.upper().startswith("COM")))
731
731
  if is_windows:
732
+ # Force UTF-8 console output so our UTF-8 reader doesn't get mojibake,
733
+ # and read whatever bytes are available (robust to any line ending)
734
+ # rather than ReadLine (which hangs if the device's EOL differs).
732
735
  ps = (
733
736
  "$ErrorActionPreference='SilentlyContinue';"
737
+ "[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;"
734
738
  f"$p=New-Object System.IO.Ports.SerialPort '{device}',{int(baudrate)},"
735
739
  "'None',8,'One';"
736
- "$p.ReadTimeout=1000;$p.Open();"
737
- "while($true){try{$l=$p.ReadLine();if($l){Write-Output $l}}"
738
- "catch [TimeoutException]{}}"
740
+ "$p.Encoding=[System.Text.Encoding]::UTF8;"
741
+ "$p.Open();"
742
+ "while($true){"
743
+ "if($p.BytesToRead -gt 0){"
744
+ "$s=$p.ReadExisting();[Console]::Out.Write($s);[Console]::Out.Flush()}"
745
+ "else{Start-Sleep -Milliseconds 30}}"
739
746
  )
740
747
  cmd = f"powershell -NoProfile -EncodedCommand {self._ps_encode(ps)}"
741
748
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssh-handler
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Extensive SSH/SFTP/SCP/FTP handler built on Paramiko, for test automation, CLIs and PyQt5 tools.
5
5
  Author: ssh-handler contributors
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes