velocity-python 0.0.117__py3-none-any.whl → 0.0.118__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,6 +1,8 @@
1
- __version__ = version = "0.0.117"
1
+ __version__ = version = "0.0.118"
2
2
 
3
3
  from . import aws
4
4
  from . import db
5
5
  from . import misc
6
6
  from . import app
7
+
8
+ __all__ = ["aws", "db", "misc", "app"]
velocity/aws/__init__.py CHANGED
@@ -18,3 +18,6 @@ class AWS(object):
18
18
  response = requests.get("http://169.254.169.254/latest/meta-data/instance-id")
19
19
  instance_id = response.text
20
20
  return instance_id
21
+
22
+
23
+ __all__ = ["AmplifyProject", "AWS"]
velocity/aws/amplify.py CHANGED
@@ -1,4 +1,5 @@
1
1
  import boto3
2
+ import time
2
3
 
3
4
 
4
5
  class AmplifyProject:
@@ -320,10 +321,10 @@ class AmplifyProject:
320
321
  "Effect": "Allow",
321
322
  "Resource": "*",
322
323
  "Action": [
323
- "ec2:DescribeInstances",
324
+ "ec2:DescribeInstances",
324
325
  "ec2:CreateNetworkInterface",
325
326
  "ec2:AttachNetworkInterface",
326
- "ec2:DescribeNetworkInterfaces",
327
+ "ec2:DescribeNetworkInterfaces",
327
328
  "ec2:DeleteNetworkInterface",
328
329
  "ec2:DescribeSecurityGroups",
329
330
  "ec2:AuthorizeSecurityGroupIngress",
@@ -394,10 +395,9 @@ class AmplifyProject:
394
395
  except Exception:
395
396
  pass
396
397
 
397
- def check_policies(
398
- self,
399
- ):
398
+ def check_policies(self, function):
400
399
  # Attach a role policy
400
+ iam_client = boto3.client("iam")
401
401
  response = iam_client.list_attached_role_policies(
402
402
  RoleName=function["Role"].split("/")[1]
403
403
  )
@@ -431,7 +431,7 @@ class AmplifyProject:
431
431
  print(f"\n🔧 Applying {len(env_vars)} environment variables...")
432
432
  for function_name in self.list_lambda_functions_filtered(branch):
433
433
  print(f"➡️ Updating Lambda function: {function_name}")
434
- self.update_lambda_env(function_name, env_vars)
434
+ self.update_lambda_function(function_name, env_vars)
435
435
 
436
436
  print(
437
437
  "✅ Environment variables successfully applied to matching Lambda functions.\n"
@@ -440,7 +440,6 @@ class AmplifyProject:
440
440
 
441
441
  def main():
442
442
  app_id = "d3c209q3ri53mk"
443
- branch = "demo"
444
443
  app = AmplifyProject(app_id)
445
444
  print(app.list_backend_branches())
446
445
 
@@ -1,3 +1,5 @@
1
1
  from velocity.aws.handlers.response import Response
2
2
  from velocity.aws.handlers.lambda_handler import LambdaHandler
3
3
  from velocity.aws.handlers.sqs_handler import SqsHandler
4
+
5
+ __all__ = ["Response", "LambdaHandler", "SqsHandler"]
@@ -196,7 +196,7 @@ class Context:
196
196
  if isinstance(payload, dict):
197
197
  payload = [payload]
198
198
  messages = []
199
- if user == None:
199
+ if user is None:
200
200
  user = self.session.get("email_address") or "EnqueueTasks"
201
201
  for item in payload:
202
202
  message = {"action": action, "payload": item}
@@ -216,7 +216,7 @@ class Context:
216
216
  "batch_id": str(batch_id),
217
217
  "job_id": id,
218
218
  "status": "Initialized",
219
- "message": f"Job Initialized",
219
+ "message": "Job Initialized",
220
220
  }
221
221
  )
222
222
  messages.append({"Id": id, "MessageBody": to_json(message)})
@@ -1,11 +1,6 @@
1
- from velocity.misc.format import to_json
2
1
  import json
3
- import sys
4
- import os
5
- import traceback
6
2
  from velocity.aws.handlers.base_handler import BaseHandler
7
3
  from velocity.aws.handlers.response import Response
8
- from velocity.aws.handlers.exceptions import AlertError
9
4
  from . import context
10
5
 
11
6
  # TODO: helpers import needs to be resolved - may need to pass table name instead
@@ -54,7 +49,7 @@ class LambdaHandler(BaseHandler):
54
49
  if isinstance(body, str) and len(body) > 0:
55
50
  try:
56
51
  postdata = json.loads(body)
57
- except:
52
+ except (json.JSONDecodeError, TypeError):
58
53
  postdata = {"raw_body": body}
59
54
  elif isinstance(body, dict):
60
55
  postdata = body
@@ -62,7 +57,7 @@ class LambdaHandler(BaseHandler):
62
57
  try:
63
58
  new = "\n".join(body)
64
59
  postdata = json.loads(new)
65
- except:
60
+ except (json.JSONDecodeError, TypeError):
66
61
  postdata = {"raw_body": body}
67
62
 
68
63
  req_params = self.aws_event.get("queryStringParameters") or {}
@@ -90,7 +85,8 @@ class LambdaHandler(BaseHandler):
90
85
  "sys_modified_by": self.session["email_address"],
91
86
  }
92
87
  )
93
- tx.table(helpers.get_tracking_table(user or self.session)).insert(data)
88
+ # TODO: Fix undefined helpers reference
89
+ # tx.table(helpers.get_tracking_table(user or self.session)).insert(data)
94
90
 
95
91
  def OnActionDefault(self, tx, context):
96
92
  context.response().set_body(
@@ -1,6 +1,6 @@
1
1
  import sys
2
2
  import traceback
3
- from typing import Any, Dict, List, Optional, Union
3
+ from typing import Any, Dict, List, Optional
4
4
  from velocity.misc.format import to_json
5
5
  from support.app import DEBUG
6
6
 
@@ -6,15 +6,10 @@ It includes logging capabilities, action routing, and error handling.
6
6
  """
7
7
 
8
8
  import json
9
- import os
10
- import sys
11
- import traceback
12
- from typing import Any, Dict, Optional
9
+ from typing import Any, Dict
13
10
 
14
- from velocity.aws import DEBUG
15
11
  from velocity.aws.handlers import context as VelocityContext
16
12
  from velocity.aws.handlers.base_handler import BaseHandler
17
- from velocity.misc.format import to_json
18
13
 
19
14
 
20
15
  class SqsHandler(BaseHandler):
velocity/db/__init__.py CHANGED
@@ -17,3 +17,18 @@ from velocity.db.utils import (
17
17
  group_by_fields,
18
18
  safe_sort_grouped_rows,
19
19
  )
20
+
21
+ __all__ = [
22
+ "exceptions",
23
+ "postgres",
24
+ "mysql",
25
+ "sqlite",
26
+ "sqlserver",
27
+ "utils",
28
+ "safe_sort_rows",
29
+ "safe_sort_key_none_last",
30
+ "safe_sort_key_none_first",
31
+ "safe_sort_key_with_default",
32
+ "group_by_fields",
33
+ "safe_sort_grouped_rows",
34
+ ]
@@ -1,6 +1,5 @@
1
1
  import time
2
2
  import random
3
- import traceback
4
3
  from functools import wraps
5
4
  from velocity.db import exceptions
6
5
 
@@ -1,7 +1,5 @@
1
1
  import inspect
2
- import sys
3
2
  import re
4
- import traceback
5
3
  from functools import wraps
6
4
  from velocity.db import exceptions
7
5
  from velocity.db.core.transaction import Transaction
@@ -176,18 +174,18 @@ class Engine:
176
174
  while True:
177
175
  try:
178
176
  return function(*args, **kwds)
179
- except exceptions.DbRetryTransaction as e:
177
+ except exceptions.DbRetryTransaction:
180
178
  retry_count += 1
181
179
  if retry_count > self.MAX_RETRIES:
182
180
  raise
183
181
  _tx.rollback()
184
- except exceptions.DbLockTimeoutError as e:
182
+ except exceptions.DbLockTimeoutError:
185
183
  lock_timeout_count += 1
186
184
  if lock_timeout_count > self.MAX_RETRIES:
187
185
  raise
188
186
  _tx.rollback()
189
187
  continue
190
- except:
188
+ except Exception:
191
189
  raise
192
190
  finally:
193
191
  setattr(_tx, "_exec_function_depth", depth)
@@ -1,5 +1,3 @@
1
- import datetime
2
- import decimal
3
1
  from velocity.misc.format import to_json
4
2
 
5
3
 
velocity/db/core/table.py CHANGED
@@ -54,13 +54,13 @@ class Table:
54
54
  """
55
55
  try:
56
56
  self._cursor.close()
57
- except:
57
+ except Exception:
58
58
  pass
59
59
 
60
60
  def cursor(self):
61
61
  try:
62
62
  return self._cursor
63
- except:
63
+ except AttributeError:
64
64
  pass
65
65
  self._cursor = self.tx.cursor()
66
66
  return self._cursor
@@ -887,8 +887,8 @@ class Table:
887
887
  # Return a descriptive string of differences.
888
888
  if differences:
889
889
  differences.insert(0, f"Comparing {self.name}: {pk1} vs {pk2}")
890
- differences.insert(0, f"--------------------------------------")
891
- differences.append(f"--------------------------------------")
890
+ differences.insert(0, "--------------------------------------")
891
+ differences.append("--------------------------------------")
892
892
  return "\n".join(differences)
893
893
  else:
894
894
  return f"{self.name} rows {pk1} and {pk2} are identical."
@@ -30,7 +30,7 @@ def make_where(where, sql, vals, is_join=False):
30
30
  if is_join:
31
31
  if "." not in key:
32
32
  key = "A." + key
33
- if val == None:
33
+ if val is None:
34
34
  if "!" in key:
35
35
  key = key.replace("!", "")
36
36
  sql.append("{} is not NULL".format(quote(key.lower())))
@@ -198,7 +198,7 @@ class SQL:
198
198
  cls, table, columns, key_to_table, key_to_columns, name=None, schema=None
199
199
  ):
200
200
  if "." not in table and schema:
201
- if schema == None:
201
+ if schema is None:
202
202
  schema = cls.default_schema
203
203
  table = "{}.{}".format(schema, table)
204
204
  if isinstance(key_to_columns, str):
@@ -254,7 +254,6 @@ class SQL:
254
254
 
255
255
  @classmethod
256
256
  def create_table(cls, name, columns={}, drop=False):
257
- trigger = "".format(name)
258
257
  sql = []
259
258
  if drop:
260
259
  sql.append(cls.drop_table(name))
@@ -1,7 +1,7 @@
1
1
  import re
2
2
  import hashlib
3
3
  import sqlparse
4
- from psycopg2 import sql
4
+ from psycopg2 import sql as psycopg2_sql
5
5
 
6
6
  from velocity.db import exceptions
7
7
 
@@ -985,7 +985,7 @@ class SQL:
985
985
  columns = TableHelper.quote(columns)
986
986
  sql = ["DROP"]
987
987
  sql.append("INDEX IF EXISTS")
988
- tablename = TableHelper.quote(table)
988
+ _tablename = TableHelper.quote(table)
989
989
  if not name:
990
990
  name = re.sub(
991
991
  r"\([^)]*\)",
@@ -1155,9 +1155,9 @@ class SQL:
1155
1155
  @classmethod
1156
1156
  def missing(cls, tx, table, list, column="SYS_ID", where=None):
1157
1157
  sql = [
1158
- f"SELECT * FROM",
1158
+ "SELECT * FROM",
1159
1159
  f"UNNEST('{{{','.join([str(x) for x in list])}}}'::int[]) id",
1160
- f"EXCEPT ALL",
1160
+ "EXCEPT ALL",
1161
1161
  f"SELECT {column} FROM {table}",
1162
1162
  ]
1163
1163
  vals = []
@@ -216,7 +216,7 @@ class SQL(object):
216
216
  if is_join:
217
217
  if "." not in key:
218
218
  key = "A." + key
219
- if val == None:
219
+ if val is None:
220
220
  if "!" in key:
221
221
  key = key.replace("!", "")
222
222
  sql.append("{} is not NULL".format(quote(key.lower())))
@@ -919,7 +919,7 @@ class SQL(object):
919
919
  for key in sorted(where.keys()):
920
920
  if join:
921
921
  sql.append(join)
922
- if where[key] == None:
922
+ if where[key] is None:
923
923
  sql.append("{} is NULL".format(quote(key.lower())))
924
924
  else:
925
925
  sql.append("{} = ?".format(quote(key.lower())))
@@ -30,7 +30,7 @@ def make_where(where, sql, vals, is_join=False):
30
30
  if is_join:
31
31
  if "." not in key:
32
32
  key = "A." + key
33
- if val == None:
33
+ if val is None:
34
34
  if "!" in key:
35
35
  key = key.replace("!", "")
36
36
  sql.append("{} is not NULL".format(quote(key.lower())))
@@ -394,7 +394,7 @@ class SQL:
394
394
  cls, table, columns, key_to_table, key_to_columns, name=None, schema=None
395
395
  ):
396
396
  if "." not in table and schema:
397
- if schema == None:
397
+ if schema is None:
398
398
  schema = cls.default_schema
399
399
  table = "{}.{}".format(schema, table)
400
400
  if isinstance(key_to_columns, str):
@@ -873,7 +873,7 @@ class SQL:
873
873
  for key in sorted(where.keys()):
874
874
  if join:
875
875
  sql.append(join)
876
- if where[key] == None:
876
+ if where[key] is None:
877
877
  sql.append("{} is NULL".format(quote(key.lower())))
878
878
  else:
879
879
  sql.append("{} = %s".format(quote(key.lower())))
velocity/db/utils.py CHANGED
@@ -5,7 +5,7 @@ This module provides utility functions to handle common database operations
5
5
  safely, including sorting with None values and other edge cases.
6
6
  """
7
7
 
8
- from typing import Any, Callable, List, Optional, Union
8
+ from typing import Any, Callable, List
9
9
 
10
10
 
11
11
  def safe_sort_key_none_last(field_name: str) -> Callable[[dict], tuple]:
@@ -1,2 +1,4 @@
1
1
  from . import iconv
2
2
  from . import oconv
3
+
4
+ __all__ = ["iconv", "oconv"]
@@ -1,6 +1,7 @@
1
1
  import re
2
2
  import ast
3
3
  import codecs
4
+ import decimal
4
5
  from decimal import Decimal, ROUND_HALF_UP
5
6
  from email.utils import parseaddr
6
7
  from datetime import datetime
@@ -224,7 +225,7 @@ def money(data: str) -> Optional[Decimal]:
224
225
  return None
225
226
  try:
226
227
  return Decimal(cleaned)
227
- except:
228
+ except (ValueError, TypeError, decimal.InvalidOperation):
228
229
  return None
229
230
 
230
231
 
@@ -246,7 +247,7 @@ def round_to(
246
247
  cleaned = re.sub(r"[^0-9\.\-+]", "", val_str)
247
248
  try:
248
249
  as_dec = Decimal(cleaned)
249
- except:
250
+ except (ValueError, TypeError, decimal.InvalidOperation):
250
251
  return None
251
252
  return as_dec.quantize(Decimal(10) ** -precision, rounding=ROUND_HALF_UP)
252
253
 
@@ -269,7 +270,7 @@ def decimal_val(data: str) -> Optional[Decimal]:
269
270
  return None
270
271
  try:
271
272
  return Decimal(cleaned)
272
- except:
273
+ except (ValueError, TypeError, decimal.InvalidOperation):
273
274
  return None
274
275
 
275
276
 
@@ -305,7 +306,7 @@ def to_list(data: Union[str, list, None]) -> Optional[list]:
305
306
  if data_str.startswith("[") and data_str.endswith("]"):
306
307
  try:
307
308
  return ast.literal_eval(data_str)
308
- except:
309
+ except (ValueError, SyntaxError):
309
310
  return [data_str] # fallback: treat as a single string
310
311
  return [data_str]
311
312
 
velocity/misc/export.py CHANGED
@@ -1,7 +1,4 @@
1
- import decimal
2
- import json
3
- from datetime import datetime, date, time, timedelta
4
- from typing import Union, List, Dict
1
+ from typing import List, Dict
5
2
  from io import BytesIO
6
3
  import base64
7
4
  import openpyxl
velocity/misc/merge.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from copy import deepcopy
2
2
  from functools import reduce
3
- from typing import Dict, List, Any
3
+ from typing import Dict, Any
4
4
 
5
5
 
6
6
  def deep_merge(*dicts: Dict[str, Any], update: bool = False) -> Dict[str, Any]:
velocity/misc/tools.py CHANGED
@@ -1,5 +1,4 @@
1
1
  import os
2
- import inspect
3
2
  import hashlib
4
3
 
5
4
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: velocity-python
3
- Version: 0.0.117
3
+ Version: 0.0.118
4
4
  Summary: A rapid application development library for interfacing with data storage
5
5
  Author-email: Velocity Team <info@codeclubs.org>
6
6
  License-Expression: MIT
@@ -1,58 +1,58 @@
1
- velocity/__init__.py,sha256=vYepl_-j4oCRAfwn61jSaTKIXufh522rvwO4XYqn_es,107
1
+ velocity/__init__.py,sha256=DmSkPb91YEgRa7GbGjG39khWmXgqyJj5fc5fWt1-D0Y,147
2
2
  velocity/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  velocity/app/invoices.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  velocity/app/orders.py,sha256=W-HAXEwY8-IFXbKh82HnMeRVZM7P-TWGEQOWtkLIzI4,6298
5
5
  velocity/app/payments.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  velocity/app/purchase_orders.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- velocity/aws/__init__.py,sha256=tj9-NliYxRVPYLnnDuA4FMwBHbbH4ed8gtHgwRskNgY,647
8
- velocity/aws/amplify.py,sha256=ygu_QrZUMahOYIJfnri-AW-2r-3Xpn6zJr8vyTtSz9w,15284
9
- velocity/aws/handlers/__init__.py,sha256=xnpFZJVlC2uoeeFW4zuPST8wA8ajaQDky5Y6iXZzi3A,172
7
+ velocity/aws/__init__.py,sha256=0nEsX68Q4I7Z7ybECJnNWsC8QhWOijn4NpaFgyzyfXA,685
8
+ velocity/aws/amplify.py,sha256=VgSgon0XxboIozz0tKyUohgLIigelhe4W7EH8kwbnLg,15330
9
+ velocity/aws/handlers/__init__.py,sha256=4-NKj8dBzjYEdIlNdfm_Ip5mI0oOGcpjjBcMwU42yhQ,227
10
10
  velocity/aws/handlers/base_handler.py,sha256=rnEX5X4a5P-FO9Va0-9ZJYCqfqtjvuf101UTz1Vfqyg,7822
11
- velocity/aws/handlers/context.py,sha256=Mf6Cnu4_dmYB870l51cVI9Mkd3IoE2-WdSty2qCwC0E,8354
11
+ velocity/aws/handlers/context.py,sha256=WWnEDbUOuTC2Khu-2s2Ago10jRYGPPvrXmHXVRKvYDw,8353
12
12
  velocity/aws/handlers/exceptions.py,sha256=i4wcB8ZSWUHglX2xnesDlWLsU9AMYU72cHCWRBDmjQ8,361
13
- velocity/aws/handlers/lambda_handler.py,sha256=fKbTOYpN_scXFGGWMhB8tlsPYVGiX9RZyuq5rXQsOhU,4060
14
- velocity/aws/handlers/response.py,sha256=LXhtizLKnVBWjtHyE0h0bk-NYDrRpj7CHa7tRz9KkC4,9324
15
- velocity/aws/handlers/sqs_handler.py,sha256=rVOuLrrays1dO69S0snYnK9ImXYQ35l8ZzJTeXcEOfc,3269
16
- velocity/db/__init__.py,sha256=buxlhBZNQd2UjryPXJGiAzcgcIoBCucEXXhWJF1cMYI,567
13
+ velocity/aws/handlers/lambda_handler.py,sha256=yyO42yPgCyp79mzYc3RNGjDwkOV_NTNQQmG7oXyWvpo,4043
14
+ velocity/aws/handlers/response.py,sha256=s2Kw7yv5zAir1mEmfv6yBVIvRcRQ__xyryf1SrvtiRc,9317
15
+ velocity/aws/handlers/sqs_handler.py,sha256=wx1fugE-uSallIapeNbtDEbvB7ydetn6MvhFZ3mXk-0,3149
16
+ velocity/db/__init__.py,sha256=2_6b3cdInPZDtya8kkW_7xyAullwneF-ll5RZaNawq8,845
17
17
  velocity/db/exceptions.py,sha256=XHREJvzNctrtYE-ScBRLnbk7thxTswkfWojKhMmBmd8,2185
18
- velocity/db/utils.py,sha256=JUGr7G-kRk4LPjDkZrmI8DHPHw9lZHukBVZNjCGMWZ4,7037
18
+ velocity/db/utils.py,sha256=IoXeAL_0wZE15gbxlb2TtNdHzUSV9bIvw8jNkqjz38o,7020
19
19
  velocity/db/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  velocity/db/core/column.py,sha256=tAr8tL3a2nyaYpNHhGl508FrY_pGZTzyYgjAV5CEBv4,4092
21
21
  velocity/db/core/database.py,sha256=3zNGItklu9tZCKsbx2T2vCcU1so8AL9PPL0DLjvaz6s,3554
22
- velocity/db/core/decorators.py,sha256=76Jkr9XptXt8cvcgp1zbHfuL8uHzWy8lwfR29u-DVu4,4574
23
- velocity/db/core/engine.py,sha256=cgiDWSAiMlkuJqzWtw7GaxejvSMtxlerRFb78aKS2ek,18491
22
+ velocity/db/core/decorators.py,sha256=OjWnuvneObKx0RBYlC4_4QrdzwQY6lJ4H0eIMqPBl0s,4557
23
+ velocity/db/core/engine.py,sha256=xDjlfDvdQ0A3Ug3w-isgnVAVkKSg0KX0iChhRyPvNJw,18463
24
24
  velocity/db/core/exceptions.py,sha256=9jhPtxagHZtGdMcSwa2uRe82Gqydla5fWCqs4v-Ah8U,1030
25
- velocity/db/core/result.py,sha256=FvI7dtXM-8vFeN5DWu0oc4O_smGJBqRvQ1V6SsEPog8,12844
25
+ velocity/db/core/result.py,sha256=b0ie3yZAOj9S57x32uFFGKZ95zhImmZ0iXl0X1qYszc,12813
26
26
  velocity/db/core/row.py,sha256=yqxm03uEDy3oSbnkCtKyiqFdSqG3zXTq2HIHYKOvPY4,7291
27
27
  velocity/db/core/sequence.py,sha256=VMBc0ZjGnOaWTwKW6xMNTdP8rZ2umQ8ml4fHTTwuGq4,3904
28
- velocity/db/core/table.py,sha256=yyv7Glds194Zp-ooA_iaqcmrVpWyoVFni1bLegLDays,34685
28
+ velocity/db/core/table.py,sha256=EVoZZ6s21ZVqqT7VgH9Rr0SsFbsLLk6gtwvKwgbcWTQ,34708
29
29
  velocity/db/core/transaction.py,sha256=unjmVkkfb7D8Wow6V8V8aLaxUZo316i--ksZxc4-I1Q,6613
30
30
  velocity/db/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- velocity/db/servers/mysql.py,sha256=qHwlB_Mg02R7QFjD5QvJCorYYiP50CqEiQyZVl3uYns,20914
31
+ velocity/db/servers/mysql.py,sha256=UGsHOpbRwDDI1o7LnkDeIZ5IgQ48vQEae_Bd8E0nv64,20880
32
32
  velocity/db/servers/mysql_reserved.py,sha256=CYdZJBOpS-ptImaRZcmVLumdUdbFuf9Tfdzu_mUT5wY,3507
33
- velocity/db/servers/sqlite.py,sha256=X210a5pENT9PiVK7f16fxXzFwEsq8fSe58Vouv2xqlk,33234
33
+ velocity/db/servers/sqlite.py,sha256=en1whjOE98JINXTHPsAA-qUqS_ts_eQP5ImqeLamk4U,33234
34
34
  velocity/db/servers/sqlite_reserved.py,sha256=-xmjl-Hgu6lKqkCAXq_6U8_aJX6gvaMgLMLdCt-Ej7o,3006
35
- velocity/db/servers/sqlserver.py,sha256=0uGLEWRXiUhrOVTpEA1zvaKq1mcfiaCDp9r7gX-N71g,29914
35
+ velocity/db/servers/sqlserver.py,sha256=Lz8H4dg1ql34J3ufSM9o7by4wguJXACsWESp_zxgAFU,29914
36
36
  velocity/db/servers/sqlserver_reserved.py,sha256=3LGQYU0qfvk6AbKety96gbzzfLbZ0dNHDPLxKGvvi4Q,4596
37
37
  velocity/db/servers/tablehelper.py,sha256=Q48ObN5KD_U2sBP0GUcjaQjKeE4Hr351sPQirwQ0_1s,22163
38
38
  velocity/db/servers/postgres/__init__.py,sha256=saeE5iySVYMHCwlKMsHFYdPJmuLy33I9BpPUE0czUas,457
39
39
  velocity/db/servers/postgres/operators.py,sha256=A2T1qFwhzPl0fdXVhLZJhh5Qfx-qF8oZsDnxnq2n_V8,389
40
40
  velocity/db/servers/postgres/reserved.py,sha256=5tKLaqFV-HrWRj-nsrxl5KGbmeM3ukn_bPZK36XEu8M,3648
41
- velocity/db/servers/postgres/sql.py,sha256=okWDm8Bj_vzSLTAIFQS5rHuIZz4WvAGNSHMZQtL5inI,41781
41
+ velocity/db/servers/postgres/sql.py,sha256=kHGiJv2KCmdL4LnyPnbd1PZH3J0smTWpRF2EuUMsBnw,41796
42
42
  velocity/db/servers/postgres/types.py,sha256=Wa45ppVf_pdWul-jYWFRGMl6IdSq8dAp10SKnhL7osQ,3757
43
43
  velocity/misc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
44
  velocity/misc/db.py,sha256=MPgt-kkukKR_Wh_S_5W-MyDgaeoZ4YLoDJ54wU2ppm4,2830
45
- velocity/misc/export.py,sha256=lATvwTe-Of6X7ZtzvJZiFghh9QlyMYZfDfQ_GJyt5yg,5197
45
+ velocity/misc/export.py,sha256=jm-NKI0r-d0fS8B7axW0zHf4Qx0RgEJXCTMKRMdeaps,5110
46
46
  velocity/misc/format.py,sha256=jwZDEniBMTyh4UysiOdy14OWyd7-hseBNKFRZDckuQM,3214
47
47
  velocity/misc/mail.py,sha256=BrxDqeVsOd0epyJKwrHA-owzs6di2oLA_qJskoTux-c,2553
48
- velocity/misc/merge.py,sha256=EYtqwnckBllPO60tRALxFRuzmUQ7Wl0qZC6sCgyiZDA,1885
48
+ velocity/misc/merge.py,sha256=Mv42G9SGi5WEiiAyzdSRNJq-byrx72WI9MSISq4edVU,1879
49
49
  velocity/misc/timer.py,sha256=cN3aS0t6HLlhYfF2Ir6ihJehxNrWf9ebaLzXUaWRKEA,1637
50
- velocity/misc/tools.py,sha256=_bGneHHA_BV-kUonzw5H3hdJ5AOJRCKfzhgpkFbGqIo,1502
51
- velocity/misc/conv/__init__.py,sha256=MLYF58QHjzfDSxb1rdnmLnuEQCa3gnhzzZ30CwZVvQo,40
52
- velocity/misc/conv/iconv.py,sha256=d4_BucW8HTIkGNurJ7GWrtuptqUf-9t79ObzjJ5N76U,10603
50
+ velocity/misc/tools.py,sha256=4TWa-ja2gMZJr1EhqTKsJNirvDclCruyRGMttPhCIGw,1487
51
+ velocity/misc/conv/__init__.py,sha256=qhHFl_UqW5tjPm--6shO171IysWIdH3mmp3uwiQVyqY,70
52
+ velocity/misc/conv/iconv.py,sha256=16aPWtreHCxmpl5ufku0KWWZj8PIUFI5J1dP0aXyM3o,10794
53
53
  velocity/misc/conv/oconv.py,sha256=h5Lo05DqOQnxoD3y6Px_MQP_V-pBbWf8Hkgkb9Xp1jk,6032
54
- velocity_python-0.0.117.dist-info/licenses/LICENSE,sha256=aoN245GG8s9oRUU89KNiGTU4_4OtnNmVi4hQeChg6rM,1076
55
- velocity_python-0.0.117.dist-info/METADATA,sha256=YYvat0naHNdq7pBtNCBxBJ7SBKdhsFy0rOIbhKj4RNY,34262
56
- velocity_python-0.0.117.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
- velocity_python-0.0.117.dist-info/top_level.txt,sha256=JW2vJPmodgdgSz7H6yoZvnxF8S3fTMIv-YJWCT1sNW0,9
58
- velocity_python-0.0.117.dist-info/RECORD,,
54
+ velocity_python-0.0.118.dist-info/licenses/LICENSE,sha256=aoN245GG8s9oRUU89KNiGTU4_4OtnNmVi4hQeChg6rM,1076
55
+ velocity_python-0.0.118.dist-info/METADATA,sha256=0A2e7hzaAk3f6djTEfF1hur_ZQiBHYXs-cufMApAQMU,34262
56
+ velocity_python-0.0.118.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
+ velocity_python-0.0.118.dist-info/top_level.txt,sha256=JW2vJPmodgdgSz7H6yoZvnxF8S3fTMIv-YJWCT1sNW0,9
58
+ velocity_python-0.0.118.dist-info/RECORD,,