1
0
mirror of https://github.com/gryf/boxpy.git synced 2026-02-01 21:45:46 +01:00

4 Commits

Author SHA1 Message Date
60e45b9bfc Added support for Fedora 42 2025-05-20 11:27:21 +02:00
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
3 changed files with 11 additions and 11 deletions

View File

@@ -37,12 +37,14 @@ Tested distros
- 20.04
- 22.04
- 24.04
- 25.04
- Fedora
- 37
- 38
- 39
- 40
- 41
- 42
- Centos Stream
- 8
- 9

12
box.py
View File

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

View File

@@ -1,5 +1,5 @@
[build-system]
requires = ["setuptools >= 61.0"]
requires = ["setuptools >= 77.0"]
build-backend = "setuptools.build_meta"
[project]
@@ -8,7 +8,7 @@ dynamic = ["version"]
authors = [
{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"
readme = "README.rst"
requires-python = ">=3.8"
@@ -18,7 +18,6 @@ classifiers = [
"Intended Audience :: End Users/Desktop",
"Topic :: Terminals",
"Topic :: Utilities",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
@@ -44,9 +43,6 @@ py-modules = ["box"]
[tool.setuptools.dynamic]
version = {attr = "box.__version__"}
[tool.distutils.bdist_wheel]
universal = true
[tool.ruff]
line-length = 79
indent-width = 4