SQLAlchemy-Continuum 1.4.0__py3-none-any.whl → 1.4.2__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.
- {SQLAlchemy_Continuum-1.4.0.dist-info → SQLAlchemy_Continuum-1.4.2.dist-info}/METADATA +14 -14
- {SQLAlchemy_Continuum-1.4.0.dist-info → SQLAlchemy_Continuum-1.4.2.dist-info}/RECORD +9 -9
- {SQLAlchemy_Continuum-1.4.0.dist-info → SQLAlchemy_Continuum-1.4.2.dist-info}/WHEEL +1 -1
- sqlalchemy_continuum/__init__.py +1 -1
- sqlalchemy_continuum/manager.py +3 -1
- sqlalchemy_continuum/plugins/flask.py +10 -14
- sqlalchemy_continuum/plugins/transaction_meta.py +1 -1
- {SQLAlchemy_Continuum-1.4.0.dist-info → SQLAlchemy_Continuum-1.4.2.dist-info}/LICENSE +0 -0
- {SQLAlchemy_Continuum-1.4.0.dist-info → SQLAlchemy_Continuum-1.4.2.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: SQLAlchemy-Continuum
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: Versioning and auditing extension for SQLAlchemy.
|
|
5
5
|
Home-page: https://github.com/kvesteri/sqlalchemy-continuum
|
|
6
6
|
Author: Konsta Vesterinen
|
|
@@ -21,24 +21,24 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
21
21
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
22
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
23
|
License-File: LICENSE
|
|
24
|
-
Requires-Dist: SQLAlchemy
|
|
25
|
-
Requires-Dist: SQLAlchemy-Utils
|
|
24
|
+
Requires-Dist: SQLAlchemy >=1.4.0
|
|
25
|
+
Requires-Dist: SQLAlchemy-Utils >=0.41.2
|
|
26
26
|
Provides-Extra: flask
|
|
27
|
-
Requires-Dist: Flask
|
|
27
|
+
Requires-Dist: Flask >=0.9 ; extra == 'flask'
|
|
28
28
|
Provides-Extra: flask-login
|
|
29
|
-
Requires-Dist: Flask-Login
|
|
29
|
+
Requires-Dist: Flask-Login >=0.2.9 ; extra == 'flask-login'
|
|
30
30
|
Provides-Extra: flask-sqlalchemy
|
|
31
|
-
Requires-Dist: Flask-SQLAlchemy
|
|
31
|
+
Requires-Dist: Flask-SQLAlchemy >=1.0 ; extra == 'flask-sqlalchemy'
|
|
32
32
|
Provides-Extra: i18n
|
|
33
|
-
Requires-Dist: SQLAlchemy-i18n
|
|
33
|
+
Requires-Dist: SQLAlchemy-i18n !=1.1.0,>=0.8.4 ; extra == 'i18n'
|
|
34
34
|
Provides-Extra: test
|
|
35
|
-
Requires-Dist: pytest
|
|
36
|
-
Requires-Dist: psycopg2
|
|
37
|
-
Requires-Dist: PyMySQL
|
|
38
|
-
Requires-Dist: Flask
|
|
39
|
-
Requires-Dist: Flask-Login
|
|
40
|
-
Requires-Dist: Flask-SQLAlchemy
|
|
41
|
-
Requires-Dist: SQLAlchemy-i18n
|
|
35
|
+
Requires-Dist: pytest >=2.3.5 ; extra == 'test'
|
|
36
|
+
Requires-Dist: psycopg2 >=2.4.6 ; extra == 'test'
|
|
37
|
+
Requires-Dist: PyMySQL >=0.8.0 ; extra == 'test'
|
|
38
|
+
Requires-Dist: Flask >=0.9 ; extra == 'test'
|
|
39
|
+
Requires-Dist: Flask-Login >=0.2.9 ; extra == 'test'
|
|
40
|
+
Requires-Dist: Flask-SQLAlchemy >=1.0 ; extra == 'test'
|
|
41
|
+
Requires-Dist: SQLAlchemy-i18n !=1.1.0,>=0.8.4 ; extra == 'test'
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
SQLAlchemy-Continuum
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
sqlalchemy_continuum/__init__.py,sha256=
|
|
1
|
+
sqlalchemy_continuum/__init__.py,sha256=5d4jTpzH0M7-vG6C3P7wgHJW9FXCSYhAfu8uAyvqiyw,3244
|
|
2
2
|
sqlalchemy_continuum/builder.py,sha256=aw6C4HNGTllkjKQkNFDtEd8QDKV7O9qbXDsnQij8PuI,8541
|
|
3
3
|
sqlalchemy_continuum/exc.py,sha256=FBpkpmsT7PJ9IeOGJRKEQkpk4rF5IjvuW5eisRuResw,152
|
|
4
4
|
sqlalchemy_continuum/expression_reflector.py,sha256=nC_7MfG4Mobxkfvih1CMjeH_LE5NHuL7c5Ll1EylLu0,975
|
|
5
5
|
sqlalchemy_continuum/factory.py,sha256=sUrOwtqQT0vKeBHi5vmeXwY_gfbMdW-2BsFmqPpSPX0,431
|
|
6
6
|
sqlalchemy_continuum/fetcher.py,sha256=UYszDBAPv3tU6mhJxOf8Id9gZ7wB5pL0L8p55I6cIE4,5839
|
|
7
|
-
sqlalchemy_continuum/manager.py,sha256=
|
|
7
|
+
sqlalchemy_continuum/manager.py,sha256=do3acpjPni-4ggXaFM9OKSy9ZrzF7YTIm_xBBtLwz3g,16006
|
|
8
8
|
sqlalchemy_continuum/model_builder.py,sha256=vNYbJYsPbfysFyY7mMu9LHjNoYSaZsxMFBK6FOOyNKo,9815
|
|
9
9
|
sqlalchemy_continuum/operation.py,sha256=-z0Q7KK9sP-p8-bdQsDK32BHmAIY4dkYE8iht280C8c,2680
|
|
10
10
|
sqlalchemy_continuum/relationship_builder.py,sha256=lF_m8Gu1PmC85-b_bfYOJs8B4DipNIHw7gKGjEWyHYY,12703
|
|
@@ -20,13 +20,13 @@ sqlalchemy_continuum/dialects/postgresql.py,sha256=-uYelXWDd1VdfZqMs4ZJh2lIKzJqB
|
|
|
20
20
|
sqlalchemy_continuum/plugins/__init__.py,sha256=rDjRGd3oPrBIjTRRrBa8B3XE4K_j_sk32FLjIlYKwqA,322
|
|
21
21
|
sqlalchemy_continuum/plugins/activity.py,sha256=7bABLDIq3VKxjhzXPQkQT_d3-a6ay6Ytxy5JodUDQJM,10607
|
|
22
22
|
sqlalchemy_continuum/plugins/base.py,sha256=6c8Gs5yKXO3mhF5nfvxCz7cEXxx3DPH5wv4yN788gzw,1866
|
|
23
|
-
sqlalchemy_continuum/plugins/flask.py,sha256=
|
|
23
|
+
sqlalchemy_continuum/plugins/flask.py,sha256=fFA2hjbBwrjnZWel5N_8AydOyp3aqzAaqxA0a0TrndI,2001
|
|
24
24
|
sqlalchemy_continuum/plugins/null_delete.py,sha256=c08Xezl5Q5Gzo6G8fbcJkkKMcBuGinCfAD3fmV6p-R4,987
|
|
25
25
|
sqlalchemy_continuum/plugins/property_mod_tracker.py,sha256=PI-U7OpxRje56bThyvIIsK9d-qgOPiP_A7pBsWa-JVQ,2487
|
|
26
26
|
sqlalchemy_continuum/plugins/transaction_changes.py,sha256=NCiREo0CcXhaSi9o31BVGD0QdDcsQRT9C9xW3wttseM,3239
|
|
27
|
-
sqlalchemy_continuum/plugins/transaction_meta.py,sha256=
|
|
28
|
-
SQLAlchemy_Continuum-1.4.
|
|
29
|
-
SQLAlchemy_Continuum-1.4.
|
|
30
|
-
SQLAlchemy_Continuum-1.4.
|
|
31
|
-
SQLAlchemy_Continuum-1.4.
|
|
32
|
-
SQLAlchemy_Continuum-1.4.
|
|
27
|
+
sqlalchemy_continuum/plugins/transaction_meta.py,sha256=s4n-uSs78s76sjaeRad_x7YJcz5cQ6ZNU9WzGelzMAw,3175
|
|
28
|
+
SQLAlchemy_Continuum-1.4.2.dist-info/LICENSE,sha256=D85do8txXhU6O0KVZNa5xL88grRdu4sW2pXIJ9HNwn0,1480
|
|
29
|
+
SQLAlchemy_Continuum-1.4.2.dist-info/METADATA,sha256=SY9yYBBMvIc6lF8-Pn5P1Gh1l7Hgk3tCRNxmDn8gCTc,1857
|
|
30
|
+
SQLAlchemy_Continuum-1.4.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
31
|
+
SQLAlchemy_Continuum-1.4.2.dist-info/top_level.txt,sha256=L033wn3n8mCFGMSFgjFOKKA_MnLFZ2YdocrQ75TPhT4,21
|
|
32
|
+
SQLAlchemy_Continuum-1.4.2.dist-info/RECORD,,
|
sqlalchemy_continuum/__init__.py
CHANGED
sqlalchemy_continuum/manager.py
CHANGED
|
@@ -433,7 +433,9 @@ class VersioningManager(object):
|
|
|
433
433
|
):
|
|
434
434
|
return
|
|
435
435
|
|
|
436
|
-
if clauseelement
|
|
436
|
+
if isinstance(clauseelement, str):
|
|
437
|
+
op = None
|
|
438
|
+
elif clauseelement.is_insert:
|
|
437
439
|
op = Operation.INSERT
|
|
438
440
|
elif clauseelement.is_delete:
|
|
439
441
|
op = Operation.DELETE
|
|
@@ -21,31 +21,27 @@ from __future__ import absolute_import
|
|
|
21
21
|
flask = None
|
|
22
22
|
try:
|
|
23
23
|
import flask
|
|
24
|
-
from flask import request
|
|
25
|
-
from flask.globals import _app_ctx_stack, _request_ctx_stack
|
|
24
|
+
from flask import current_app, has_app_context, has_request_context, request
|
|
26
25
|
except ImportError:
|
|
27
26
|
pass
|
|
28
27
|
from sqlalchemy_utils import ImproperlyConfigured
|
|
28
|
+
|
|
29
29
|
from .base import Plugin
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
def fetch_current_user_id():
|
|
33
|
-
|
|
33
|
+
if has_request_context():
|
|
34
|
+
from flask_login import current_user
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return current_user.id
|
|
40
|
-
except AttributeError:
|
|
41
|
-
return
|
|
36
|
+
try:
|
|
37
|
+
return current_user.id
|
|
38
|
+
except AttributeError:
|
|
39
|
+
return
|
|
42
40
|
|
|
43
41
|
|
|
44
42
|
def fetch_remote_addr():
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return
|
|
48
|
-
return request.remote_addr
|
|
43
|
+
if has_app_context() and has_request_context():
|
|
44
|
+
return request.remote_addr
|
|
49
45
|
|
|
50
46
|
|
|
51
47
|
class FlaskPlugin(Plugin):
|
|
@@ -5,7 +5,7 @@ You can use the plugin in same way as other plugins::
|
|
|
5
5
|
|
|
6
6
|
meta_plugin = TransactionMetaPlugin()
|
|
7
7
|
|
|
8
|
-
versioning_manager.plugins.
|
|
8
|
+
versioning_manager.plugins.append(meta_plugin)
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
TransactionMetaPlugin creates a simple model called TransactionMeta. This class
|
|
File without changes
|
|
File without changes
|