Utils
Snailz utilities.
choose_one(items)
Choose one item at random.
Source code in src/snailz/utils.py
42 43 44 |
|
fail(msg)
Report failure and exit.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
msg
|
str
|
Error message to display |
required |
Source code in src/snailz/utils.py
47 48 49 50 51 52 53 54 |
|
json_dump(obj, indent=2)
Dump as JSON with appropriate settings.
Source code in src/snailz/utils.py
57 58 59 |
|
report(verbose, msg)
Report if verbosity turned on.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
verbose
|
bool
|
Is display on or off? |
required |
msg
|
str
|
Message to display |
required |
Source code in src/snailz/utils.py
62 63 64 65 66 67 68 69 70 |
|
sigmoid(x)
Calculate sigmoid curve value for x in 0..1.
Sigmoid parameters are chosen so that s(0)=0, s(0.5)=0.5, and s(1)=1.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x
|
float
|
input value |
required |
Returns:
Type | Description |
---|---|
float
|
Sigmoid curve value. |
Source code in src/snailz/utils.py
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
|
to_csv(rows, fields, f_make_row)
Generic converter from list of models to CSV string.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rows
|
list
|
List of rows to convert. |
required |
fields
|
list
|
List of names of columns. |
required |
f_make_row
|
Callable
|
Function that converts a row to text. |
required |
Returns:
Type | Description |
---|---|
str
|
CSV representation of data. |
Source code in src/snailz/utils.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
|
unique_id(name, func, limit=UNIQUE_ID_LIMIT)
Generate unique IDs.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
name of this generator |
required |
func
|
Callable
|
function to generate next candidate |
required |
limit
|
int
|
how many tries per ID |
UNIQUE_ID_LIMIT
|
Returns:
Type | Description |
---|---|
None
|
Unique ID. |
Source code in src/snailz/utils.py
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
|
_make_unique_id_generator(name, func, limit)
Create and prime a unique ID generator.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
name of this generator |
required |
func
|
Callable
|
function to generate next candidate |
required |
limit
|
int
|
how many tries per ID |
required |
Returns:
Type | Description |
---|---|
None
|
Unique ID. |
Source code in src/snailz/utils.py
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
_serialize_json(obj)
Custom JSON serializer for JSON conversion.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
obj
|
object
|
The object to serialize |
required |
Returns:
Type | Description |
---|---|
str | dict | None
|
String representation of date objects or dict for Pydantic models; |
str | dict | None
|
None for PIL images. |
Raises:
Type | Description |
---|---|
TypeError
|
If the object type is not supported for serialization |
Source code in src/snailz/utils.py
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
|