p3lib 1.1.114__py2.py3-none-any.whl → 1.1.116__py2.py3-none-any.whl

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.
p3lib/helper.py CHANGED
@@ -9,6 +9,7 @@ import platform
9
9
  import json
10
10
  import traceback
11
11
  import socket
12
+ import inspect
12
13
 
13
14
  def initArgs(parser, lastCmdLineArg=None, checkHostArg=True):
14
15
  """This method is responsible for
@@ -446,3 +447,70 @@ def getProgramVersion():
446
447
  raise Exception(f"Failed to extract program version from '{line}' line of {poetryConfigFile} file.")
447
448
  return programVersion
448
449
 
450
+ def get_assets_folders():
451
+ """@return A list of all the assets folders found."""
452
+ searchFolders = []
453
+ assetsFolders = []
454
+ calling_file = None
455
+ # Get the full path to the python file that called this get_assets_folders() function.
456
+ frame = inspect.stack()[1]
457
+ module = inspect.getmodule(frame[0])
458
+ if module and hasattr(module, '__file__'):
459
+ calling_file = os.path.abspath(module.__file__)
460
+
461
+ if calling_file:
462
+ startup_path = os.path.dirname(calling_file)
463
+ searchFolders.append( os.path.join(startup_path, 'assets') )
464
+ pp1 = os.path.join(startup_path, '..')
465
+ searchFolders.append( os.path.join(pp1, 'assets') )
466
+ pp2 = os.path.join(pp1, '..')
467
+ searchFolders.append( os.path.join(pp2, 'assets') )
468
+ # Try all the site packages folders we know about.
469
+ for path in sys.path:
470
+ if 'site-packages' in path:
471
+ site_packages_path = path
472
+ searchFolders.append( os.path.join(site_packages_path, 'assets') )
473
+
474
+ for folder in searchFolders:
475
+ absPath = os.path.abspath(folder)
476
+ if os.path.isdir(absPath):
477
+ assetsFolders.append(absPath)
478
+
479
+ return assetsFolders
480
+
481
+
482
+ def get_assets_folder(raise_error=True):
483
+ """@brief Get the assests folder.
484
+ @param raise_error If True then raise an error if the assets folder is not found.
485
+ @return The abs assets folder path string."""
486
+ searchFolders = []
487
+ assetsFolder = None
488
+ calling_file = None
489
+ # Get the full path to the python file that called this get_assets_folder() function.
490
+ frame = inspect.stack()[1]
491
+ module = inspect.getmodule(frame[0])
492
+ if module and hasattr(module, '__file__'):
493
+ calling_file = os.path.abspath(module.__file__)
494
+
495
+ if calling_file:
496
+ startup_path = os.path.dirname(calling_file)
497
+ searchFolders.append( os.path.join(startup_path, 'assets') )
498
+ pp1 = os.path.join(startup_path, '..')
499
+ searchFolders.append( os.path.join(pp1, 'assets') )
500
+ pp2 = os.path.join(pp1, '..')
501
+ searchFolders.append( os.path.join(pp2, 'assets') )
502
+ # Try all the site packages folders we know about.
503
+ for path in sys.path:
504
+ if 'site-packages' in path:
505
+ site_packages_path = path
506
+ searchFolders.append( os.path.join(site_packages_path, 'assets') )
507
+
508
+ for folder in searchFolders:
509
+ absPath = os.path.abspath(folder)
510
+ if os.path.isdir(absPath):
511
+ assetsFolder = absPath
512
+
513
+ if raise_error and assetsFolder is None:
514
+ raise Exception('Failed to find assets folder.')
515
+
516
+ return assetsFolder
p3lib/ngt.py CHANGED
@@ -13,6 +13,8 @@ from time import sleep
13
13
  from queue import Queue
14
14
  from time import time, strftime, localtime
15
15
 
16
+ from p3lib.helper import getProgramVersion
17
+
16
18
  from nicegui import ui
17
19
 
18
20
  class TabbedNiceGui(object):
@@ -78,29 +80,7 @@ class TabbedNiceGui(object):
78
80
  def GetProgramVersion():
79
81
  """@brief Get the program version from the poetry pyproject.toml file.
80
82
  @return The version of the installed program (string value)."""
81
- poetryConfigFile = os.path.join(TabbedNiceGui.LOCAL_PATH, TabbedNiceGui.POETRY_CONFIG_FILE)
82
- if not os.path.isfile(poetryConfigFile):
83
- poetryConfigFile = os.path.join(TabbedNiceGui.LOCAL_PATH, ".." + os.sep + TabbedNiceGui.POETRY_CONFIG_FILE)
84
- poetryConfigFile2 = poetryConfigFile
85
- if not os.path.isfile(poetryConfigFile):
86
- cwd = os.getcwd()
87
- poetryConfigFile = os.path.join(cwd, TabbedNiceGui.POETRY_CONFIG_FILE)
88
- if not os.path.isfile(poetryConfigFile):
89
- raise Exception(f"{poetryConfigFile}, {poetryConfigFile2} and {poetryConfigFile} not found.")
90
-
91
- programVersion = None
92
- with open(poetryConfigFile, 'r') as fd:
93
- lines = fd.readlines()
94
- for line in lines:
95
- line=line.strip("\r\n")
96
- if line.startswith('version'):
97
- elems = line.split("=")
98
- if len(elems) == 2:
99
- programVersion = elems[1].strip('" ')
100
- break
101
- if programVersion is None:
102
- raise Exception(f"Failed to extract program version from '{line}' line of {poetryConfigFile} file.")
103
- return programVersion
83
+ return getProgramVersion()
104
84
 
105
85
  def __init__(self, debugEnabled, logPath=None):
106
86
  """@brief Constructor
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: p3lib
3
- Version: 1.1.114
3
+ Version: 1.1.116
4
4
  Summary: A group of python modules for networking, plotting data, config storage, automating boot scripts, ssh access and user input output.
5
5
  Home-page: https://github.com/pjaos/p3lib
6
6
  License: MIT
@@ -7,18 +7,18 @@ p3lib/conduit.py,sha256=jPkjdtyCx2I6SFqcEo8y2g7rgnZ-jNY7oCuYIETzT5Q,6046
7
7
  p3lib/database_if.py,sha256=XKu1w3zftGbj4Rh54wrWJnoCtqHkhCzJUPN2S70XIKg,11915
8
8
  p3lib/file_io.py,sha256=A7_GKYPlmjRjq6U1YuWhmB0OhLhNm6cWQfQX8qfgYTk,5041
9
9
  p3lib/gnome_desktop_app.py,sha256=zl9SKRBV8ipVg2faCs_gbAr8c42J1N_pntbFGG2BMiE,6694
10
- p3lib/helper.py,sha256=DYfGYC7hmaZZJVivgnOHQGln5tJshZfJEC0KRIda7QU,14923
10
+ p3lib/helper.py,sha256=QfMe1T1SjJgbssp5Q0XPYZWzv2Pgd4YA5OdzJrtQXYI,17608
11
11
  p3lib/json_networking.py,sha256=6u4s1SmypjTYPnSxHP712OgQ3ZJaxOqIkgHQ1J7Qews,9738
12
12
  p3lib/login.html,sha256=DADTJGuvWQ-LTO4X6SaFdqK7JMW03DAa3lRieGD0d6g,2748
13
13
  p3lib/mqtt_rpc.py,sha256=6LmFA1kR4HSJs9eWbOJORRHNY01L_lHWjvtE2fmY8P8,10511
14
14
  p3lib/netif.py,sha256=3QV5OGdHhELIf4MBj6mx5MNCtVeZ7JXoNEkeu4KzCaE,9796
15
15
  p3lib/netplotly.py,sha256=PMDx-w1jtRVW6Od5u_kuKbBxNpTS_Y88mMF60puMxLM,9363
16
- p3lib/ngt.py,sha256=hdS60qKm9x1j5XG2VOVFxO1RLe5pEcCSsaqP-TZF3Cc,40053
16
+ p3lib/ngt.py,sha256=NLZy-obwpDKYP5dcW8A6aNGS55t5yqsafOpJ0iVThLw,38883
17
17
  p3lib/pconfig.py,sha256=wGC6UJAIBksRjwKTfaw3Y6vAMkgey0QC2nhkCtqj1MQ,37738
18
18
  p3lib/ssh.py,sha256=OyoAQ_h1L2RfkjTAChDrvLFfl4Fe_gBNdX5rvK-wKiw,42125
19
19
  p3lib/table_plot.py,sha256=RPncwVlGUkkx5Fw0dHQedXo0TSPlTi__VrJBDzaMsuI,32116
20
20
  p3lib/uio.py,sha256=Aaxc99XiE3d2f9vLjaN-bZsckoNxay5t0ujdK6PXGrw,23265
21
- p3lib-1.1.114.dist-info/LICENSE,sha256=igqTy5u0kVWM1n-NUZMvAlinY6lVjAXKoag0okkS8V8,1067
22
- p3lib-1.1.114.dist-info/METADATA,sha256=FvigqP_BodHdfs2lR40UbNyf3sa89OcSktm0lAzCZBI,1319
23
- p3lib-1.1.114.dist-info/WHEEL,sha256=IrRNNNJ-uuL1ggO5qMvT1GGhQVdQU54d6ZpYqEZfEWo,92
24
- p3lib-1.1.114.dist-info/RECORD,,
21
+ p3lib-1.1.116.dist-info/LICENSE,sha256=igqTy5u0kVWM1n-NUZMvAlinY6lVjAXKoag0okkS8V8,1067
22
+ p3lib-1.1.116.dist-info/METADATA,sha256=lzcibxF46cePc7jeSzc30FuiJZpkvkW7LFIwDk4Kiso,1319
23
+ p3lib-1.1.116.dist-info/WHEEL,sha256=IrRNNNJ-uuL1ggO5qMvT1GGhQVdQU54d6ZpYqEZfEWo,92
24
+ p3lib-1.1.116.dist-info/RECORD,,