def initRulesets(): """exits if user only wanted to see available rulesets""" import predefined # pylint: disable=unused-variable if Options.showRulesets or Options.rulesetName: from rule import Ruleset rulesets = dict((x.name, x) for x in Ruleset.selectableRulesets()) if Options.showRulesets: for name in rulesets: kprint(name) Internal.db.close() sys.exit(0) elif Options.rulesetName in rulesets: # we have an exact match Options.ruleset = rulesets[Options.rulesetName] else: matches = list(x for x in rulesets if Options.rulesetName in x) if len(matches) != 1: if len(matches) == 0: msg = "Ruleset %s is unknown" % Options.rulesetName else: msg = "Ruleset %s is ambiguous: %s" % (Options.rulesetName, ", ".join(matches)) Internal.db.close() raise SystemExit(msg) Options.ruleset = rulesets[matches[0]]
def initRulesets(): """exits if user only wanted to see available rulesets""" import predefined predefined.load() if Options.showRulesets or Options.rulesetName: from rule import Ruleset rulesets = dict((x.name, x) for x in Ruleset.selectableRulesets()) if Options.showRulesets: for name in rulesets: print(name) Internal.db.close() sys.exit(0) elif Options.rulesetName in rulesets: # we have an exact match Options.ruleset = rulesets[Options.rulesetName] else: matches = list(x for x in rulesets if Options.rulesetName in x) if len(matches) != 1: if len(matches) == 0: msg = 'Ruleset %s is unknown' % Options.rulesetName else: msg = 'Ruleset %s is ambiguous: %s' % (Options.rulesetName, ', '.join(matches)) Internal.db.close() raise SystemExit(msg) Options.ruleset = rulesets[matches[0]]
def serverChanged(self, dummyText=None): """the user selected a different server""" records = Query('select player.name from player, passwords ' 'where passwords.url=? and passwords.player = player.id', list([self.url])).records players = list(x[0] for x in records) preferPlayer = Options.player if preferPlayer: if preferPlayer in players: players.remove(preferPlayer) players.insert(0, preferPlayer) self.cbUser.clear() self.cbUser.addItems(players) if not self.cbUser.count(): user = KUser() if os.name == 'nt' else KUser(os.geteuid()) self.cbUser.addItem(user.fullName() or user.loginName()) if not preferPlayer: userNames = [x[1] for x in self.servers if x[0] == self.url] if userNames: userIdx = self.cbUser.findText(userNames[0]) if userIdx >= 0: self.cbUser.setCurrentIndex(userIdx) showPW = self.url != Query.localServerName self.grid.labelForField(self.edPassword).setVisible(showPW) self.edPassword.setVisible(showPW) self.grid.labelForField(self.cbRuleset).setVisible(not showPW and not Options.ruleset) self.cbRuleset.setVisible(not showPW and not Options.ruleset) if not showPW: self.cbRuleset.clear() if Options.ruleset: self.cbRuleset.items = [Options.ruleset] else: self.cbRuleset.items = Ruleset.selectableRulesets(self.url)
def serverChanged(self, dummyText=None): """the user selected a different server""" records = Query( 'select player.name from player, passwords ' 'where passwords.url=? and passwords.player = player.id', list([self.url])).records players = list(x[0] for x in records) preferPlayer = Options.player if preferPlayer: if preferPlayer in players: players.remove(preferPlayer) players.insert(0, preferPlayer) self.cbUser.clear() self.cbUser.addItems(players) if not self.cbUser.count(): user = KUser() if os.name == 'nt' else KUser(os.geteuid()) self.cbUser.addItem(user.fullName() or user.loginName()) if not preferPlayer: userNames = [x[1] for x in self.servers if x[0] == self.url] if userNames: userIdx = self.cbUser.findText(userNames[0]) if userIdx >= 0: self.cbUser.setCurrentIndex(userIdx) showPW = self.url != Query.localServerName self.grid.labelForField(self.edPassword).setVisible(showPW) self.edPassword.setVisible(showPW) self.grid.labelForField(self.cbRuleset).setVisible( not showPW and not Options.ruleset) self.cbRuleset.setVisible(not showPW and not Options.ruleset) if not showPW: self.cbRuleset.clear() if Options.ruleset: self.cbRuleset.items = [Options.ruleset] else: self.cbRuleset.items = Ruleset.selectableRulesets(self.url)
def __defineRuleset(self): """find out what ruleset to use""" if Options.ruleset: return Options.ruleset elif Internal.autoPlay or bool(Options.host): return Ruleset.selectableRulesets()[0] else: return self.cbRuleset.current
def __defineRuleset(self): """find out what ruleset to use""" if Options.ruleset: return Options.ruleset elif Internal.autoPlay or bool(Options.host): return Ruleset.selectableRulesets()[0] else: return self.cbRuleset.current
def __init__(self, server=None): QDialog.__init__(self, None) self.setWindowTitle(m18n('Select a ruleset') + ' - Kajongg') self.buttonBox = KDialogButtonBox(self) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok) self.buttonBox.accepted.connect(self.accept) self.buttonBox.rejected.connect(self.reject) self.cbRuleset = ListComboBox(Ruleset.selectableRulesets(server)) self.grid = QGridLayout() # our child SelectPlayers needs this self.grid.setColumnStretch(0, 1) self.grid.setColumnStretch(1, 6) vbox = QVBoxLayout(self) vbox.addLayout(self.grid) vbox.addWidget(self.cbRuleset) vbox.addWidget(self.buttonBox)
def __init__(self, server=None): QDialog.__init__(self, None) decorateWindow(self, i18n('Select a ruleset')) self.buttonBox = KDialogButtonBox(self) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.buttonBox.accepted.connect(self.accept) self.buttonBox.rejected.connect(self.reject) self.cbRuleset = ListComboBox(Ruleset.selectableRulesets(server)) self.grid = QGridLayout() # our child SelectPlayers needs this self.grid.setColumnStretch(0, 1) self.grid.setColumnStretch(1, 6) vbox = QVBoxLayout(self) vbox.addLayout(self.grid) vbox.addWidget(self.cbRuleset) vbox.addWidget(self.buttonBox)
def initRulesets(): """exits if user only wanted to see available rulesets""" import predefined # pylint: disable=W0612 if Options.showRulesets or Options.rulesetName: from rule import Ruleset from util import kprint from query import DBHandle rulesets = Ruleset.selectableRulesets() if Options.showRulesets: for ruleset in rulesets: kprint(ruleset.name) DBHandle.default = None sys.exit(0) else: for ruleset in rulesets: if ruleset.name == Options.rulesetName: Options.ruleset = ruleset break else: DBHandle.default = None raise SystemExit('Ruleset %s is unknown' % Options.rulesetName)