##// END OF EJS Templates
unmarshal p4 -G output to list
unmarshal p4 -G output to list

File last commit:

r526:ea5dc429
r526:ea5dc429
Show More
ipy_p4.py
42 lines | 1.2 KiB | text/x-python | PythonLexer
vivainio
New extensions ipy_p4 for %p4 magic (perforce)
r524 # -*- coding: utf-8 -*-
"""
Add %p4 magic for pythonic p4 (Perforce) usage.
"""
import IPython.ipapi
ip = IPython.ipapi.get()
import os,sys,marshal
import ipy_stock_completers
def p4_f(self, parameter_s=''):
cmd = 'p4 -G ' + parameter_s
vivainio
unmarshal p4 -G output to list
r526 fobj = os.popen(cmd)
out = []
while 1:
try:
out.append(marshal.load(fobj))
except EOFError:
break
return out
vivainio
New extensions ipy_p4 for %p4 magic (perforce)
r524
ip.expose_magic('p4', p4_f)
p4_commands = """\
add admin annotate branch branches change changes changelist
changelists client clients counter counters delete depot depots
describe diff diff2 dirs edit filelog files fix fixes flush fstat
group groups have help info integrate integrated job jobs jobspec
label labels labelsync lock logger login logout monitor obliterate
opened passwd print protect rename reopen resolve resolved revert
review reviews set submit sync tag tickets triggers typemap unlock
user users verify workspace workspaces where"""
def p4_completer(self,event):
return ipy_stock_completers.vcs_completer(p4_commands, event)
ip.set_hook('complete_command', p4_completer, str_key = '%p4')
vivainio
unmarshal p4 -G output to list
r526 ip.set_hook('complete_command', p4_completer, str_key = 'p4')
vivainio
New extensions ipy_p4 for %p4 magic (perforce)
r524