p3lib 1.1.115__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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: p3lib
3
- Version: 1.1.115
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,7 +7,7 @@ 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
@@ -18,7 +18,7 @@ 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.115.dist-info/LICENSE,sha256=igqTy5u0kVWM1n-NUZMvAlinY6lVjAXKoag0okkS8V8,1067
22
- p3lib-1.1.115.dist-info/METADATA,sha256=Rmm1RFbcyjFCUu00p1Z7xWZXhn9YtnuNuINBNeomVL0,1319
23
- p3lib-1.1.115.dist-info/WHEEL,sha256=IrRNNNJ-uuL1ggO5qMvT1GGhQVdQU54d6ZpYqEZfEWo,92
24
- p3lib-1.1.115.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,,