##// END OF EJS Templates
hgweb: removed unnecessary del before function return...
hgweb: removed unnecessary del before function return Deleting tmpl just before the return statement should have no effect since tmpl goes out of scope anyway. But it confuses pyflakes who thinks tmpl is undefined when it is used in the except blocks below.

File last commit:

r6753:ed5ffb2c default
r6914:95f35b55 default
Show More
client.py
55 lines | 1.5 KiB | text/x-python | PythonLexer
# client.py - inotify status client
#
# Copyright 2006, 2007, 2008 Bryan O'Sullivan <bos@serpentine.com>
# Copyright 2007, 2008 Brendan Cully <brendan@kublai.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
from mercurial.i18n import gettext as _
from mercurial import ui
import common
import os, select, socket, stat, struct, sys
def query(ui, repo, names, match, ignored, clean, unknown=True):
sock = socket.socket(socket.AF_UNIX)
sockpath = repo.join('inotify.sock')
sock.connect(sockpath)
def genquery():
for n in names or []:
yield n
states = 'almrx!'
if ignored:
raise ValueError('this is insanity')
if clean: states += 'n'
if unknown: states += '?'
yield states
req = '\0'.join(genquery())
sock.sendall(chr(common.version))
sock.sendall(req)
sock.shutdown(socket.SHUT_WR)
cs = common.recvcs(sock)
version = ord(cs.read(1))
if version != common.version:
ui.warn(_('(inotify: received response from incompatible server '
'version %d)\n') % version)
return None
try:
resphdr = struct.unpack(common.resphdrfmt, cs.read(common.resphdrsize))
except struct.error:
return None
def readnames(nbytes):
if nbytes:
names = cs.read(nbytes)
if names:
return filter(match, names.split('\0'))
return []
return map(readnames, resphdr)