You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
User receives AttributeError: 'int' object has no attribute 'isdigit' when manually entering array_sizes for parameters.
To Reproduce
Steps to reproduce the behavior:
undef OS_MAX_PATH_LEN
Edit CHeaderParser-hdr-paths.txt and remove # on fm_msgdefs.h and fm_msg.h
Run python3 CHeaderParser.py
Enter the file name to save, I chose fm_app_cmd_file
Type yes
Pick a command with parameters which contains usage of OS_MAX_PATH_LEN e.g. I am choosing FM_DECOMPRESS
Choose the appropriate struct e.g. 10
Choose the line containing OS_MAX_PATH_LEN e.g. 2
Enter any value for OS_MAX_PATH_LEN
See error below
Expected behavior
Traceback (most recent call last):
File "CHeaderParser.py", line 451, in <module>
while not array_size.isdigit() or int(
AttributeError: 'int' object has no attribute 'isdigit'
whilenotarray_size.isdigit() orint(
array_size) notinrange(129):
# User input is not an integerifnotarray_size.isdigit():
print("Could not translate",
array_name_size[1])
else:
print(
"Array size out of bounds. It must be between 0 and 128."
)
try:
# Try to translate user input to an integerarray_size=int(
input(
(f"Please enter the defined value for "f"{array_name_size[1]} (0 - 128): ")))
exceptValueError:
pass# Ignore non-integer and try again
System observed on:
Hardware: VirtualBox
OS: Ubuntu 20.04
Versions [e.g. cFE 6.6, OSAL 4.2, PSP 1.3 for mcp750, any related apps]
whilenotarray_size.isdigit() orint(
array_size) notinrange(129):
# User input is not an integerifnotarray_size.isdigit():
print("Could not translate",
array_name_size[1])
else:
print(
"Array size out of bounds. It must be between 0 and 128."
)
try:
# Try to translate user input to an integerarray_size=input(
(f"Please enter the defined value for "f"{array_name_size[1]} (0 - 128): "))
exceptValueError:
pass# Ignore non-integer and try again
Additional context
If you want to maintain the array_size as type int you can set the array_size to int array_size = int(array_size) after that while block above.
Reporter Info
Charles Taylor ER6
Johnson Space Center
I am on Teams
The text was updated successfully, but these errors were encountered:
Describe the bug
User receives
AttributeError: 'int' object has no attribute 'isdigit'
when manually entering array_sizes for parameters.To Reproduce
Steps to reproduce the behavior:
CHeaderParser-hdr-paths.txt
and remove#
onfm_msgdefs.h
andfm_msg.h
python3 CHeaderParser.py
yes
OS_MAX_PATH_LEN
e.g. I am choosingFM_DECOMPRESS
10
2
Expected behavior
Code snips
https://github.com/nasa/cFS-GroundSystem/blob/main/Subsystems/cmdGui/CHeaderParser.py#L450-L467
System observed on:
Fix
I believe the fix to be to remove
int
on the input function on line 462 : https://github.com/nasa/cFS-GroundSystem/blob/main/Subsystems/cmdGui/CHeaderParser.py#L462 like so:Additional context
If you want to maintain the array_size as type
int
you can set the array_size to intarray_size = int(array_size)
after that while block above.Reporter Info
Charles Taylor ER6
Johnson Space Center
I am on Teams
The text was updated successfully, but these errors were encountered: