diff options
author | Jonathan Weth <git@jonathanweth.de> | 2021-06-23 12:33:28 +0200 |
---|---|---|
committer | Jonathan Weth <git@jonathanweth.de> | 2021-06-23 12:33:28 +0200 |
commit | ed1d15aa02b3c7c1350a5204861d1f8678550fbb (patch) | |
tree | 51d4aa7cdee4f90b5f2c3a4188cb80519dd2342d /rwa/support/sessionservice/lock.py | |
parent | 74e02d1953c1ee03a4e7dfc73e80318a24ba56a7 (diff) | |
download | RWA.Support.SessionService-ed1d15aa02b3c7c1350a5204861d1f8678550fbb.tar.gz RWA.Support.SessionService-ed1d15aa02b3c7c1350a5204861d1f8678550fbb.tar.bz2 RWA.Support.SessionService-ed1d15aa02b3c7c1350a5204861d1f8678550fbb.zip |
Restructure project directory and provide script for session service
Diffstat (limited to 'rwa/support/sessionservice/lock.py')
-rw-r--r-- | rwa/support/sessionservice/lock.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/rwa/support/sessionservice/lock.py b/rwa/support/sessionservice/lock.py new file mode 100644 index 0000000..b4e384c --- /dev/null +++ b/rwa/support/sessionservice/lock.py @@ -0,0 +1,50 @@ +# This file is part of Remote Support Desktop +# https://gitlab.das-netzwerkteam.de/RemoteWebApp/rwa.support.sessionservice +# Copyright 2020, 2021 Jonathan Weth <dev@jonathanweth.de> +# Copyright 2020 Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de> +# Copyright 2020 Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +# SPDX-License-Identifier: GPL-2.0-or-later +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +import os +import tempfile + +lock_dir_path = os.path.join(tempfile.gettempdir(), "rwa.support.sessionservice") +lock_file_path = os.path.join(lock_dir_path, "rwa.support.sessionservice.lock") + + +def lock(): + """Create lock file.""" + os.makedirs(lock_dir_path, exist_ok=True) + with open(lock_file_path, "w") as f: + f.write("lock") + + +def is_locked(): + """Check if the lock file exists.""" + return os.path.exists(lock_file_path) + + +def unlock(): + """Remove the lock file.""" + try: + os.remove(lock_file_path) + except FileNotFoundError: + pass |