1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/utils.md

156 lines
3.4 KiB
Markdown
Raw Normal View History

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
compatibility(mod_name, compatible)
```
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
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.)
## stream_success
```python
2021-09-23 11:48:39 -07:00
stream_success(output_line, ignore_exceptions)
```
2021-09-25 08:23:46 -07:00
Add `_jc_meta` object to output line if `ignore_exceptions=True`
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
## timestamp
2021-03-24 12:47:57 -07:00
```python
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
datetime_string: (str) a string representation of a date-time in several supported formats
2021-03-24 12:47:57 -07:00
Attributes:
2021-04-03 14:48:30 -07:00
string (str) the input datetime string
format (int) the format rule that was used to decode the datetime string
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