|
1 | | -from __future__ import print_function |
2 | | -import sys |
3 | 1 | import pkg_resources as pkg |
4 | 2 | import PyInstaller.__main__ as pyi |
5 | 3 | import os |
| 4 | +from argparse import ArgumentParser |
6 | 5 |
|
7 | | -args = sys.argv[1:] |
8 | | -main_script = args.pop(0) |
9 | | -web_folder = args.pop(0) |
| 6 | +parser = ArgumentParser(description=""" |
| 7 | +Eel is a little Python library for making simple Electron-like offline HTML/JS GUI apps, |
| 8 | + with full access to Python capabilities and libraries. |
| 9 | +""") |
| 10 | +parser.add_argument( |
| 11 | + "main_script", |
| 12 | + type=str, |
| 13 | + help="Main python file to run app from" |
| 14 | +) |
| 15 | +parser.add_argument( |
| 16 | + "web_folder", |
| 17 | + type=str, |
| 18 | + help="Folder including all web files including file as html, css, ico, etc." |
| 19 | +) |
| 20 | +args, unknown_args = parser.parse_known_args() |
| 21 | +main_script = args.main_script |
| 22 | +web_folder = args.web_folder |
10 | 23 |
|
11 | 24 | print("Building executable with main script '%s' and web folder '%s'...\n" % |
12 | 25 | (main_script, web_folder)) |
|
17 | 30 |
|
18 | 31 | needed_args = ['--hidden-import', 'bottle_websocket', |
19 | 32 | '--add-data', js_file_arg, '--add-data', web_folder_arg] |
20 | | -full_args = [main_script] + needed_args + args |
21 | | - |
| 33 | +full_args = [main_script] + needed_args + unknown_args |
22 | 34 | print('Running:\npyinstaller', ' '.join(full_args), '\n') |
23 | 35 |
|
24 | 36 | pyi.run(full_args) |
0 commit comments