本文整理汇总了Python中pychess.System.conf.get函数的典型用法代码示例。如果您正苦于以下问题:Python get函数的具体用法?Python get怎么用?Python get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: analyse_moves
def analyse_moves():
move_time = int(conf.get("max_analysis_spin", 3))
thresold = int(conf.get("variation_thresold_spin", 50))
for board in gamemodel.boards:
if stop_event.is_set():
break
glock.acquire()
try:
gmwidg.board.view.setShownBoard(board)
finally:
glock.release()
analyzer.setBoard(board)
time.sleep(move_time + 0.1)
ply = board.ply
if ply - 1 in gamemodel.scores:
color = (ply - 1) % 2
oldmoves, oldscore, olddepth = gamemodel.scores[ply - 1]
oldscore = oldscore * -1 if color == BLACK else oldscore
moves, score, depth = gamemodel.scores[ply]
score = score * -1 if color == WHITE else score
diff = score - oldscore
if (diff > thresold and color == BLACK) or (diff < -1 * thresold and color == WHITE):
gamemodel.add_variation(gamemodel.boards[ply - 1], oldmoves)
widgets["analyze_game"].hide()
widgets["analyze_ok_button"].set_sensitive(True)
conf.set("analyzer_check", old_check_value)
开发者ID:fowode,项目名称:pychess,代码行数:28,代码来源:analyzegameDialog.py
示例2: coro
def coro():
altpath = getEngineDataPrefix()
if pgn.scoutfish_path is None and conf.get("download_scoutfish", False):
binary = "https://github.com/pychess/scoutfish/releases/download/20170627/%s" % pgn.scoutfish
filename = yield from download_file_async(binary)
if filename is not None:
dest = shutil.move(filename, os.path.join(altpath, pgn.scoutfish))
os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE)
pgn.scoutfish_path = dest
if pgn.chess_db_path is None and conf.get("download_chess_db", False):
binary = "https://github.com/pychess/chess_db/releases/download/20170627/%s" % pgn.parser
filename = yield from download_file_async(binary)
if filename is not None:
dest = shutil.move(filename, os.path.join(altpath, pgn.parser))
os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE)
pgn.chess_db_path = dest
if TimeSeal.timestamp_path is None and conf.get("download_timestamp", False):
binary = "https://www.chessclub.com/user/resources/icc/timestamp/%s" % TimeSeal.timestamp
filename = yield from download_file_async(binary)
if filename is not None:
dest = shutil.move(filename, os.path.join(altpath, TimeSeal.timestamp))
os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE)
TimeSeal.timestamp_path = dest
开发者ID:teacoffee2017,项目名称:pychess,代码行数:25,代码来源:ExternalsDialog.py
示例3: onFinger
def onFinger(self, fm, finger):
if not finger.getName() == self.connection.getUsername():
return
self.finger = finger
numfingers = conf.get("numberOfFingers") + 1
conf.set("numberOfFingers", numfingers)
if conf.get("numberOfTimesLoggedInAsRegisteredUser") is 1 and numfingers is 1:
standard = self.__getRating(TYPE_STANDARD)
blitz = self.__getRating(TYPE_BLITZ)
lightning = self.__getRating(TYPE_LIGHTNING)
if standard is not None:
self.seekEditorWidgetDefaults["ratingCenterSlider"][
0] = standard // RATING_SLIDER_STEP
elif blitz is not None:
self.seekEditorWidgetDefaults["ratingCenterSlider"][
0] = blitz // RATING_SLIDER_STEP
if blitz is not None:
self.seekEditorWidgetDefaults["ratingCenterSlider"][
1] = blitz // RATING_SLIDER_STEP
if lightning is not None:
self.seekEditorWidgetDefaults["ratingCenterSlider"][
2] = lightning // RATING_SLIDER_STEP
elif blitz is not None:
self.seekEditorWidgetDefaults["ratingCenterSlider"][
2] = blitz // RATING_SLIDER_STEP
for i in range(1, 4):
self.__loadSeekEditor(i)
self.__updateSeekEditor(i)
self.__saveSeekEditor(i)
self.__writeSavedSeeks(i)
self.__updateYourRatingHBox()
开发者ID:leogregianin,项目名称:pychess,代码行数:35,代码来源:SeekChallenge.py
示例4: on_game_started
def on_game_started(self, gamemodel, gmwidg):
# Rotate to human player
boardview = gmwidg.board.view
if gamemodel.players[1].__type__ == LOCAL:
if gamemodel.players[0].__type__ != LOCAL:
boardview.rotation = math.pi
elif conf.get("autoRotate", True) and \
gamemodel.curplayer == gamemodel.players[1]:
boardview.rotation = math.pi
# Play set-up sound
preferencesDialog.SoundTab.playAction("gameIsSetup")
# Connect player offers to infobar
for player in gamemodel.players:
if player.__type__ == LOCAL:
self.offer_cids[gamemodel][player] = player.connect(
"offer", self.offer_callback, gamemodel, gmwidg)
# Start analyzers if any
if not gamemodel.isEngine2EngineGame():
asyncio.async(gamemodel.start_analyzer(HINT))
asyncio.async(gamemodel.start_analyzer(SPY))
if not conf.get("hint_mode", False):
gamemodel.pause_analyzer(HINT)
if not conf.get("spy_mode", False):
gamemodel.pause_analyzer(SPY)
return False
开发者ID:bboutkov,项目名称:pychess,代码行数:28,代码来源:gamenanny.py
示例5: on_game_started
def on_game_started (gamemodel, gmwidg):
on_gmwidg_infront(gmwidg) # setup menu items sensitivity
# Rotate to human player
boardview = gmwidg.board.view
if gamemodel.players[1].__type__ == LOCAL:
if gamemodel.players[0].__type__ != LOCAL:
boardview.rotation = math.pi
elif conf.get("autoRotate", True) and \
gamemodel.curplayer == gamemodel.players[1]:
boardview.rotation = math.pi
# Play set-up sound
preferencesDialog.SoundTab.playAction("gameIsSetup")
# Connect player offers to statusbar
for player in gamemodel.players:
if player.__type__ == LOCAL:
player.connect("offer", offer_callback, gamemodel, gmwidg)
# Start analyzers if any
gamemodel.connect("analyzer_added", analyzer_added, gmwidg)
if not (isinstance(gamemodel, ICGameModel) and \
gamemodel.isObservationGame() is False) and \
not gamemodel.isEngine2EngineGame():
gamemodel.start_analyzer(HINT)
gamemodel.start_analyzer(SPY)
if not conf.get("hint_mode", False):
gamemodel.pause_analyzer(HINT)
if not conf.get("spy_mode", False):
gamemodel.pause_analyzer(SPY)
return False
开发者ID:sally0813,项目名称:pychess,代码行数:32,代码来源:gamenanny.py
示例6: on_gmwidg_infront
def on_gmwidg_infront (gmwidg):
# Set right sensitivity states in menubar, when tab is switched
auto = gmwidg.gamemodel.players[0].__type__ != LOCAL and \
gmwidg.gamemodel.players[1].__type__ != LOCAL
for item in ACTION_MENU_ITEMS:
getWidgets()[item].props.sensitive = not auto
for widget in MENU_ITEMS:
sensitive = False
if widget == 'abort':
if isinstance(gmwidg.gamemodel, pychess.ic.ICGameModel.ICGameModel):
sensitive = True
elif widget == 'adjourn':
if isinstance(gmwidg.gamemodel, pychess.ic.ICGameModel.ICGameModel):
sensitive = True
elif widget == 'hint_mode':
if gmwidg.gamemodel.hintEngineSupportsVariant and conf.get("analyzer_check", True):
sensitive = True
elif widget == 'spy_mode':
if gmwidg.gamemodel.spyEngineSupportsVariant and conf.get("inv_analyzer_check", True):
sensitive = True
elif widget == 'show_sidepanels':
if not isDesignGWShown():
sensitive = True
else: sensitive = True
getWidgets()[widget].set_property('sensitive', sensitive)
# Change window title
getWidgets()['window1'].set_title('%s - PyChess' % gmwidg.getTabText())
开发者ID:jskurka,项目名称:PyChess-Learning-Module,代码行数:29,代码来源:gamenanny.py
示例7: startClicked
def startClicked(self, button):
color = self.widgets["colorDock"].get_child().active
if color == 2:
color = random.choice([WHITE, BLACK])
opponent = self.widgets["opponentDock"].get_child().active
difficulty = int(self.widgets["skillSlider"].get_value())
gamemodel = GameModel(TimeModel(5 * 60, 0))
name = conf.get("firstName", _("You"))
player0tup = (LOCAL, Human, (color, name), name)
if opponent == 0:
name = conf.get("secondName", _("Guest"))
player1tup = (LOCAL, Human, (1 - color, name), name)
else:
engine = discoverer.getEngineN(opponent - 1)
name = discoverer.getName(engine)
player1tup = (ARTIFICIAL, discoverer.initPlayerEngine,
(engine, 1 - color, difficulty,
variants[NORMALCHESS], 5 * 60, 0), name)
if color == WHITE:
ionest.generalStart(gamemodel, player0tup, player1tup)
else:
ionest.generalStart(gamemodel, player1tup, player0tup)
开发者ID:vaj25,项目名称:pychess,代码行数:25,代码来源:TaskerManager.py
示例8: saveGamePGN
def saveGamePGN(self, game):
if game.practice_game:
return True
if conf.get("saveOwnGames", False) and not game.hasLocalPlayer():
return True
filename = conf.get("autoSaveFormat", "pychess")
filename = filename.replace("#n1", game.tags["White"])
filename = filename.replace("#n2", game.tags["Black"])
year, month, day = parseDateTag(game.tags["Date"])
year = '' if year is None else str(year)
month = '' if month is None else str(month)
day = '' if day is None else str(day)
filename = filename.replace("#y", "%s" % year)
filename = filename.replace("#m", "%s" % month)
filename = filename.replace("#d", "%s" % day)
pgn_path = conf.get("autoSavePath", os.path.expanduser("~")) + "/" + filename + ".pgn"
append = True
try:
if not os.path.isfile(pgn_path):
# create new file
with open(pgn_path, "w"):
pass
base_offset = os.path.getsize(pgn_path)
# save to .sqlite
database_path = os.path.splitext(pgn_path)[0] + '.sqlite'
database.save(database_path, game, base_offset)
# save to .scout
from pychess.Savers.pgn import scoutfish_path
if scoutfish_path is not None:
pgn_text = pgn.save(StringIO(), game)
tmp = tempfile.NamedTemporaryFile(mode="w", delete=False)
pgnfile = tmp.name
with tmp.file as f:
f.write(pgn_text)
# create new .scout from pgnfile we are importing
args = [scoutfish_path, "make", pgnfile, "%s" % base_offset]
output = subprocess.check_output(args, stderr=subprocess.STDOUT)
# append it to our existing one
if output.decode().find(u"Processing...done") > 0:
old_scout = os.path.splitext(pgn_path)[0] + '.scout'
new_scout = os.path.splitext(pgnfile)[0] + '.scout'
with open(old_scout, "ab") as file1, open(new_scout, "rb") as file2:
file1.write(file2.read())
# TODO: do we realy want to update .bin ? It can be huge/slow!
# save to .pgn
game.save(pgn_path, pgn, append)
return True
except IOError:
return False
开发者ID:teacoffee2017,项目名称:pychess,代码行数:60,代码来源:__init__.py
示例9: __init__
def __init__ (self, widgets):
# Init 'auto save" checkbutton
def checkCallBack (*args):
checkbox = widgets["autoSave"]
widgets["autosave_grid"].set_property("sensitive", checkbox.get_active())
conf.notify_add("autoSave", checkCallBack)
widgets["autoSave"].set_active(False)
uistuff.keep(widgets["autoSave"], "autoSave")
checkCallBack()
default_path = os.path.expanduser("~")
autoSavePath = conf.get("autoSavePath", default_path)
conf.set("autoSavePath", autoSavePath)
auto_save_chooser_dialog = Gtk.FileChooserDialog(_("Select auto save path"), None, Gtk.FileChooserAction.SELECT_FOLDER,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK))
auto_save_chooser_button = Gtk.FileChooserButton.new_with_dialog(auto_save_chooser_dialog)
auto_save_chooser_button.set_current_folder(autoSavePath)
widgets["savePathChooserDock"].add(auto_save_chooser_button)
auto_save_chooser_button.show()
def select_auto_save(button):
new_directory = auto_save_chooser_dialog.get_filename()
if new_directory != autoSavePath:
conf.set("autoSavePath", new_directory)
auto_save_chooser_button.connect("current-folder-changed", select_auto_save)
conf.set("autoSaveFormat", conf.get("autoSaveFormat", "pychess"))
uistuff.keep(widgets["autoSaveFormat"], "autoSaveFormat")
uistuff.keep(widgets["saveEmt"], "saveEmt")
uistuff.keep(widgets["saveEval"], "saveEval")
uistuff.keep(widgets["saveOwnGames"], "saveOwnGames")
开发者ID:sally0813,项目名称:pychess,代码行数:35,代码来源:preferencesDialog.py
示例10: analyse_moves
def analyse_moves():
should_black = conf.get("shouldBlack", True)
should_white = conf.get("shouldWhite", True)
from_current = conf.get("fromCurrent", True)
start_ply = gmwidg.board.view.shown if from_current else 0
move_time = int(conf.get("max_analysis_spin", 3))
threshold = int(conf.get("variation_threshold_spin", 50))
for board in gamemodel.boards[start_ply:]:
if stop_event.is_set():
break
@idle_add
def do():
gmwidg.board.view.setShownBoard(board)
do()
analyzer.setBoard(board)
if threat_PV:
inv_analyzer.setBoard(board)
time.sleep(move_time + 0.1)
ply = board.ply
color = (ply - 1) % 2
if ply - 1 in gamemodel.scores and ply in gamemodel.scores and (
(color == BLACK and should_black) or (color == WHITE and should_white)):
oldmoves, oldscore, olddepth = gamemodel.scores[ply - 1]
oldscore = oldscore * -1 if color == BLACK else oldscore
score_str = prettyPrintScore(oldscore, olddepth)
moves, score, depth = gamemodel.scores[ply]
score = score * -1 if color == WHITE else score
diff = score - oldscore
if (diff > threshold and color == BLACK) or (diff < -1 * threshold and color == WHITE):
if threat_PV:
try:
if ply - 1 in gamemodel.spy_scores:
oldmoves0, oldscore0, olddepth0 = gamemodel.spy_scores[ply - 1]
score_str0 = prettyPrintScore(oldscore0, olddepth0)
pv0 = listToMoves(gamemodel.boards[ply - 1], ["--"] + oldmoves0, validate=True)
if len(pv0) > 2:
gamemodel.add_variation(gamemodel.boards[ply - 1], pv0,
comment="Treatening", score=score_str0)
except ParsingError as e:
# ParsingErrors may happen when parsing "old" lines from
# analyzing engines, which haven't yet noticed their new tasks
log.debug("__parseLine: Ignored (%s) from analyzer: ParsingError%s" %
(' '.join(oldmoves), e))
try:
pv = listToMoves(gamemodel.boards[ply - 1], oldmoves, validate=True)
gamemodel.add_variation(gamemodel.boards[ply - 1], pv, comment="Better is", score=score_str)
except ParsingError as e:
# ParsingErrors may happen when parsing "old" lines from
# analyzing engines, which haven't yet noticed their new tasks
log.debug("__parseLine: Ignored (%s) from analyzer: ParsingError%s" %
(' '.join(oldmoves), e))
widgets["analyze_game"].hide()
widgets["analyze_ok_button"].set_sensitive(True)
conf.set("analyzer_check", old_check_value)
if threat_PV:
conf.set("inv_analyzer_check", old_inv_check_value)
message.dismiss()
开发者ID:JoelMon,项目名称:pychess,代码行数:60,代码来源:analyzegameDialog.py
示例11: run
def run (no_debug, no_idle_add_debug, no_thread_debug, log_viewer, chess_file,
ics_host, ics_port):
# Start logging
if log_viewer:
log.logger.addHandler(GLogHandler(logemitter))
log.logger.setLevel(logging.WARNING if no_debug is True else logging.DEBUG)
oldlogs = [l for l in os.listdir(getUserDataPrefix()) if l.endswith(".log")]
conf.set("max_log_files", conf.get("max_log_files", 10))
if len(oldlogs) >= conf.get("max_log_files", 10):
oldlogs.sort()
try:
os.remove(addUserDataPrefix(oldlogs[0]))
except OSError as e:
pass
signal.signal(signal.SIGINT, Gtk.main_quit)
def cleanup ():
SubProcess.finishAllSubprocesses()
atexit.register(cleanup)
pychess = PyChess(log_viewer, chess_file)
idle_add.debug = not no_idle_add_debug
sys.stdout = LogPipe(sys.stdout, "stdout")
sys.stderr = LogPipe(sys.stderr, "stdout")
log.info("PyChess %s %s rev. %s %s started" % (VERSION_NAME, VERSION, pychess.hg_rev, pychess.hg_date))
log.info("Command line args: '%s'" % chess_file)
if not no_thread_debug:
start_thread_dump()
if ics_host:
ICLogon.host = ics_host
if ics_port:
ICLogon.port = ics_port
Gtk.main()
开发者ID:metiscus,项目名称:pychess,代码行数:35,代码来源:Main.py
示例12: init_engine
def init_engine(analyzer_type, gamemodel, force=False):
"""
Initializes and starts the engine analyzer of analyzer_type the user has
configured in the Engines tab of the preferencesDialog, for gamemodel. If no
such engine is set in the preferences, or if the configured engine doesn't
support the chess variant being played in gamemodel, then no analyzer is
started and None is returned.
"""
if analyzer_type == HINT:
combo_name = "ana_combobox"
check_name = "analyzer_check"
mode = ANALYZING
else:
combo_name = "inv_ana_combobox"
check_name = "inv_analyzer_check"
mode = INVERSE_ANALYZING
analyzer = None
if conf.get(check_name, True):
anaengines = list(discoverer.getAnalyzers())
engine = discoverer.getEngineByMd5(conf.get(combo_name, 0))
if engine is None:
engine = anaengines[0]
if gamemodel.variant.variant in discoverer.getEngineVariants(engine):
analyzer = discoverer.initAnalyzerEngine(engine, mode, gamemodel.variant)
log.debug("%s analyzer: %s" % (analyzer_type, repr(analyzer)))
return analyzer
开发者ID:oldstylejoe,项目名称:pychess-timed,代码行数:30,代码来源:engineNest.py
示例13: __init__
def __init__(self, widgets):
conf.set("firstName", conf.get("firstName", conf.username))
conf.set("secondName", conf.get("secondName", _("Guest")))
# Give to uistuff.keeper
for key in (
"firstName",
"secondName",
"showEmt",
"showEval",
"hideTabs",
"faceToFace",
"showCords",
"showCaptured",
"figuresInNotation",
"fullAnimation",
"moveAnimation",
"noAnimation",
):
uistuff.keep(widgets[key], key)
# Options on by default
for key in ("autoRotate", "fullAnimation", "showBlunder"):
uistuff.keep(widgets[key], key, first_value=True)
开发者ID:systemovich,项目名称:pychess,代码行数:26,代码来源:preferencesDialog.py
示例14: startClicked
def startClicked(self, button):
color = self.widgets["colorDock"].get_child().get_active()
if color == 2:
color = random.choice([WHITE, BLACK])
opp = self.widgets["opponentDock"].get_child()
tree_iter = opp.get_active_iter()
if tree_iter is not None:
model = opp.get_model()
engine = model[tree_iter][1]
opponent = self.widgets["opponentDock"].get_child().get_active()
difficulty = int(self.widgets["skillSlider"].get_value())
gamemodel = GameModel(TimeModel(5 * 60, 0))
name = conf.get("firstName")
player0tup = (LOCAL, Human, (color, name), name)
if opponent == 0:
name = conf.get("secondName")
player1tup = (LOCAL, Human, (1 - color, name), name)
else:
engine = discoverer.getEngineByName(engine)
name = discoverer.getName(engine)
player1tup = (ARTIFICIAL, discoverer.initPlayerEngine,
(engine, 1 - color, difficulty,
variants[NORMALCHESS], 5 * 60, 0), name)
perspective = perspective_manager.get_perspective("games")
if color == WHITE:
create_task(perspective.generalStart(gamemodel, player0tup, player1tup))
else:
create_task(perspective.generalStart(gamemodel, player1tup, player0tup))
开发者ID:leogregianin,项目名称:pychess,代码行数:33,代码来源:TaskerManager.py
示例15: __init__
def __init__(self):
self.window = Gtk.Window(Gtk.WindowType.TOPLEVEL, title=_("Ask for permissions"))
self.window.set_transient_for(mainwindow())
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
gtk_version = (Gtk.get_major_version(), Gtk.get_minor_version())
if gtk_version >= (3, 12):
vbox.props.margin_start = 9
vbox.props.margin_end = 9
else:
vbox.props.margin_left = 9
vbox.props.margin_right = 9
vbox.props.margin_bottom = 9
self.window.add(vbox)
uistuff.keepWindowSize("externalsdialog", self.window, (320, 240), uistuff.POSITION_CENTER)
label = Gtk.Label(_("Some of PyChess features needs your permission to download external programs"))
vbox.pack_start(label, True, True, 0)
box = Gtk.Box()
check_button = Gtk.CheckButton(_("database querying needs scoutfish"))
check_button.set_active(conf.get("download_scoutfish", False))
check_button.connect("toggled", lambda w: conf.set("download_scoutfish", w.get_active()))
box.add(check_button)
link = "https://github.com/pychess/scoutfish"
link_button = Gtk.LinkButton(link, link)
box.add(link_button)
vbox.pack_start(box, False, False, 0)
box = Gtk.Box()
check_button = Gtk.CheckButton(_("database opening tree needs chess_db"))
check_button.set_active(conf.get("download_chess_db", False))
check_button.connect("toggled", lambda w: conf.set("download_chess_db", w.get_active()))
box.add(check_button)
link = "https://github.com/pychess/chess_db"
link_button = Gtk.LinkButton(link, link)
box.add(link_button)
vbox.pack_start(box, False, False, 0)
box = Gtk.Box()
check_button = Gtk.CheckButton(_("ICC lag compensation needs timestamp"))
check_button.set_active(conf.get("download_timestamp", False))
check_button.connect("toggled", lambda w: conf.set("download_timestamp", w.get_active()))
box.add(check_button)
link = "https://www.chessclub.com/user/resources/icc/timestamp"
link_button = Gtk.LinkButton(link, link)
box.add(link_button)
vbox.pack_start(box, False, False, 0)
check_button = Gtk.CheckButton(_("Don't show this dialog on startup."))
check_button.set_active(conf.get("dont_show_externals_at_startup", False))
check_button.connect("toggled", lambda w: conf.set("dont_show_externals_at_startup", w.get_active()))
vbox.pack_start(check_button, True, True, 0)
buttonbox = Gtk.ButtonBox()
close_button = Gtk.Button.new_from_stock(Gtk.STOCK_OK)
close_button.connect("clicked", self.on_close_clicked)
self.window.connect("delete_event", lambda w, a: self.window.destroy())
buttonbox.add(close_button)
vbox.pack_start(buttonbox, False, False, 0)
开发者ID:teacoffee2017,项目名称:pychess,代码行数:59,代码来源:ExternalsDialog.py
示例16: load
def load(self, gmwidg):
__widget__ = Gtk.ScrolledWindow()
__widget__.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.ALWAYS)
__widget__.add(self.textview)
self.gamewidget = gmwidg
self.boardview = gmwidg.board.view
self.boardview.connect("shownChanged", self.shownChanged)
self.gamemodel = gmwidg.board.view.model
self.gamemodel.connect_after("game_loaded", self.game_loaded)
self.gamemodel.connect_after("game_changed", self.game_changed)
self.gamemodel.connect_after("game_started", self.update)
self.gamemodel.connect_after("game_ended", self.update)
self.gamemodel.connect_after("moves_undone", self.moves_undone)
self.gamemodel.connect_after("opening_changed", self.update)
self.gamemodel.connect_after("players_changed", self.players_changed)
self.gamemodel.connect("variation_added", self.variation_added)
self.gamemodel.connect("variation_extended", self.variation_extended)
self.gamemodel.connect("analysis_changed", self.analysis_changed)
# Connect to preferences
self.fan = conf.get("figuresInNotation", False)
def figuresInNotationCallback(none):
self.fan = conf.get("figuresInNotation", False)
self.update()
conf.notify_add("figuresInNotation", figuresInNotationCallback)
# Elapsed move time
self.showEmt = conf.get("showEmt", False)
def showEmtCallback(none):
self.showEmt = conf.get("showEmt", False)
self.update()
conf.notify_add("showEmt", showEmtCallback)
# Blunders
self.showBlunder = conf.get("showBlunder", False)
def showBlunderCallback(none):
self.showBlunder = conf.get("showBlunder", False)
self.update()
conf.notify_add("showBlunder", showBlunderCallback)
# Eval values
self.showEval = conf.get("showEval", False)
def showEvalCallback(none):
self.showEval = conf.get("showEval", False)
self.update()
conf.notify_add("showEval", showEvalCallback)
return __widget__
开发者ID:CarbonFixer,项目名称:pychess,代码行数:58,代码来源:annotationPanel.py
示例17: setFromConf
def setFromConf():
try:
v = conf.get(key)
except TypeError:
log.warning("uistuff.keep.setFromConf: Key '%s' from conf had the wrong type '%s', ignored" %
(key, type(conf.get(key))))
# print("uistuff.keep TypeError %s %s" % (key, conf.get(key)))
else:
set_value(v)
开发者ID:leogregianin,项目名称:pychess,代码行数:9,代码来源:uistuff.py
示例18: onResponse
def onResponse(dialog, res):
cls.widgets["newgamedialog"].hide()
cls.widgets["newgamedialog"].disconnect(handlerId)
if res != gtk.RESPONSE_OK:
return
# Find variant
if cls.widgets["playNormalRadio"].get_active():
variant_index = NORMALCHESS
elif cls.widgets["playVariant1Radio"].get_active():
variant_index = conf.get("ngvariant1", FISCHERRANDOMCHESS)
else:
variant_index = conf.get("ngvariant2", LOSERSCHESS)
variant = variants[variant_index]
# Find time
if cls.widgets["notimeRadio"].get_active():
secs = 0
incr = 0
elif cls.widgets["blitzRadio"].get_active():
secs = cls.widgets["ngblitz min"].get_value_as_int()*60
incr = cls.widgets["ngblitz gain"].get_value_as_int()
elif cls.widgets["rapidRadio"].get_active():
secs = cls.widgets["ngrapid min"].get_value_as_int()*60
incr = cls.widgets["ngrapid gain"].get_value_as_int()
elif cls.widgets["normalRadio"].get_active():
secs = cls.widgets["ngnormal min"].get_value_as_int()*60
incr = cls.widgets["ngnormal gain"].get_value_as_int()
# Find players
player0 = cls.widgets["whitePlayerCombobox"].get_active()
player0 = playerItems[0].index(playerItems[variant_index][player0])
diffi0 = int(cls.widgets["skillSlider1"].get_value())
player1 = cls.widgets["blackPlayerCombobox"].get_active()
player1 = playerItems[0].index(playerItems[variant_index][player1])
diffi1 = int(cls.widgets["skillSlider2"].get_value())
# Prepare players for ionest
playertups = []
for i, playerno, diffi, color in ((0, player0, diffi0, WHITE),
(1, player1, diffi1, BLACK)):
if playerno > 0:
engine = discoverer.getEngineN (playerno-1)
name = discoverer.getName(engine)
playertups.append((ARTIFICIAL, discoverer.initPlayerEngine,
(engine, color, diffi, variant, secs, incr), name))
else:
playertups.append((LOCAL, Human, (color, ""), _("Human")))
if secs > 0:
timemodel = TimeModel (secs, incr)
else: timemodel = None
gamemodel = GameModel (timemodel, variant)
callback(gamemodel, playertups[0], playertups[1])
开发者ID:jskurka,项目名称:PyChess-Learning-Module,代码行数:56,代码来源:newGameDialog.py
示例19: loadPosition
def loadPosition(window):
# log.debug("keepWindowSize.loadPosition: %s" % window.title)
# Just to make sphinx happy...
try:
width, height = window.get_size_request()
except TypeError:
pass
if conf.hasKey(key + "_width") and conf.hasKey(key + "_height"):
width = conf.get(key + "_width")
height = conf.get(key + "_height")
log.debug("Resizing window to width=%s height=%s" %
(width, height))
window.resize(width, height)
elif defaultSize:
width, height = defaultSize
log.debug("Resizing window to width=%s height=%s" %
(width, height))
window.resize(width, height)
elif key == "mainwindow":
monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds()
width = int(monitor_width / 2)
height = int(monitor_height / 4) * 3
log.debug("Resizing window to width=%s height=%s" %
(width, height))
window.resize(width, height)
elif key == "preferencesdialogwindow":
monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds()
width = int(monitor_width / 2)
height = int(monitor_height / 4) * 3
window.resize(1, 1)
else:
monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds()
width = int(monitor_width / 2)
height = int(monitor_height / 4) * 3
if conf.hasKey(key + "_x") and conf.hasKey(key + "_y"):
x = max(0, conf.get(key + "_x"))
y = max(0, conf.get(key + "_y"))
log.debug("Moving window to x=%s y=%s" % (x, y))
window.move(x, y)
elif defaultPosition in (POSITION_CENTER, POSITION_GOLDEN):
monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds()
x_loc = int(monitor_width / 2 - width / 2) + monitor_x
if defaultPosition == POSITION_CENTER:
y_loc = int(monitor_height / 2 - height / 2) + monitor_y
else:
# Place the window on the upper golden ratio line
y_loc = int(monitor_height / 2.618 - height / 2) + monitor_y
log.debug("Moving window to x=%s y=%s" % (x_loc, y_loc))
window.move(x_loc, y_loc)
开发者ID:teacoffee2017,项目名称:pychess,代码行数:55,代码来源:uistuff.py
示例20: save
def save(file, model, position=None):
status = "%s" % reprResult[model.status]
print('[Event "%s"]' % model.tags["Event"], file=file)
print('[Site "%s"]' % model.tags["Site"], file=file)
print('[Date "%04d.%02d.%02d"]' %
(int(model.tags["Year"]), int(model.tags["Month"]), int(model.tags["Day"])), file=file)
print('[Round "%s"]' % model.tags["Round"], file=file)
print('[White "%s"]' % repr(model.players[WHITE]), file=file)
print('[Black "%s"]' % repr(model.players[BLACK]), file=file)
print('[Result "%s"]' % status, file=file)
if "ECO" in model.tags:
print('[ECO "%s"]' % model.tags["ECO"], file=file)
if "WhiteElo" in model.tags:
print('[WhiteElo "%s"]' % model.tags["WhiteElo"], file=file)
if "BlackElo" in model.tags:
print('[BlackElo "%s"]' % model.tags["BlackElo"], file=file)
if "TimeControl" in model.tags:
print('[TimeControl "%s"]' % model.tags["TimeControl"], file=file)
if "Time" in model.tags:
print('[Time "%s"]' % str(model.tags["Time"]), file=file)
if model.timed:
print('[WhiteClock "%s"]' %
msToClockTimeTag(int(model.timemodel.getPlayerTime(WHITE) * 1000)), file=file)
print('[BlackClock "%s"]' %
msToClockTimeTag(int(model.timemodel.getPlayerTime(BLACK) * 1000)), file=file)
if model.variant.variant != NORMALCHESS:
print('[Variant "%s"]' % model.variant.cecp_name.capitalize(),
file=file)
if model.boards[0].asFen() != FEN_START:
print('[SetUp "1"]', file=file)
print('[FEN "%s"]' % model.boards[0].asFen(), file=file)
print('[PlyCount "%s"]' % (model.ply - model.lowply), file=file)
if "EventDate" in model.tags:
print('[EventDate "%s"]' % model.tags["EventDate"], file=file)
if "Annotator"
|
请发表评论