quixadhal

better item save

Aug 17th, 2014
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Item:
  2.     # stuff....
  3.  
  4.     def save(self, is_equipped: bool=False, in_inventory: bool=False, player_name: str=None):
  5.         filename = ''
  6.         if player_name is None:
  7.             os.makedirs(settings.INSTANCE_DIR, 0o755, True)
  8.             filename = os.path.join(settings.INSTANCE_DIR, '%d.json' % self.instance_id)
  9.         else:
  10.             if is_equipped:
  11.         pathname = os.path.join(settings.PLAYER_DIR, player_name[0].capitalize(), player_name.capitalize(), 'equipment')
  12.         elif in_inventory:
  13.         pathname = os.path.join(settings.PLAYER_DIR, player_name[0].capitalize(), player_name.capitalize(), 'inventory')
  14.         else:
  15.                 pathname = os.path.join(settings.PLAYER_DIR, player_name[0].capitalize(), player_name.capitalize())
  16.             os.makedirs(pathname, 0o755, True)
  17.             filename = os.path.join(pathname, '%s.json' % player_name.capitalize())
  18.  
  19.         js = self.to_json(outer_encoder=instance.to_json)
  20.         with open(filename, 'w') as fp:
  21.             fp.write(js)
  22.  
  23.         if self.inventory:
  24.             for k in self.inventory:
  25.                 k.save(is_equipped, in_inventory, player_name)
Advertisement
Add Comment
Please, Sign In to add comment