2021-05-23 03:49:01 +12:00
|
|
|
#!/usr/bin/python
|
|
|
|
|
2021-04-15 01:14:06 +12:00
|
|
|
import os
|
2021-04-09 21:36:27 +12:00
|
|
|
from argparse import ArgumentParser
|
2021-04-18 06:00:15 +12:00
|
|
|
|
2021-04-09 21:36:27 +12:00
|
|
|
from rare import __version__
|
2021-05-23 03:49:01 +12:00
|
|
|
from rare.utils import singleton, utils
|
2021-04-09 22:32:41 +12:00
|
|
|
|
2021-03-26 10:58:32 +13:00
|
|
|
|
2021-03-26 10:52:36 +13:00
|
|
|
def main():
|
2021-04-09 21:36:27 +12:00
|
|
|
parser = ArgumentParser()
|
2021-05-21 23:09:26 +12:00
|
|
|
parser.add_argument("-V", "--version", action="store_true", help="Shows version and exits")
|
|
|
|
parser.add_argument("-S", "--silent", action="store_true",
|
|
|
|
help="Launch Rare in background. Open it from System Tray Icon")
|
|
|
|
parser.add_argument("--offline", action="store_true", help="Launch Rare in offline mode")
|
|
|
|
if os.name != "nt":
|
|
|
|
parser.add_argument("--disable-protondb", action="store_true", dest="disable_protondb",
|
|
|
|
help="Do not download and check data from ProtonDB. Disable it, if you don't need grades")
|
|
|
|
parser.add_argument("--enable-protondb", action="store_true", dest="enable_protondb",
|
|
|
|
help="Enable ProtonDB data, after disabled")
|
2021-05-23 03:49:01 +12:00
|
|
|
|
|
|
|
parser.add_argument("--desktop-shortcut", action="store_true", dest="desktop_shortcut",
|
|
|
|
help="Use this, if there is no link on desktop to start Rare")
|
|
|
|
parser.add_argument("--startmenu-shortcut", action="store_true", dest="startmenu_shortcut",
|
|
|
|
help="Use this, if there is no link in start menu to launch Rare")
|
2021-04-14 02:56:44 +12:00
|
|
|
subparsers = parser.add_subparsers(title="Commands", dest="subparser")
|
|
|
|
|
|
|
|
launch_parser = subparsers.add_parser("launch")
|
|
|
|
launch_parser.add_argument('app_name', help='Name of the app', metavar='<App Name>')
|
2021-02-20 00:57:55 +13:00
|
|
|
|
2021-04-09 21:36:27 +12:00
|
|
|
args = parser.parse_args()
|
2021-04-14 02:56:44 +12:00
|
|
|
|
2021-05-23 03:49:01 +12:00
|
|
|
if args.desktop_shortcut:
|
|
|
|
utils.create_rare_desktop_link("desktop")
|
|
|
|
print("Link created")
|
|
|
|
if args.startmenu_shortcut:
|
|
|
|
utils.create_rare_desktop_link("start_menu")
|
|
|
|
print("link created")
|
|
|
|
|
2021-04-09 21:36:27 +12:00
|
|
|
if args.version:
|
2021-03-18 02:16:33 +13:00
|
|
|
print(__version__)
|
|
|
|
exit(0)
|
2021-04-09 22:32:41 +12:00
|
|
|
try:
|
|
|
|
# this object only allows one instance pre machine
|
|
|
|
me = singleton.SingleInstance()
|
|
|
|
except singleton.SingleInstanceException:
|
|
|
|
print("Rare is already running")
|
2021-04-15 01:14:06 +12:00
|
|
|
|
|
|
|
with open(os.path.expanduser("~/.cache/rare/lockfile"), "w") as file:
|
|
|
|
if args.subparser == "launch":
|
|
|
|
file.write("launch " + args.app_name)
|
|
|
|
else:
|
|
|
|
file.write("start")
|
|
|
|
file.close()
|
|
|
|
|
2021-04-09 22:32:41 +12:00
|
|
|
exit(0)
|
2021-02-10 23:48:25 +13:00
|
|
|
|
2021-04-18 06:00:15 +12:00
|
|
|
if args.subparser == "launch":
|
|
|
|
args.silent = True
|
|
|
|
|
2021-04-09 21:36:27 +12:00
|
|
|
from rare.app import start
|
|
|
|
start(args)
|
2021-03-26 10:58:32 +13:00
|
|
|
|
2021-03-25 23:49:05 +13:00
|
|
|
|
2021-03-26 10:52:36 +13:00
|
|
|
if __name__ == '__main__':
|
2021-02-10 23:48:25 +13:00
|
|
|
main()
|