passphera-core 0.24.0__tar.gz → 0.25.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.24.0
3
+ Version: 0.25.0
4
4
  Summary: The core system of passphera project
5
5
  Home-page: https://github.com/passphera/core
6
6
  Author: Fathi Abdelmalek
@@ -40,6 +40,14 @@ class ResetPropertyUseCase:
40
40
  return generator_entity
41
41
 
42
42
 
43
+ class GetCharacterReplacementUseCase:
44
+ def __init__(self, generator_repository: GeneratorRepository):
45
+ self.generator_repository: GeneratorRepository = generator_repository
46
+
47
+ def __call__(self, character: str) -> str:
48
+ return self.generator_repository.get().get_character_replacement(character)
49
+
50
+
43
51
  class SetCharacterReplacementUseCase:
44
52
  def __init__(self, generator_repository: GeneratorRepository):
45
53
  self.generator_repository: GeneratorRepository = generator_repository
@@ -135,25 +135,33 @@ class Generator:
135
135
  if prop == "algorithm":
136
136
  self.get_algorithm()
137
137
  self.updated_at = datetime.now(timezone.utc)
138
+
139
+ def get_character_replacement(self, character: str) -> str:
140
+ """
141
+ Get the replacement string for a given character
142
+ :param character: The character to get its replacement
143
+ :return: str: The replacement string for the character, or the character itself if no replacement exists
144
+ """
145
+ return self.characters_replacements.get(character, character)
138
146
 
139
- def replace_character(self, char: str, replacement: str) -> None:
147
+ def replace_character(self, character: str, replacement: str) -> None:
140
148
  """
141
149
  Replace a character with another character or set of characters
142
150
  Eg: pg.replace_character('a', '@1')
143
- :param char: The character to be replaced
151
+ :param character: The character to be replaced
144
152
  :param replacement: The (character|set of characters) to replace the first one
145
153
  :return: None
146
154
  """
147
- self.characters_replacements[char[0]] = replacement
155
+ self.characters_replacements[character[0]] = replacement
148
156
  self.updated_at = datetime.now(timezone.utc)
149
157
 
150
- def reset_character(self, char: str) -> None:
158
+ def reset_character(self, character: str) -> None:
151
159
  """
152
160
  Reset a character to its original value (remove its replacement from characters_replacements)
153
- :param char: The character to be reset to its original value
161
+ :param character: The character to be reset to its original value
154
162
  :return: None
155
163
  """
156
- self.characters_replacements.pop(char, None)
164
+ self.characters_replacements.pop(character, None)
157
165
  self.updated_at = datetime.now(timezone.utc)
158
166
 
159
167
  def generate_password(self, text: str) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passphera-core
3
- Version: 0.24.0
3
+ Version: 0.25.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.24.0',
8
+ version='0.25.0',
9
9
  author='Fathi Abdelmalek',
10
10
  author_email='abdelmalek.fathi.2001@gmail.com',
11
11
  url='https://github.com/passphera/core',