Browse Source

Project cleanup

pull/150/head
chriskiehl 9 years ago
parent
commit
66fe5d7098
2 changed files with 0 additions and 98 deletions
  1. 64
      gooey/gui/application.py
  2. 34
      gooey/python_bindings/gooey_decorator.py

64
gooey/gui/application.py

@ -3,66 +3,12 @@ Main runner entry point for Gooey.
'''
import wx
import os
import sys
import json
import argparse
from gooey.gui.lang import i18n
from gooey.gui.controller import Controller
from gooey.python_bindings import config_generator, source_parser
from gooey.gui import image_repository
def main():
parser = argparse.ArgumentParser(
description='Gooey turns your command line programs into beautiful, user friendly GUIs')
parser.add_argument(
'-b', '--create-build-script',
dest='build_script',
help='Parse the supplied Python File and generate a runnable Gooey build script'
)
parser.add_argument(
'-r', '--run',
dest='run',
nargs='?',
const='',
help='Run Gooey with build_config in local dir OR via the supplied config path'
)
args = parser.parse_args()
if args.build_script:
do_build_script(args.build_script)
elif args.run is not None:
do_run(args)
def do_build_script(module_path):
with open(module_path, 'r') as f:
if not source_parser.has_argparse(f.read()):
raise AssertionError('Argparse not found in module. Unable to continue')
gooey_config = config_generator.create_from_parser(module_path, show_config=True)
outfile = os.path.join(os.getcwd(), 'gooey_config.json')
print 'Writing config file to: {}'.format(outfile)
with open(outfile, 'w') as f:
f.write(json.dumps(gooey_config, indent=2))
def do_run(args):
gooey_config = args.run or read_local_dir()
if not os.path.exists(gooey_config):
raise IOError('Gooey Config not found')
with open(gooey_config, 'r') as f:
build_spec = json.load(f)
run(build_spec)
def run(build_spec):
@ -75,13 +21,3 @@ def run(build_spec):
app.MainLoop()
def read_local_dir():
local_files = os.listdir(os.getcwd())
if 'gooey_config.json' not in local_files:
print "Bugger! gooey_config.json not found!"
sys.exit(1)
return os.path.join(os.getcwd(), 'gooey_config.json')
if __name__ == '__main__':
main()

34
gooey/python_bindings/gooey_decorator.py

@ -91,39 +91,5 @@ def Gooey(f=None,
return build
def store_executable_copy():
main_module_path = get_caller_path()
_, filename = os.path.split(main_module_path)
cleaned_source = clean_source(main_module_path)
descriptor, tmp_filepath = tempfile.mkstemp(suffix='.py')
atexit.register(cleanup, descriptor, tmp_filepath)
with open(tmp_filepath, 'w') as f:
f.write(cleaned_source)
return tmp_filepath
def clean_source(module_path):
with open(module_path, 'r') as f:
return ''.join(
line for line in f.readlines()
if '@gooey' not in line.lower())
def get_parser(module_path):
return source_parser.extract_parser(module_path)
def get_caller_path():
tmp_sys = __import__('sys')
return tmp_sys.argv[0]
def cleanup(descriptor, filepath):
os.close(descriptor)
os.remove(filepath)
if __name__ == '__main__':
pass
Loading…
Cancel
Save