2012-11-11 11:09:15 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
#coding=utf-8
|
2012-11-19 23:00:31 +01:00
|
|
|
import sys, os
|
2012-11-19 23:00:16 +01:00
|
|
|
from optparse import OptionParser
|
|
|
|
from optparse import Option, OptionValueError
|
2012-08-21 19:28:14 +02:00
|
|
|
from PyQt4.QtGui import QApplication
|
|
|
|
from PyQt4.QtCore import QTranslator, QString, QLocale
|
2012-11-19 23:15:02 +01:00
|
|
|
from GUI.VenPri import MWQwad, nusDownloadingCLI
|
2012-11-19 23:14:34 +01:00
|
|
|
from TitleIDs import TitleDict, IOSdict, swap_dic
|
2012-08-21 19:28:14 +02:00
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
class MultipleOption(Option):
|
|
|
|
ACTIONS = Option.ACTIONS + ("extend",)
|
|
|
|
STORE_ACTIONS = Option.STORE_ACTIONS + ("extend",)
|
|
|
|
TYPED_ACTIONS = Option.TYPED_ACTIONS + ("extend",)
|
|
|
|
ALWAYS_TYPED_ACTIONS = Option.ALWAYS_TYPED_ACTIONS + ("extend",)
|
2012-11-11 11:09:15 +01:00
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
def take_action(self, action, dest, opt, value, values, parser):
|
|
|
|
if action == "extend":
|
|
|
|
values.ensure_value(dest, []).append(value)
|
|
|
|
else:
|
|
|
|
Option.take_action(self, action, dest, opt, value, values, parser)
|
2012-11-11 11:09:15 +01:00
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
VERSION = '0.6'
|
2012-11-11 11:09:15 +01:00
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
def main():
|
2012-11-19 23:03:01 +01:00
|
|
|
description = """NUS-Downloader, WadManager and TMD-Viewer for Linux"""
|
2012-11-19 23:00:16 +01:00
|
|
|
parser = OptionParser(option_class=MultipleOption,
|
|
|
|
usage='usage: qwad [OPTIONS] ARGUMENT',
|
|
|
|
description=description)
|
2012-11-19 23:11:25 +01:00
|
|
|
parser.add_option('-d', '--download',
|
2012-11-19 23:00:16 +01:00
|
|
|
action="extend", type="string",
|
|
|
|
dest='download',
|
|
|
|
metavar='Arguments',
|
2012-11-19 23:03:01 +01:00
|
|
|
help='IOS <IOS> <Version> <Output> <DeCrypt> <Pack>')
|
2012-11-19 23:11:25 +01:00
|
|
|
parser.add_option('-g', "--getversions", dest="getversions",
|
|
|
|
action="store_true", default=False, help="get available versions for IOS")
|
2012-11-19 23:14:00 +01:00
|
|
|
parser.add_option('-c', "--convert", dest="convert",
|
|
|
|
action="store_true", default=False, help="convert between IOSX and xxxxxxx-xxxxxxx")
|
2012-11-19 23:00:16 +01:00
|
|
|
parser.add_option("-v", "--version", dest="version",
|
|
|
|
action="store_true", default=False, help="print version and exit")
|
2012-11-11 11:09:15 +01:00
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
options, args = parser.parse_args()
|
|
|
|
|
|
|
|
if options.version:
|
|
|
|
print "%s" % VERSION
|
|
|
|
sys.exit(0)
|
|
|
|
|
|
|
|
if options.download:
|
2012-11-19 23:48:18 +01:00
|
|
|
if "IOS" in str(options.download[0]):
|
|
|
|
xarg = TitleDict[str(options.download[0])]
|
|
|
|
nusdow = nusDownloadingCLI(int(str(xarg).lower(),16), args[0], args[1], args[2], args[3])
|
2012-11-19 23:00:16 +01:00
|
|
|
else:
|
2012-11-19 23:11:25 +01:00
|
|
|
|
2012-11-19 23:48:18 +01:00
|
|
|
nusdow = nusDownloadingCLI(int(str(options.download[0]).lower(),16), args[0], args[1], args[2], args[3])
|
2012-11-19 23:00:16 +01:00
|
|
|
nusdow.start()
|
|
|
|
sys.exit(0)
|
|
|
|
|
2012-11-19 23:11:25 +01:00
|
|
|
if options.getversions:
|
|
|
|
if "IOS" in str(args[0]):
|
|
|
|
print "Available Versions for %s: %s" % (str(args[0]), IOSdict[str(args[0])])
|
|
|
|
else:
|
|
|
|
NewDict = swap_dic(TitleDict)
|
|
|
|
xarg = NewDict[str(args[0])]
|
|
|
|
print "Available Versions for %s: %s" % (str(args[0]), IOSdict[str(xarg)])
|
|
|
|
sys.exit(0)
|
|
|
|
|
2012-11-19 23:14:00 +01:00
|
|
|
if options.convert:
|
|
|
|
if "IOS" in str(args[0]):
|
|
|
|
print "%s == %s" % (str(args[0]), TitleDict[str(args[0])])
|
|
|
|
else:
|
|
|
|
NewDict = swap_dic(TitleDict)
|
|
|
|
xarg = NewDict[str(args[0])]
|
|
|
|
print "%s == %s" % (str(args[0]), xarg)
|
|
|
|
sys.exit(0)
|
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
os.chdir(os.getenv("HOME"))
|
2012-08-21 19:28:14 +02:00
|
|
|
translator = QTranslator()
|
|
|
|
translator.load(QString("i18n/Qwad_%1").arg(QLocale.system().name()))
|
|
|
|
qttranslator = QTranslator()
|
|
|
|
qttranslator.load(QString("qt_%1").arg(QLocale.system().name()))
|
|
|
|
Vapp = QApplication(sys.argv)
|
|
|
|
Vapp.setOrganizationName("ssorgatem productions")
|
|
|
|
Vapp.setApplicationName("Qwad")
|
|
|
|
Vapp.installTranslator(translator)
|
|
|
|
Vapp.installTranslator(qttranslator)
|
|
|
|
VentanaP = MWQwad()
|
|
|
|
VentanaP.show()
|
|
|
|
sys.exit(Vapp.exec_())
|
|
|
|
|
2012-11-19 23:00:16 +01:00
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|