1
0
mirror of https://github.com/gryf/boxpy.git synced 2026-02-02 22:25:53 +01:00

3 Commits

Author SHA1 Message Date
88172acd67 Refactor Run class.
When using capture=True together with subprocess.run, interactive
session will not work, as all the output will be captured. Perfectly
well seen with `boxpy ssh`. This commit will fix this issue.
2025-05-05 13:09:09 +02:00
4c3aef3a85 Fix ssh command.
There was a leftover call for changed Run object initialization.
With this commit it's correct now.
2025-05-02 12:42:17 +02:00
189fbab17d Removed license classifier in favor of SPDX entry. 2025-04-18 16:04:42 +02:00
2 changed files with 7 additions and 10 deletions

9
box.py
View File

@@ -18,7 +18,7 @@ import requests
import yaml import yaml
__version__ = "1.11.0" __version__ = "1.11.1"
CACHE_DIR = os.environ.get('XDG_CACHE_HOME', os.path.expanduser('~/.cache')) CACHE_DIR = os.environ.get('XDG_CACHE_HOME', os.path.expanduser('~/.cache'))
CLOUD_IMAGE = "ci.iso" CLOUD_IMAGE = "ci.iso"
@@ -275,8 +275,9 @@ class Run:
Helper class on subprocess.run() Helper class on subprocess.run()
command is a list with command and its params to execute command is a list with command and its params to execute
""" """
def __init__(self, command): def __init__(self, command, capture=True):
result = subprocess.run(command, encoding='utf-8', capture_output=True) result = subprocess.run(command, encoding='utf-8',
capture_output=capture)
self.returncode = result.returncode self.returncode = result.returncode
self.stdout = result.stdout.strip() if result.stdout else '' self.stdout = result.stdout.strip() if result.stdout else ''
@@ -1635,7 +1636,7 @@ def connect(args):
f'@localhost:{conf.port}'] f'@localhost:{conf.port}']
LOG.debug('Connecting to vm `%s` using command:\n%s', args.name, LOG.debug('Connecting to vm `%s` using command:\n%s', args.name,
' '.join(cmd)) ' '.join(cmd))
return Run(cmd, False).returncode return Run(cmd, capture=False).returncode
def _set_vmstate(name, state, guitype=None, poweroff=False): def _set_vmstate(name, state, guitype=None, poweroff=False):

View File

@@ -1,5 +1,5 @@
[build-system] [build-system]
requires = ["setuptools >= 61.0"] requires = ["setuptools >= 77.0"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[project] [project]
@@ -8,7 +8,7 @@ dynamic = ["version"]
authors = [ authors = [
{name = "Roman Dobosz", email = "gryf73@gmail.com"} {name = "Roman Dobosz", email = "gryf73@gmail.com"}
] ]
license = {text = "GPLv3"} license = "GPL-3.0-or-later"
description = "Run Linux cloud image on top of VirtualBox using commandline tool" description = "Run Linux cloud image on top of VirtualBox using commandline tool"
readme = "README.rst" readme = "README.rst"
requires-python = ">=3.8" requires-python = ">=3.8"
@@ -18,7 +18,6 @@ classifiers = [
"Intended Audience :: End Users/Desktop", "Intended Audience :: End Users/Desktop",
"Topic :: Terminals", "Topic :: Terminals",
"Topic :: Utilities", "Topic :: Utilities",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.9",
@@ -44,9 +43,6 @@ py-modules = ["box"]
[tool.setuptools.dynamic] [tool.setuptools.dynamic]
version = {attr = "box.__version__"} version = {attr = "box.__version__"}
[tool.distutils.bdist_wheel]
universal = true
[tool.ruff] [tool.ruff]
line-length = 79 line-length = 79
indent-width = 4 indent-width = 4