Skip to content

Commit

Permalink
checking database encrypt key in CookieDB.open method
Browse files Browse the repository at this point in the history
  • Loading branch information
jaedsonpys committed Aug 11, 2022
1 parent f3804c1 commit 1aa48c2
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions cookiedb/database/cookiedb.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,19 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.

from ._document import JSONHandler
from .exceptions import DatabaseNotFoundError, DatabaseExistsError, NoOpenDatabaseError
from . import exceptions

from typing import Any
from functools import wraps

import cryptography.fernet


def required_database(method):
@wraps(method)
def decorator(ref, *args, **kwargs):
if ref.checkout() is None:
raise NoOpenDatabaseError('No open database.')
raise exceptions.NoOpenDatabaseError('No open database.')
else:
return method(ref, *args, **kwargs)

Expand Down Expand Up @@ -82,10 +84,15 @@ def open(self, database_name: str) -> None:
database_exists = self._document.exists_document(database_name)

if not database_exists:
raise DatabaseNotFoundError(f'Database {database_name} not found.')
raise exceptions.DatabaseNotFoundError(f'Database {database_name} not found.')
else:
self._open_database = database_name

try:
self._document.get_document(database_name)
except cryptography.fernet.InvalidToken:
raise exceptions.InvalidDatabaseKeyError('Invalid database key')

def create_database(self, database_name, if_not_exists: bool = False) -> None:
"""
Create a database at the location specified
Expand All @@ -103,7 +110,7 @@ class instance.
self._document.create_document(database_name)
else:
if not if_not_exists:
raise DatabaseExistsError(f'Database {database_name} already exists.')
raise exceptions.DatabaseExistsError(f'Database {database_name} already exists.')

def _get_database_items(self):
database = self._document.get_document(self._open_database)
Expand Down

0 comments on commit 1aa48c2

Please sign in to comment.