def getpager(self): """Read cmdargs and write pager command to r-channel if enabled If pager isn't enabled, this writes '\0' because channeledoutput does not allow to write empty data. """ args = self._readlist() try: cmd, _func, args, options, _cmdoptions = dispatch._parse(self.ui, args) except (error.Abort, error.AmbiguousCommand, error.CommandError, error.UnknownCommand): cmd = None options = {} if not cmd or 'pager' not in options: self.cresult.write('\0') return pagercmd = _setuppagercmd(self.ui, options, cmd) if pagercmd: # Python's SIGPIPE is SIG_IGN by default. change to SIG_DFL so # we can exit if the pipe to the pager is closed if util.safehasattr(signal, 'SIGPIPE') and \ signal.getsignal(signal.SIGPIPE) == signal.SIG_IGN: signal.signal(signal.SIGPIPE, signal.SIG_DFL) self.cresult.write(pagercmd) else: self.cresult.write('\0')
def getpager(self): """Read cmdargs and write pager command to r-channel if enabled If pager isn't enabled, this writes '\0' because channeledoutput does not allow to write empty data. """ length = struct.unpack('>I', self._read(4))[0] if not length: args = [] else: args = self._read(length).split('\0') try: cmd, _func, args, options, _cmdoptions = dispatch._parse( self.ui, args) except (error.Abort, error.AmbiguousCommand, error.CommandError, error.UnknownCommand): cmd = None options = {} if not cmd or 'pager' not in options: self.cresult.write('\0') return pagercmd = _setuppagercmd(self.ui, options, cmd) if pagercmd: self.cresult.write(pagercmd) else: self.cresult.write('\0')
def getpager(self): """Read cmdargs and write pager command to r-channel if enabled If pager isn't enabled, this writes '\0' because channeledoutput does not allow to write empty data. """ args = self._readlist() try: cmd, _func, args, options, _cmdoptions = dispatch._parse( self.ui, args) except (error.Abort, error.AmbiguousCommand, error.CommandError, error.UnknownCommand): cmd = None options = {} if not cmd or 'pager' not in options: self.cresult.write('\0') return pagercmd = _setuppagercmd(self.ui, options, cmd) if pagercmd: # Python's SIGPIPE is SIG_IGN by default. change to SIG_DFL so # we can exit if the pipe to the pager is closed if util.safehasattr(signal, 'SIGPIPE') and \ signal.getsignal(signal.SIGPIPE) == signal.SIG_IGN: signal.signal(signal.SIGPIPE, signal.SIG_DFL) self.cresult.write(pagercmd) else: self.cresult.write('\0')
def get_dest(ui): from mercurial.dispatch import _parse try: cmd_info = _parse(ui, sys.argv[1:]) cmd = cmd_info[0] dest = cmd_info[2] if dest: dest = dest[0] elif cmd in ['outgoing', 'push']: dest = 'default-push' else: dest = 'default' except: dest = 'default' return ui.expandpath(dest)
def getpager(self): """Read cmdargs and write pager command to r-channel if enabled If pager isn't enabled, this writes '\0' because channeledoutput does not allow to write empty data. """ args = self._readlist() try: cmd, _func, args, options, _cmdoptions = dispatch._parse(self.ui, args) except (error.Abort, error.AmbiguousCommand, error.CommandError, error.UnknownCommand): cmd = None options = {} if not cmd or 'pager' not in options: self.cresult.write('\0') return pagercmd = _setuppagercmd(self.ui, options, cmd) if pagercmd: self.cresult.write(pagercmd) else: self.cresult.write('\0')