vappman 2.0.7__tar.gz → 2.1.2__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 (24) hide show
  1. {vappman-2.0.7 → vappman-2.1.2}/.gitignore +1 -0
  2. {vappman-2.0.7 → vappman-2.1.2}/PKG-INFO +5 -4
  3. {vappman-2.0.7 → vappman-2.1.2}/README.md +1 -1
  4. {vappman-2.0.7 → vappman-2.1.2}/pyproject.toml +2 -2
  5. {vappman-2.0.7 → vappman-2.1.2}/vappman/AppmanVars.py +1 -1
  6. {vappman-2.0.7 → vappman-2.1.2}/vappman/main.py +8 -8
  7. {vappman-2.0.7 → vappman-2.1.2}/LICENSE +0 -0
  8. {vappman-2.0.7 → vappman-2.1.2}/images/screen-2024-06-23-v0.7.mkv +0 -0
  9. {vappman-2.0.7 → vappman-2.1.2}/images/vappman-2025-12-28.12-48.gif +0 -0
  10. {vappman-2.0.7 → vappman-2.1.2}/images/vappman-with-filter.png +0 -0
  11. {vappman-2.0.7 → vappman-2.1.2}/runner +0 -0
  12. {vappman-2.0.7 → vappman-2.1.2}/tests/example_init_order.py +0 -0
  13. {vappman-2.0.7 → vappman-2.1.2}/tests/test_abut.py +0 -0
  14. {vappman-2.0.7 → vappman-2.1.2}/tests/test_init_order.py +0 -0
  15. {vappman-2.0.7 → vappman-2.1.2}/tests/test_scope_subtraction.py +0 -0
  16. {vappman-2.0.7 → vappman-2.1.2}/tests/test_scoped_keys.py +0 -0
  17. {vappman-2.0.7 → vappman-2.1.2}/tests/test_scoped_keys_unit.py +0 -0
  18. {vappman-2.0.7 → vappman-2.1.2}/vappman/AppimageDoctor.py +0 -0
  19. {vappman-2.0.7 → vappman-2.1.2}/vappman/AppmanLauncher.py +0 -0
  20. {vappman-2.0.7 → vappman-2.1.2}/vappman/CommandRunner.py +0 -0
  21. {vappman-2.0.7 → vappman-2.1.2}/vappman/PersistentState.py +0 -0
  22. {vappman-2.0.7 → vappman-2.1.2}/vappman/Prerequisites.py +0 -0
  23. {vappman-2.0.7 → vappman-2.1.2}/vappman/VappmanListCache.py +0 -0
  24. {vappman-2.0.7 → vappman-2.1.2}/vappman/__init__.py +0 -0
@@ -1,4 +1,5 @@
1
1
  # Byte-compiled / optimized / DLL files
2
+ .venv/
2
3
  __pycache__/
3
4
  .vscode/
4
5
  *.egg-info/
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: vappman
3
- Version: 2.0.7
3
+ Version: 2.1.2
4
4
  Summary: A visual wrapper for appman
5
5
  Keywords: app,installer,manager,appimages
6
6
  Author-email: Joe Defen <joedef@google.com>
@@ -9,7 +9,8 @@ Description-Content-Type: text/markdown
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: POSIX :: Linux
12
- Requires-Dist: console-window >= 1.2.1
12
+ License-File: LICENSE
13
+ Requires-Dist: console-window == 1.3.2
13
14
  Project-URL: Bug Tracker, https://github.com/joedefen/vappman/issues
14
15
  Project-URL: Homepage, https://github.com/joedefen/vappman
15
16
 
@@ -34,7 +35,7 @@ Project-URL: Homepage, https://github.com/joedefen/vappman
34
35
  * **Dual Mode Support**: Works with both `am` (system-wide) and `appman` (user-local). The (`m`) m-key toggles user (local install) and system (non-local install) modes when using `am`.
35
36
  * **Multi-Database Support**: Access all of `am`'s app databases including:
36
37
  * `am` - Main AppImage database with 2000+ portable Linux applications
37
- * `busybox` - Minimal Unix utilities as AppImages
38
+ * `busybox` - Minimal Unix utilities as binaries
38
39
  * `appbundle` - AppBundle format packages (portable application bundles)
39
40
  * `python` - Python interpreters (multiple versions available as AppImages)
