passphera-core 0.22.0__tar.gz → 0.24.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passphera-core
3
- Version: 0.22.0
3
+ Version: 0.24.0
4
4
  Summary: The core system of passphera project
5
5
  Home-page: https://github.com/passphera/core
6
6
  Author: Fathi Abdelmalek
@@ -22,9 +22,9 @@ class SetPropertyUseCase:
22
22
  def __init__(self, generator_repository: GeneratorRepository):
23
23
  self.generator_repository: GeneratorRepository = generator_repository
24
24
 
25
- def __call__(self, field: str, value: str) -> Generator:
25
+ def __call__(self, prop: str, value: str) -> Generator:
26
26
  generator_entity: Generator = self.generator_repository.get()
27
- generator_entity.set_property(field, value)
27
+ generator_entity.set_property(prop, value)
28
28
  self.generator_repository.update(generator_entity)
29
29
  return generator_entity
30
30
 
@@ -33,9 +33,9 @@ class ResetPropertyUseCase:
33
33
  def __init__(self, generator_repository: GeneratorRepository):
34
34
  self.generator_repository: GeneratorRepository = generator_repository
35
35
 
36
- def __call__(self, field: str) -> Generator:
36
+ def __call__(self, prop: str) -> Generator:
37
37
  generator_entity: Generator = self.generator_repository.get()
38
- generator_entity.reset_property(field)
38
+ generator_entity.reset_property(prop)
39
39
  self.generator_repository.update(generator_entity)
40
40
  return generator_entity
41
41
 
@@ -8,6 +8,8 @@ from cipherspy.cipher import *
8
8
  from cipherspy.exceptions import InvalidAlgorithmException
9
9
  from cipherspy.utilities import generate_salt, derive_key
10
10
 
11
+ from passphera_core.exceptions import InvalidPropertyNameException
12
+
11
13
 
12
14
  @dataclass
13
15
  class Password:
@@ -103,35 +105,34 @@ class Generator:
103
105
  "characters_replacements": self.characters_replacements,
104
106
  }
105
107
 
106
- def set_property(self, property: str, value: str):
108
+ def set_property(self, prop: str, value: str):
107
109
  """
108
110
  Update a generator property with a new value
109
- :param property: The property name to update; must be one of: shift, multiplier, key, algorithm, prefix, postfix
111
+ :param prop: The property name to update; must be one of: shift, multiplier, key, algorithm, prefix, postfix
110
112
  :param value: The new value to set for the property
111
113
  :raises ValueError: If the property name is not one of the allowed properties
112
114
  :return: None
113
115
  """
114
- if property not in {"shift", "multiplier", "key", "algorithm", "prefix", "postfix"}:
115
- raise ValueError(f"Invalid property: {property}")
116
- if property in ["shift", "multiplier"]:
116
+ if prop not in {"shift", "multiplier", "key", "algorithm", "prefix", "postfix"}:
117
+ raise InvalidPropertyNameException(prop)
118
+ if prop in ["shift", "multiplier"]:
117
119
  value = int(value)
118
- setattr(self, property, value)
119
- if property == "algorithm":
120
+ setattr(self, prop, value)
121
+ if prop == "algorithm":
120
122
  self.get_algorithm()
121
123
  self.updated_at = datetime.now(timezone.utc)
122
124
 
123
- def reset_property(self, property: str):
125
+ def reset_property(self, prop: str):
124
126
  """
125
127
  Reset a generator property to its default value
126
- :param property: The property name to reset, it must be one of: shift, multiplier, key, algorithm, prefix, postfix
128
+ :param prop: The property name to reset, it must be one of: shift, multiplier, key, algorithm, prefix, postfix
127
129
  :raises ValueError: If the property name is not one of the allowed properties
128
130
  :return: None
129
131
  """
130
- if property not in {"shift", "multiplier", "key", "algorithm", "prefix", "postfix"}:
131
- raise ValueError(f"Invalid property: {property}")
132
-
133
- setattr(self, property, self._default_properties[property])
134
- if property == "algorithm":
132
+ if prop not in {"shift", "multiplier", "key", "algorithm", "prefix", "postfix"}:
133
+ raise InvalidPropertyNameException(prop)
134
+ setattr(self, prop, self._default_properties[prop])
135
+ if prop == "algorithm":
135
136
  self.get_algorithm()
136
137
  self.updated_at = datetime.now(timezone.utc)
137
138
 
@@ -17,3 +17,9 @@ class DuplicatePasswordException(Exception):
17
17
  if hasattr(password, 'context') and password.context:
18
18
  return f"Password for context '{password.context}' already exists"
19
19
  return "Duplicate password detected"
20
+
21
+
22
+ class InvalidPropertyNameException(Exception):
23
+ def __init__(self, property_name: str) -> None:
24
+ self.property_name = property_name
25
+ super().__init__(f"Invalid property name '{property_name}'")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passphera-core
3
- Version: 0.22.0
3
+ Version: 0.24.0
4
4
  Summary: The core system of passphera project
5
5
  Home-page: https://github.com/passphera/core
6
6
  Author: Fathi Abdelmalek
@@ -5,7 +5,7 @@ with open("README.md", "r") as f:
5
5
 
6
6
  setup(
7
7
  name='passphera-core',
8
- version='0.22.0',
8
+ version='0.24.0',
9
9
  author='Fathi Abdelmalek',
10
10
  author_email='abdelmalek.fathi.2001@gmail.com',
11
11
  url='https://github.com/passphera/core',