Add psutil check to see if d2r is running
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import hashlib
|
||||
from flask import Flask, redirect, abort, render_template, request
|
||||
from pathlib import Path
|
||||
|
||||
import psutil
|
||||
from d2warehouse.item import Item
|
||||
from d2warehouse.parser import parse_stash
|
||||
import d2warehouse.db as base_db
|
||||
@@ -20,6 +22,13 @@ DB_FILES = {
|
||||
}
|
||||
|
||||
|
||||
def d2_running() -> bool:
|
||||
for proc in psutil.process_iter(["name"]):
|
||||
if proc.info["name"] == "D2R.exe":
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def save_path() -> Path:
|
||||
if "D2SAVE_PATH" in os.environ:
|
||||
path = Path(os.environ["D2SAVE_PATH"])
|
||||
@@ -77,6 +86,9 @@ def stash_store_items(stash_name: str):
|
||||
return "temp file exists (BAD)"
|
||||
return 500
|
||||
|
||||
if d2_running():
|
||||
return "d2 is running", 500
|
||||
|
||||
stash_data = stash_path.read_bytes()
|
||||
stash_hash = hashlib.sha256(stash_data).hexdigest()
|
||||
if request.form.get("stash_hash") != stash_hash:
|
||||
@@ -137,6 +149,9 @@ def storage_take_items(stash_name: str):
|
||||
return "temp file exists (BAD)"
|
||||
return 500
|
||||
|
||||
if d2_running():
|
||||
return "d2 is running", 500
|
||||
|
||||
stash_data = stash_path.read_bytes()
|
||||
stash = parse_stash(stash_data)
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ license = {text = "GPLv3 License"}
|
||||
dependencies = [
|
||||
"bitarray",
|
||||
"flask",
|
||||
"psutil",
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user