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