Skip to content

Commit

Permalink
lint
Browse files Browse the repository at this point in the history
  • Loading branch information
bostrt committed Feb 12, 2024
1 parent 10e97db commit ccff77a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 14 deletions.
19 changes: 11 additions & 8 deletions src/palworld_exporter/collectors/util.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
from glob import glob
import logging
import os
import re
from glob import glob

server_name_re = re.compile(r'^DedicatedServerName=(?P<name>.*?)$')


def find_server_name(filename: str) -> str | None:
with open(filename, 'r') as f:
for l in f.readlines():
m = server_name_re.search(l)
for line in f.readlines():
m = server_name_re.search(line)
if m:
return m.group("name")


def find_save_directory(starting_dir: str) -> str:
# First, look for a single Level.sav
Expand All @@ -26,11 +27,12 @@ def find_save_directory(starting_dir: str) -> str:
logging.warning("No Level.sav found")
elif len(result) > 1:
logging.warning("Multiple Level.sav found")

logging.warning("Searching GameUserSettings.ini for save directory")

# Second, try using the GameUserSettings.ini to figure out the right
game_settings_search = os.path.join(starting_dir, "**/GameUserSettings.ini")
# Second, try using the GameUserSettings.ini to figure out the right
game_settings_search = os.path.join(
starting_dir, "**/GameUserSettings.ini")
result = glob(game_settings_search, recursive=True)
if len(result) == 1:
# Found settings so identify the save directory name
Expand All @@ -46,4 +48,5 @@ def find_save_directory(starting_dir: str) -> str:
elif len(result) == 0:
raise FileNotFoundError("No GameUserSettings.ini found")
elif len(result) > 1:
raise ValueError("Multiple GameUserSettings.ini found. Please use more specific directory.")
raise ValueError(
"Multiple GameUserSettings.ini found. Please use more specific directory.")
10 changes: 4 additions & 6 deletions src/test/collectors/test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
class UtilTestCase(TestCase):
def setUp(self):
self.setUpPyfakefs()

def test_valid_direct_path(self):
dir = "/Pal/Saved/SaveGames/0/F0951AC10BED42C6B0EA92ACABB01E95"
self.fs.create_dir(dir)
self.fs.create_file(f"{dir}/Level.sav")

found = find_save_directory(dir)
assert found == dir

def test_valid_indirect_path(self):
dir = "/Pal/Saved/SaveGames/0/F0951AC10BED42C6B0EA92ACABB01E95"
self.fs.create_dir(dir)
Expand All @@ -37,15 +37,13 @@ def test_valid_has_settings_ini(self):
bHasAppliedUserSetting=False
DedicatedServerName=2FAAC44DFD3E4DA18C418EE1F577A560
""")

found = find_save_directory(dir)
assert save_dir == found



def test_invalid_no_settings_ini(self):
dir = "/empty/directory"
self.fs.create_dir(dir)

with pytest.raises(FileNotFoundError):
find_save_directory(dir)

0 comments on commit ccff77a

Please sign in to comment.