Mercurial > public > mercurial-scm > hg-stable
diff mercurial/server.py @ 43077:687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Done with
python3.7 contrib/byteify-strings.py -i $(hg files 'set:mercurial/**.py - mercurial/thirdparty/** + hgext/**.py - hgext/fsmonitor/pywatchman/** - mercurial/__init__.py')
black -l 80 -t py33 -S $(hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**')
# skip-blame mass-reformatting only
Differential Revision: https://phab.mercurial-scm.org/D6972
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:48:39 -0400 |
parents | 2372284d9457 |
children | eef9a2d67051 |
line wrap: on
line diff
--- a/mercurial/server.py Sun Oct 06 09:45:02 2019 -0400 +++ b/mercurial/server.py Sun Oct 06 09:48:39 2019 -0400 @@ -37,15 +37,15 @@ postexecargs = {} - if opts['daemon_postexec']: - for inst in opts['daemon_postexec']: - if inst.startswith('unlink:'): - postexecargs['unlink'] = inst[7:] - elif inst.startswith('chdir:'): - postexecargs['chdir'] = inst[6:] - elif inst != 'none': + if opts[b'daemon_postexec']: + for inst in opts[b'daemon_postexec']: + if inst.startswith(b'unlink:'): + postexecargs[b'unlink'] = inst[7:] + elif inst.startswith(b'chdir:'): + postexecargs[b'chdir'] = inst[6:] + elif inst != b'none': raise error.Abort( - _('invalid value for --daemon-postexec: %s') % inst + _(b'invalid value for --daemon-postexec: %s') % inst ) # When daemonized on Windows, redirect stdout/stderr to the lockfile (which @@ -53,13 +53,15 @@ # read and print the error if this child dies early. See 594dd384803c. On # other platforms, the child can write to the parent's stdio directly, until # it is redirected prior to runfn(). - if pycompat.iswindows and opts['daemon_postexec']: - if 'unlink' in postexecargs and os.path.exists(postexecargs['unlink']): + if pycompat.iswindows and opts[b'daemon_postexec']: + if b'unlink' in postexecargs and os.path.exists( + postexecargs[b'unlink'] + ): procutil.stdout.flush() procutil.stderr.flush() fd = os.open( - postexecargs['unlink'], os.O_WRONLY | os.O_APPEND | os.O_BINARY + postexecargs[b'unlink'], os.O_WRONLY | os.O_APPEND | os.O_BINARY ) try: os.dup2(fd, procutil.stdout.fileno()) @@ -68,30 +70,30 @@ os.close(fd) def writepid(pid): - if opts['pid_file']: + if opts[b'pid_file']: if appendpid: - mode = 'ab' + mode = b'ab' else: - mode = 'wb' - fp = open(opts['pid_file'], mode) - fp.write('%d\n' % pid) + mode = b'wb' + fp = open(opts[b'pid_file'], mode) + fp.write(b'%d\n' % pid) fp.close() - if opts['daemon'] and not opts['daemon_postexec']: + if opts[b'daemon'] and not opts[b'daemon_postexec']: # Signal child process startup with file removal - lockfd, lockpath = pycompat.mkstemp(prefix='hg-service-') + lockfd, lockpath = pycompat.mkstemp(prefix=b'hg-service-') os.close(lockfd) try: if not runargs: runargs = procutil.hgcmd() + pycompat.sysargv[1:] - runargs.append('--daemon-postexec=unlink:%s' % lockpath) + runargs.append(b'--daemon-postexec=unlink:%s' % lockpath) # Don't pass --cwd to the child process, because we've already # changed directory. for i in pycompat.xrange(1, len(runargs)): - if runargs[i].startswith('--cwd='): + if runargs[i].startswith(b'--cwd='): del runargs[i] break - elif runargs[i].startswith('--cwd'): + elif runargs[i].startswith(b'--cwd'): del runargs[i : i + 2] break @@ -103,10 +105,10 @@ # If the daemonized process managed to write out an error msg, # report it. if pycompat.iswindows and os.path.exists(lockpath): - with open(lockpath, 'rb') as log: + with open(lockpath, b'rb') as log: for line in log: procutil.stderr.write(line) - raise error.Abort(_('child process failed to start')) + raise error.Abort(_(b'child process failed to start')) writepid(pid) finally: util.tryunlink(lockpath) @@ -118,17 +120,17 @@ if initfn: initfn() - if not opts['daemon']: + if not opts[b'daemon']: writepid(procutil.getpid()) - if opts['daemon_postexec']: + if opts[b'daemon_postexec']: try: os.setsid() except AttributeError: pass - if 'chdir' in postexecargs: - os.chdir(postexecargs['chdir']) + if b'chdir' in postexecargs: + os.chdir(postexecargs[b'chdir']) procutil.hidewindow() procutil.stdout.flush() procutil.stderr.flush() @@ -154,34 +156,34 @@ # Only unlink after redirecting stdout/stderr, so Windows doesn't # complain about a sharing violation. - if 'unlink' in postexecargs: - os.unlink(postexecargs['unlink']) + if b'unlink' in postexecargs: + os.unlink(postexecargs[b'unlink']) if runfn: return runfn() _cmdservicemap = { - 'chgunix': chgserver.chgunixservice, - 'pipe': commandserver.pipeservice, - 'unix': commandserver.unixforkingservice, + b'chgunix': chgserver.chgunixservice, + b'pipe': commandserver.pipeservice, + b'unix': commandserver.unixforkingservice, } def _createcmdservice(ui, repo, opts): - mode = opts['cmdserver'] + mode = opts[b'cmdserver'] try: servicefn = _cmdservicemap[mode] except KeyError: - raise error.Abort(_('unknown mode %s') % mode) + raise error.Abort(_(b'unknown mode %s') % mode) commandserver.setuplogging(ui, repo) return servicefn(ui, repo, opts) def _createhgwebservice(ui, repo, opts): # this way we can check if something was given in the command-line - if opts.get('port'): - opts['port'] = util.getport(opts.get('port')) + if opts.get(b'port'): + opts[b'port'] = util.getport(opts.get(b'port')) alluis = {ui} if repo: @@ -189,44 +191,44 @@ alluis.update([repo.baseui, repo.ui]) else: baseui = ui - webconf = opts.get('web_conf') or opts.get('webdir_conf') + webconf = opts.get(b'web_conf') or opts.get(b'webdir_conf') if webconf: - if opts.get('subrepos'): - raise error.Abort(_('--web-conf cannot be used with --subrepos')) + if opts.get(b'subrepos'): + raise error.Abort(_(b'--web-conf cannot be used with --subrepos')) # load server settings (e.g. web.port) to "copied" ui, which allows # hgwebdir to reload webconf cleanly servui = ui.copy() - servui.readconfig(webconf, sections=['web']) + servui.readconfig(webconf, sections=[b'web']) alluis.add(servui) - elif opts.get('subrepos'): + elif opts.get(b'subrepos'): servui = ui # If repo is None, hgweb.createapp() already raises a proper abort # message as long as webconf is None. if repo: webconf = dict() - cmdutil.addwebdirpath(repo, "", webconf) + cmdutil.addwebdirpath(repo, b"", webconf) else: servui = ui optlist = ( - "name templates style address port prefix ipv6" - " accesslog errorlog certificate encoding" + b"name templates style address port prefix ipv6" + b" accesslog errorlog certificate encoding" ) for o in optlist.split(): - val = opts.get(o, '') - if val in (None, ''): # should check against default options instead + val = opts.get(o, b'') + if val in (None, b''): # should check against default options instead continue for u in alluis: - u.setconfig("web", o, val, 'serve') + u.setconfig(b"web", o, val, b'serve') app = hgweb.createapp(baseui, repo, webconf) return hgweb.httpservice(servui, app, opts) def createservice(ui, repo, opts): - if opts["cmdserver"]: + if opts[b"cmdserver"]: return _createcmdservice(ui, repo, opts) else: return _createhgwebservice(ui, repo, opts)