Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python2
- # -*- coding: utf-8 -*-
- # python2 — for renpy
- # Created by Anonymous
- # WTFPL http://wtfpl.org/
- def import_renpy(renpypath):
- """Let it loads its modules"""
- import sys
- sys.path.append(renpypath)
- import renpy
- import renpy.object
- import renpy.game
- import renpy.preferences
- def load():
- global persname
- global pers
- import cPickle as pickle
- with open(persname, "rb") as pfl:
- s = pfl.read().decode("zlib")
- pers = pickle.loads(s)
- print("Loaded persistent data into pers variable")
- def save():
- global persname
- global pers
- import cPickle as pickle
- with open(persname, "w+") as pfl:
- pdata = pickle.dumps(pers)
- pfl.write(pdata.encode("zlib"))
- pfl.flush()
- print("Saved persistent data from pers variable")
- def getargs():
- import argparse
- parser = argparse.ArgumentParser(description="RenPy pers shell")
- parser.add_argument('-ren', '--renpy-file', required = True, help = "RenPy persistent file")
- parser.add_argument('-gdr', '--game-dir', required = True, help = "Game dir with RenPy subfolder")
- return parser.parse_args()
- def runipython(*kvargs, **kwargs):
- import inspect
- for (k,v) in kwargs.items():
- inspect.stack()[0][0].f_locals[k] = v
- from IPython import embed
- embed()
- def main():
- global pers
- global persname
- pers = None
- args = getargs()
- gdr = args.game_dir
- persname = args.renpy_file
- import_renpy(gdr)
- load()
- runipython(pers = pers, load = load, save = save)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement