fixed permissions bug

pull/20/head
Jake Funke 2018-06-19 23:58:51 +00:00
parent a23656b1be
commit 0f78cf20d3
1 changed files with 10 additions and 4 deletions

View File

@ -730,10 +730,13 @@ class CursedMenu(object):
self.visited_plant = self.get_visited_plant(visitor_data) self.visited_plant = self.get_visited_plant(visitor_data)
guest_visitor_file = home_folder + "/{}/.botany/visitors.json".format(guest_garden, guest_garden) guest_visitor_file = home_folder + "/{}/.botany/visitors.json".format(guest_garden, guest_garden)
if os.path.isfile(guest_visitor_file): if os.path.isfile(guest_visitor_file):
self.water_on_visit(guest_visitor_file) water_success = self.water_on_visit(guest_visitor_file)
if water_success:
self.screen.addstr(16, 2, "...you watered ~{}'s {}...".format(str(guest_garden), guest_plant_description)) self.screen.addstr(16, 2, "...you watered ~{}'s {}...".format(str(guest_garden), guest_plant_description))
if self.visited_plant: if self.visited_plant:
self.draw_plant_ascii(self.visited_plant) self.draw_plant_ascii(self.visited_plant)
else:
self.screen.addstr(16, 2, "{}'s garden is locked, but you can see in...".format(guest_garden))
else: else:
self.screen.addstr(16, 2, "i can't seem to find directions to {}...".format(guest_garden)) self.screen.addstr(16, 2, "i can't seem to find directions to {}...".format(guest_garden))
self.screen.getch() self.screen.getch()
@ -745,11 +748,14 @@ class CursedMenu(object):
visitor_data = {} visitor_data = {}
guest_data = {'user': getpass.getuser(), 'timestamp': int(time.time())} guest_data = {'user': getpass.getuser(), 'timestamp': int(time.time())}
if os.path.isfile(guest_visitor_file): if os.path.isfile(guest_visitor_file):
if not os.access(guest_visitor_file, os.W_OK):
return False
with open(guest_visitor_file) as f: with open(guest_visitor_file) as f:
visitor_data = json.load(f) visitor_data = json.load(f)
visitor_data.append(guest_data) visitor_data.append(guest_data)
with open(guest_visitor_file, mode='w') as f: with open(guest_visitor_file, mode='w') as f:
f.write(json.dumps(visitor_data, indent=2)) f.write(json.dumps(visitor_data, indent=2))
return True
def get_visited_plant(self, visitor_data): def get_visited_plant(self, visitor_data):
""" Returns a drawable pseudo plant object from json data """ """ Returns a drawable pseudo plant object from json data """