Skip to content

Commit

Permalink
pythonlib/grassdb: replace unix only function for file owner name (#896)
Browse files Browse the repository at this point in the history
pwd.getpwuid works on unix only
  • Loading branch information
petrasovaa committed Aug 11, 2020
1 parent 2aab3b6 commit a3d1ff9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
8 changes: 6 additions & 2 deletions gui/wxpython/datacatalog/tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,14 +209,18 @@ def __init__(self, data=None):
def label(self):
data = self.data
if data['type'] == 'mapset':
owner = data['owner'] if data['owner'] else _("name unknown")
if data['current']:
return _("{name} (current)").format(**data)
elif data['is_different_owner'] and data['lock']:
return _("{name} (in use, owner: {owner})").format(**data)
return _("{name} (in use, owner: {owner})").format(
name=data["name"], owner=owner
)
elif data['lock']:
return _("{name} (in use)").format(**data)
elif data['is_different_owner']:
return _("{name} (owner: {owner})").format(**data)
return _("{name} (owner: {owner})").format(name=data["name"],
owner=owner)

return _("{name}").format(**data)

Expand Down
10 changes: 7 additions & 3 deletions lib/python/grassdb/checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@


import os
from pwd import getpwuid
from pathlib import Path


def mapset_exists(database, location, mapset):
Expand Down Expand Up @@ -78,8 +78,12 @@ def is_different_mapset_owner(mapset_path):


def get_mapset_owner(mapset_path):
"""Returns mapset owner"""
return getpwuid(os.stat(mapset_path).st_uid).pw_name
"""Returns mapset owner name or None if owner name unknown"""
try:
path = Path(mapset_path)
return path.owner()
except KeyError:
return None


def is_mapset_locked(mapset_path):
Expand Down

0 comments on commit a3d1ff9

Please sign in to comment.