p3lib 1.1.110__tar.gz → 1.1.111__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: p3lib
3
- Version: 1.1.110
3
+ Version: 1.1.111
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/test_equipment
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "p3lib"
3
- version = "1.1.110"
3
+ version = "1.1.111"
4
4
  description = "A group of python modules for networking, plotting data, config storage, automating boot scripts, ssh access and user input output."
5
5
  authors = ["Paul Austen <pjaos@gmail.com>"]
6
6
  license = "MIT License"
@@ -383,7 +383,8 @@ def getAbsFile(filename):
383
383
  1 - The startup folder
384
384
  2 - An 'assets' folder in the startup folder
385
385
  3 - An 'assets' folder in the startup parent folder
386
- 3 - In an 'assets' folder in a python site-packages folder.
386
+ 4 - In a site-packages folder.
387
+ 5 - In an 'assets' folder in a python site-packages folder.
387
388
  @param filename The name of the icon file.
388
389
  @return The abs path of the file or None if not found."""
389
390
  file_found = None
@@ -411,14 +412,19 @@ def getAbsFile(filename):
411
412
  for path in sys.path:
412
413
  if 'site-packages' in path:
413
414
  site_packages_path = path
414
- path3 = os.path.join(site_packages_path, 'assets')
415
- abs_filename = os.path.join(path3, filename)
415
+ abs_filename = os.path.join(site_packages_path, filename)
416
+ print(f"PJA: abs_filename={abs_filename}, FOUND={os.path.isfile(abs_filename)}")
416
417
  if os.path.isfile(abs_filename):
417
418
  file_found = abs_filename
418
- break
419
419
 
420
- return file_found
420
+ else:
421
+ path3 = os.path.join(site_packages_path, 'assets')
422
+ abs_filename = os.path.join(path3, filename)
423
+ if os.path.isfile(abs_filename):
424
+ file_found = abs_filename
425
+ break
421
426
 
427
+ return file_found
422
428
 
423
429
  PYPROJECT_FILE = "pyproject.toml"
424
430
 
@@ -217,22 +217,22 @@ class UIO(object):
217
217
  value = float(response)
218
218
  else:
219
219
  value = int(response, radix)
220
-
220
+
221
221
  if minValue is not None and value < minValue:
222
222
  self.warn(f"The minimum acceptable value is {minValue}")
223
-
223
+
224
224
  if maxValue is not None and value > maxValue:
225
225
  self.warn(f"The mximum acceptable value is {maxValue}")
226
-
226
+
227
227
  return value
228
228
 
229
229
  except ValueError:
230
230
  if floatValue:
231
231
  self.warn("%s is not a valid float value." % (response))
232
-
232
+
233
233
  else:
234
234
  self.warn("%s is not a valid integer value." % (response))
235
-
235
+
236
236
  if allowQuit and response.lower() == 'q':
237
237
  return None
238
238
 
@@ -424,7 +424,7 @@ class UIO(object):
424
424
  #Ignore if se can't resolve address. We don't really syslog want errors to stop the user interface
425
425
  except:
426
426
  pass
427
-
427
+
428
428
  def showTable(self, table, rowSeparatorChar = "-", colSeparatorChar = "|"):
429
429
  """@brief Show the contents of a table to the user.
430
430
  @param table This must be a list. Each list element must be a table row (list).
@@ -435,18 +435,18 @@ class UIO(object):
435
435
  # Check we have a table to display
436
436
  if len(table) == 0:
437
437
  raise Exception("No table rows to display")
438
-
438
+
439
439
  # Check all rows have the same number of columns in the table
440
440
  colCount = len(table[0])
441
441
  for row in table:
442
442
  if len(row) != colCount:
443
443
  raise Exception(f"{str(row)} column count different from first row ({colCount})")
444
-
444
+
445
445
  for row in table:
446
446
  for col in row:
447
447
  if not isinstance(col, str):
448
448
  raise Exception(f"Table column is not a string: {col} in {row}")
449
-
449
+
450
450
  # Get the max width for each column
451
451
  for col in range(0,colCount):
452
452
  maxWidth=0
@@ -458,10 +458,10 @@ class UIO(object):
458
458
  tableWidth = 1
459
459
  for columnWidth in columnWidths:
460
460
  tableWidth += columnWidth + 3 # Space each side of the column + a column divider character
461
-
461
+
462
462
  # Add the top line of the table
463
463
  self.info(rowSeparatorChar*tableWidth)
464
-
464
+
465
465
  # The starting row index
466
466
  for rowIndex in range(0, len(table)):
467
467
  rowText = colSeparatorChar
@@ -473,7 +473,7 @@ class UIO(object):
473
473
  self.info(rowText)
474
474
  # Add the row separator line
475
475
  self.info(rowSeparatorChar*tableWidth)
476
-
476
+
477
477
  class ConsoleMenu(object):
478
478
  """@brief Responsible for presenting a list of options to the user on a
479
479
  console/terminal interface and allowing the user to select
@@ -508,10 +508,10 @@ class ConsoleMenu(object):
508
508
  selectedMethod()
509
509
  else:
510
510
  selectedMethod(*args)
511
-
512
-
513
-
514
-
511
+
512
+
513
+
514
+
515
515
 
516
516
  # -------------------------------------------------------------------
517
517
  # @brief An implementation to allow syslog messages to be generated.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes