import os, shutil browser_stack = os.path.expanduser('~/.cache/browser-stack') def get_stack(): try: with open(browser_stack, 'r') as stack_file: return stack_file.readlines() except IOError: # No such file return [] def save_stack(stack): os.umask(0o066) # octal -rw------- with open(browser_stack+'.tmp', 'w') as stack_file: stack_file.writelines(stack) shutil.copy(browser_stack+'.tmp', browser_stack) os.remove(browser_stack+'.tmp') def set_current_browser(): stack = get_stack() if stack: os.environ['BROWSER'] = browser = stack[0].strip() return browser