2020-07-30 16:20:24 -07:00
|
|
|
|
2019-11-11 18:30:46 -08:00
|
|
|
# utils
|
|
|
|
jc - JSON CLI output utility utils
|
2020-07-30 16:20:24 -07:00
|
|
|
|
2019-11-11 18:30:46 -08:00
|
|
|
## warning_message
|
|
|
|
```python
|
2021-09-23 20:53:31 -07:00
|
|
|
warning_message(message_lines)
|
2019-11-11 18:30:46 -08:00
|
|
|
```
|
2019-11-12 14:19:40 -08:00
|
|
|
|
2021-09-25 08:19:34 -07:00
|
|
|
Prints warning message for non-fatal issues. The first line is prepended with
|
2021-09-23 20:53:31 -07:00
|
|
|
'jc: Warning - ' and subsequent lines are indented. Wraps text as needed based
|
|
|
|
on the terminal width.
|
2019-11-12 14:19:40 -08:00
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
2021-09-23 20:53:31 -07:00
|
|
|
message: (list) list of string lines
|
2019-11-12 14:19:40 -08:00
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
2021-03-29 14:45:13 -07:00
|
|
|
None - just prints output to STDERR
|
2019-11-12 14:19:40 -08:00
|
|
|
|
2020-07-30 16:20:24 -07:00
|
|
|
|
2019-11-11 18:30:46 -08:00
|
|
|
## error_message
|
|
|
|
```python
|
2021-09-23 20:53:31 -07:00
|
|
|
error_message(message_lines)
|
2019-11-11 18:30:46 -08:00
|
|
|
```
|
2019-11-12 14:19:40 -08:00
|
|
|
|
2021-09-25 08:19:34 -07:00
|
|
|
Prints an error message for fatal issues. The first line is prepended with
|
2021-09-23 20:53:31 -07:00
|
|
|
'jc: Error - ' and subsequent lines are indented. Wraps text as needed based
|
|
|
|
on the terminal width.
|
2019-11-12 14:19:40 -08:00
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
2021-09-23 20:53:31 -07:00
|
|
|
message: (list) list of string lines
|
2019-11-12 14:19:40 -08:00
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
2021-03-29 14:45:13 -07:00
|
|
|
None - just prints output to STDERR
|
2019-11-12 14:19:40 -08:00
|
|
|
|
2020-07-30 16:20:24 -07:00
|
|
|
|
2019-11-11 18:30:46 -08:00
|
|
|
## compatibility
|
|
|
|
```python
|
2021-12-01 16:12:51 -08:00
|
|
|
compatibility(mod_name, compatible, quiet=False)
|
2019-11-11 18:30:46 -08:00
|
|
|
```
|
|
|
|
Checks for the parser's compatibility with the running OS platform.
|
|
|
|
|
2019-11-12 14:19:40 -08:00
|
|
|
Parameters:
|
2019-11-11 18:30:46 -08:00
|
|
|
|
2019-11-13 08:04:40 -08:00
|
|
|
mod_name: (string) __name__ of the calling module
|
2019-11-12 07:08:35 -08:00
|
|
|
|
2019-11-13 08:04:40 -08:00
|
|
|
compatible: (list) sys.platform name(s) compatible with the parser
|
2019-11-12 07:07:43 -08:00
|
|
|
compatible options:
|
|
|
|
linux, darwin, cygwin, win32, aix, freebsd
|
2019-11-11 18:30:46 -08:00
|
|
|
|
2021-12-01 16:12:51 -08:00
|
|
|
quiet: (bool) supress compatibility message if True
|
|
|
|
|
2019-11-12 14:20:59 -08:00
|
|
|
Returns:
|
|
|
|
|
2021-03-29 14:45:13 -07:00
|
|
|
None - just prints output to STDERR
|
2019-11-12 14:20:59 -08:00
|
|
|
|
2020-07-30 16:20:24 -07:00
|
|
|
|
2020-06-14 17:23:10 -07:00
|
|
|
## has_data
|
|
|
|
```python
|
|
|
|
has_data(data)
|
|
|
|
```
|
|
|
|
|
|
|
|
Checks if the input contains data. If there are any non-whitespace characters then return True, else return False
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
data: (string) input to check whether it contains data
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
Boolean True if input string (data) contains non-whitespace characters, otherwise False
|
|
|
|
|
2021-03-24 12:47:57 -07:00
|
|
|
|
2021-04-18 11:46:42 -07:00
|
|
|
## convert_to_int
|
|
|
|
```python
|
|
|
|
convert_to_int(value)
|
|
|
|
```
|
|
|
|
|
2021-04-21 07:51:32 -07:00
|
|
|
Converts string and float input to int. Strips all non-numeric characters from strings.
|
2021-04-18 11:46:42 -07:00
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
2021-04-18 16:33:47 -07:00
|
|
|
value: (string/integer/float) Input value
|
2021-04-18 11:46:42 -07:00
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
integer/None Integer if successful conversion, otherwise None
|
|
|
|
|
|
|
|
|
|
|
|
## convert_to_float
|
|
|
|
```python
|
|
|
|
convert_to_float(value)
|
|
|
|
```
|
|
|
|
|
2021-04-21 07:51:32 -07:00
|
|
|
Converts string and int input to float. Strips all non-numeric characters from strings.
|
2021-04-18 11:46:42 -07:00
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
value: (string) Input value
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
float/None Float if successful conversion, otherwise None
|
|
|
|
|
|
|
|
|
|
|
|
## convert_to_bool
|
|
|
|
```python
|
|
|
|
convert_to_bool(value)
|
|
|
|
```
|
|
|
|
|
|
|
|
Converts string, integer, or float input to boolean by checking for 'truthy' values
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
value: (string/integer/float) Input value
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
True/False False unless a 'truthy' number or string is found ('y', 'yes', 'true', '1', 1, -1, etc.)
|
|
|
|
|
|
|
|
|
2021-09-17 10:26:47 -07:00
|
|
|
## stream_success
|
|
|
|
```python
|
2021-09-23 11:48:39 -07:00
|
|
|
stream_success(output_line, ignore_exceptions)
|
2021-09-17 10:26:47 -07:00
|
|
|
```
|
2021-09-25 08:23:46 -07:00
|
|
|
Add `_jc_meta` object to output line if `ignore_exceptions=True`
|
2021-09-17 10:26:47 -07:00
|
|
|
|
2021-09-13 21:14:56 -07:00
|
|
|
## stream_error
|
|
|
|
```python
|
2021-09-23 11:48:39 -07:00
|
|
|
stream_error(e, ignore_exceptions, line)
|
2021-09-13 21:14:56 -07:00
|
|
|
```
|
2021-09-25 08:23:46 -07:00
|
|
|
Reraise the stream exception with annotation or print an error `_jc_meta`
|
|
|
|
field if `ignore_exceptions=True`
|
2021-09-23 13:08:31 -07:00
|
|
|
|
2021-09-13 21:14:56 -07:00
|
|
|
|
2021-12-01 16:12:51 -08:00
|
|
|
## input_type_check
|
|
|
|
```python
|
|
|
|
input_type_check(data)
|
|
|
|
```
|
|
|
|
Ensure input data is a string
|
|
|
|
|
|
|
|
## streaming_input_type_check
|
|
|
|
```python
|
|
|
|
streaming_input_type_check(data)
|
|
|
|
```
|
|
|
|
Ensure input data is an iterable, but not a string or bytes
|
|
|
|
|
|
|
|
## streaming_line_input_type_check
|
|
|
|
```python
|
|
|
|
streaming_line_input_type_check(line)
|
|
|
|
```
|
|
|
|
Ensure each line is a string
|
|
|
|
|
2021-04-01 20:13:40 -07:00
|
|
|
## timestamp
|
2021-03-24 12:47:57 -07:00
|
|
|
```python
|
2021-04-01 20:13:40 -07:00
|
|
|
timestamp(datetime_string)
|
2021-03-24 12:47:57 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
Input a date-time text string of several formats and convert to a naive or timezone-aware epoch timestamp in UTC
|
|
|
|
|
|
|
|
Parameters:
|
2021-04-03 14:48:30 -07:00
|
|
|
|
2021-04-01 20:13:40 -07:00
|
|
|
datetime_string: (str) a string representation of a date-time in several supported formats
|
2021-03-24 12:47:57 -07:00
|
|
|
|
2021-04-01 20:13:40 -07:00
|
|
|
Attributes:
|
2021-04-03 14:48:30 -07:00
|
|
|
|
2021-04-01 20:13:40 -07:00
|
|
|
string (str) the input datetime string
|
2021-09-25 08:28:57 -07:00
|
|
|
format (int) the format rule that was used to decode the datetime string. None if conversion fails
|
2021-04-01 20:13:40 -07:00
|
|
|
naive (int) timestamp based on locally configured timezone. None if conversion fails
|
|
|
|
utc (int) aware timestamp only if UTC timezone detected in datetime string. None if conversion fails
|
2021-03-24 12:47:57 -07:00
|
|
|
|