finance-sdk 1.0.0__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.
@@ -0,0 +1,19 @@
1
+ Metadata-Version: 2.4
2
+ Name: finance_sdk
3
+ Version: 1.0.0
4
+ Summary: SDK for Finance Module
5
+ Home-page: https://github.com/wlc-solucoes/wlc-sdk-financeiro.git
6
+ Author: WLC Soluções
7
+ Author-email: analiciasouza.11@gmail.com
8
+ Classifier: Environment :: Web Environment
9
+ Classifier: Framework :: Django
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Programming Language :: Python
12
+ Requires-Dist: django
13
+ Requires-Dist: djangorestframework
14
+ Dynamic: author
15
+ Dynamic: author-email
16
+ Dynamic: classifier
17
+ Dynamic: home-page
18
+ Dynamic: requires-dist
19
+ Dynamic: summary
@@ -0,0 +1,11 @@
1
+ sdk/__init__.py,sha256=oqK5qHsaXjgN-Qs0Ks2g5Z9CMyie9iA5z6CpNDOwF1o,63
2
+ sdk/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
3
+ sdk/apps.py,sha256=zwNbItyFgsgoy2i5-zGIon8D5sZBVVRROMrXIJxq9lI,138
4
+ sdk/enums.py,sha256=j2IZs92XSmZj6AH5yxUsBydc60xdfUYxPvBcr2GAt8E,669
5
+ sdk/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
6
+ sdk/utils.py,sha256=zgZPMmxXeN9dAYPYvL4a3LECTeR7WFfVz1T0RZF3m44,1594
7
+ sdk/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ finance_sdk-1.0.0.dist-info/METADATA,sha256=G-qTZs8Sqsbn_ljZN1q8QYQJVHQlQeACubVz7iqSq38,553
9
+ finance_sdk-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
10
+ finance_sdk-1.0.0.dist-info/top_level.txt,sha256=JuXS55gRP3EzGKmJgbLfVfUolO3cM_u69k3qvutnBuw,4
11
+ finance_sdk-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ sdk
sdk/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ default_app_config = 'sdk.apps.SdkConfig'
2
+ __version__ = '1.0.0'
sdk/admin.py ADDED
@@ -0,0 +1,3 @@
1
+ from django.contrib import admin
2
+
3
+ # Register your models here.
sdk/apps.py ADDED
@@ -0,0 +1,6 @@
1
+ from django.apps import AppConfig
2
+
3
+
4
+ class SdkConfig(AppConfig):
5
+ default_auto_field = 'django.db.models.BigAutoField'
6
+ name = 'sdk'
sdk/enums.py ADDED
@@ -0,0 +1,34 @@
1
+ from enum import IntEnum
2
+
3
+ class Type:
4
+ ENTRY = "E"
5
+ OUT = "O"
6
+
7
+ TYPE = (
8
+ (ENTRY , "E"),
9
+ (OUT , 'O')
10
+ )
11
+
12
+ class RegistryClassification:
13
+ VARIABLE = "variable"
14
+ FIX = "fix"
15
+ INVESTIMENT = "investiment"
16
+
17
+
18
+ class Frequency(IntEnum):
19
+ NONE = 0
20
+ WEEK = 7
21
+ BIWEEK = 15
22
+ MONTH = 30
23
+ YEAR = 365
24
+
25
+ @staticmethod
26
+ def get_frequency(frequency: int):
27
+ mapping = {
28
+ 7 : 2,
29
+ 15 : 3,
30
+ 30 : 4,
31
+ 365 : 5,
32
+
33
+ }
34
+ return mapping.get(frequency, 1)
File without changes
sdk/tests.py ADDED
@@ -0,0 +1,3 @@
1
+ from django.test import TestCase
2
+
3
+ # Create your tests here.
sdk/utils.py ADDED
@@ -0,0 +1,63 @@
1
+ from django.forms import ValidationError
2
+
3
+
4
+
5
+ def raise_error(message):
6
+ raise ValidationError(
7
+ {
8
+ "message": message,
9
+ })
10
+
11
+
12
+ def validate_item_in_list(
13
+ item, list, message, message_if_empty="", required=False
14
+ ):
15
+ if required and not item:
16
+ raise_error(message_if_empty)
17
+
18
+ if item:
19
+ if isinstance(item, list):
20
+ itens = item
21
+
22
+ return (
23
+ itens
24
+ if all(item in list for item in itens)
25
+ else raise_error(message)
26
+ )
27
+
28
+ return item if item in list else raise_error(message)
29
+
30
+ return False
31
+
32
+
33
+
34
+ def validate_natural_number(
35
+ number, message, message_if_empty="", required=False
36
+ ):
37
+ if isinstance(number, list):
38
+ number = list(filter(lambda x: x.strip() != "", number))
39
+
40
+ elif isinstance(number, str) and number.strip() == "":
41
+ number = None
42
+
43
+ if required and not number:
44
+ raise_error(message_if_empty)
45
+
46
+ if number:
47
+ if isinstance(number, list):
48
+ numbers = number
49
+ to_int = lambda x: int(x)
50
+
51
+ return (
52
+ list(map(to_int, numbers))
53
+ if all(number.isnumeric() and number != "0" for number in numbers)
54
+ else raise_error(message)
55
+ )
56
+
57
+ return (
58
+ number
59
+ if number.isnumeric() and number != "0"
60
+ else raise_error(message)
61
+ )
62
+
63
+ return False