velocity-python 0.0.71__tar.gz → 0.0.74__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.
Potentially problematic release.
This version of velocity-python might be problematic. Click here for more details.
- {velocity_python-0.0.71 → velocity_python-0.0.74}/PKG-INFO +1 -1
- {velocity_python-0.0.71 → velocity_python-0.0.74}/pyproject.toml +1 -1
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/__init__.py +1 -1
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/format.py +26 -18
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/PKG-INFO +1 -1
- {velocity_python-0.0.71 → velocity_python-0.0.74}/LICENSE +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/README.md +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/setup.cfg +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/handlers/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/handlers/context.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/handlers/lambda_handler.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/handlers/response.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/handlers/sqs_handler.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/column.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/database.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/decorators.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/engine.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/exceptions.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/result.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/row.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/sequence.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/table.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/core/transaction.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/mysql.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/mysql_reserved.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/operators.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/reserved.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/sql.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/types.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/sqlite.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/sqlite_reserved.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/sqlserver.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/sqlserver_reserved.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/tablehelper.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/conv/__init__.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/conv/iconv.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/conv/oconv.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/db.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/export.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/mail.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/merge.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/timer.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/misc/tools.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/SOURCES.txt +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/dependency_links.txt +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/requires.txt +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/top_level.txt +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_db.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_email_processing.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_format.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_iconv.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_merge.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_oconv.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_postgres.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_response.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_spreadsheet_functions.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_sql_builder.py +0 -0
- {velocity_python-0.0.71 → velocity_python-0.0.74}/tests/test_timer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: velocity-python
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.74
|
|
4
4
|
Summary: A rapid application development library for interfacing with data storage
|
|
5
5
|
Author-email: Paul Perez <pperez@codeclubs.org>
|
|
6
6
|
Project-URL: Homepage, https://codeclubs.org/projects/velocity
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import decimal
|
|
2
2
|
import json
|
|
3
|
-
from datetime import datetime, date, time, timedelta
|
|
4
3
|
from typing import Union
|
|
4
|
+
from types import FunctionType, MethodType
|
|
5
|
+
from datetime import datetime, date, time, timedelta
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
def gallons(data: Union[None, str, float, decimal.Decimal]) -> str:
|
|
@@ -56,24 +57,31 @@ def human_delta(tdelta: timedelta) -> str:
|
|
|
56
57
|
|
|
57
58
|
|
|
58
59
|
def to_json(o, datefmt: str = "%Y-%m-%d", timefmt: str = "%H:%M:%S") -> str:
|
|
59
|
-
"""Serializes an object to JSON, handling special types
|
|
60
|
+
"""Serializes an object to JSON, handling special types and reporting any unserializable values."""
|
|
60
61
|
|
|
61
62
|
class JsonEncoder(json.JSONEncoder):
|
|
62
63
|
def default(self, obj):
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
64
|
+
try:
|
|
65
|
+
if hasattr(obj, "to_json"):
|
|
66
|
+
return obj.to_json()
|
|
67
|
+
if isinstance(obj, decimal.Decimal):
|
|
68
|
+
return float(obj)
|
|
69
|
+
if isinstance(obj, datetime):
|
|
70
|
+
return obj.strftime(f"{datefmt} {timefmt}")
|
|
71
|
+
if isinstance(obj, date):
|
|
72
|
+
return obj.strftime(datefmt)
|
|
73
|
+
if isinstance(obj, time):
|
|
74
|
+
return obj.strftime(timefmt)
|
|
75
|
+
if isinstance(obj, timedelta):
|
|
76
|
+
return str(obj) # Or use human_delta(obj) if preferred
|
|
77
|
+
if isinstance(obj, (FunctionType, MethodType)):
|
|
78
|
+
return f"WARNING: unserializable: method {getattr(obj, '__name__', 'anonymous')}"
|
|
79
|
+
return f"WARNING: unserializable: {type(obj).__name__}" + (
|
|
80
|
+
f" ({getattr(obj, '__name__', '')})"
|
|
81
|
+
if hasattr(obj, "__name__")
|
|
82
|
+
else ""
|
|
83
|
+
)
|
|
84
|
+
except Exception as e:
|
|
85
|
+
return f"WARNING: failed to serialize {type(obj).__name__}: {e}"
|
|
78
86
|
|
|
79
|
-
return json.dumps(o, cls=JsonEncoder)
|
|
87
|
+
return json.dumps(o, cls=JsonEncoder, indent=2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: velocity-python
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.74
|
|
4
4
|
Summary: A rapid application development library for interfacing with data storage
|
|
5
5
|
Author-email: Paul Perez <pperez@codeclubs.org>
|
|
6
6
|
Project-URL: Homepage, https://codeclubs.org/projects/velocity
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/aws/handlers/lambda_handler.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/postgres/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/sqlite_reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity/db/servers/sqlserver_reserved.py
RENAMED
|
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
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.71 → velocity_python-0.0.74}/src/velocity_python.egg-info/top_level.txt
RENAMED
|
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
|