40
41
  * `soarpkg` - [Soar User Repository](https://github.com/pkgforge/soarpkgs) packages (portable, distro-independent binaries)
@@ -19,7 +19,7 @@
19
19
  * **Dual Mode Support**: Works with both `am` (system-wide) and `appman` (user-local). The (`m`) m-key toggles user (local install) and system (non-local install) modes when using `am`.
20
20
  * **Multi-Database Support**: Access all of `am`'s app databases including:
21
21
  * `am` - Main AppImage database with 2000+ portable Linux applications
22
- * `busybox` - Minimal Unix utilities as AppImages
22
+ * `busybox` - Minimal Unix utilities as binaries
23
23
  * `appbundle` - AppBundle format packages (portable application bundles)
24
24
  * `python` - Python interpreters (multiple versions available as AppImages)
25
25
  * `soarpkg` - [Soar User Repository](https://github.com/pkgforge/soarpkgs) packages (portable, distro-independent binaries)
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "vappman"
7
- version = "2.0.7"
7
+ version = "2.1.2"
8
8
  description = "A visual wrapper for appman"
9
9
  authors = [
10
10
  { name = "Joe Defen", email = "joedef@google.com" }
@@ -19,7 +19,7 @@ classifiers = [
19
19
  "Operating System :: POSIX :: Linux"
20
20
  ]
21
21
  dependencies = [
22
- 'console-window >= 1.2.1',
22
+ 'console-window == 1.3.2',
23
23
  ]
24
24
 
25
25
  [project.urls]
@@ -10,7 +10,7 @@ class AppLocation(NamedTuple):
10
10
  usr_path: Path # Path to user storage dir or None
11
11
 
12
12
  class AppmanVars:
13
- """ Encapuslates the places / functions we need to know
13
+ """ Encapsulates the places / functions we need to know
14
14
  about to observe, manage am/appman. """
15
15
  def __init__(self):
16
16
  self.system_app_dir = Path("/opt")
@@ -481,9 +481,9 @@ class Vappman(Prerequisites):
481
481
  1st word.
482
482
  """
483
483
  def parse_app_list(lines):
484
- nonlocal current_in_user_mode
484
+ nonlocal switch_to_system_mode
485
485
  installs, installs_by_appname = {}, {}
486
- local = False
486
+ local = True if self.has_appman else False
487
487
  has_db_column = False
488
488
 
489
489
  # Process line by line
@@ -492,7 +492,7 @@ class Vappman(Prerequisites):
492
492
  for line in lines:
493
493
  line = line.strip()
494
494
  # Determine to reset location (Global vs Local)
495
- if 'HAVE INSTALLED' in line:
495
+ if not self.has_appman and 'HAVE INSTALLED' in line:
496
496
  local = bool('LOCAL' in line)
497
497
 
498
498
  # Check column headers to see if DB column is present
@@ -529,7 +529,7 @@ class Vappman(Prerequisites):
529
529
  # Store as a SimpleNamespace for dot-notation access
530
530
  ns = installs.get((name, db), None)
531
531
  if ns: # we have both user and system apps
532
- if current_in_user_mode and local:
532
+ if switch_to_system_mode and local:
533
533
  ns.version=version
534
534
  ns.where += where
535
535
  else:
@@ -547,12 +547,12 @@ class Vappman(Prerequisites):
547
547
  command = ['appman' if self.has_appman else 'am']
548
548
  command += cmd.split()
549
549
  output_key = ' '.join(command)
550
- current_in_user_mode = self.appman.is_user_mode()
550
+ switch_to_system_mode = not self.has_appman and self.appman.is_user_mode()
551
551
 
552
552
  output = self.saved_outputs.get(output_key, None)
553
553
  if repull or not output:
554
554
  if 'files' in cmd.split():
555
- if current_in_user_mode is True:
555
+ if switch_to_system_mode is True:
556
556
  # temp: promote to system mode to get all apps
557
557
  self.appman.set_system_mode_cheat(True)
558
558
 
@@ -563,11 +563,11 @@ class Vappman(Prerequisites):
563
563
  stderr=subprocess.PIPE, check=False)
564
564
  except Exception as exc:
565
565
  ConsoleWindow.stop_curses()
566
- if current_in_user_mode is True:
566
+ if switch_to_system_mode is True:
567
567
  self.appman.set_system_mode_cheat(False)
568
568
  print(f'FAILED: {command}: {exc}')
569
569
  sys.exit(1)
570
- if current_in_user_mode is True:
570
+ if switch_to_system_mode is True:
571
571
  self.appman.set_system_mode_cheat(False)
572
572
 
573
573
  if result.returncode != 0:
File without changes
File without changes
File without changes
File without changes