def cmd_gettree(con):
buf=''
- for pkg in pkglist:
+ for pkgname in pkglist:
# TODO: show only user's own pkgs
# TODO: show if already marked
- buf=buf+'\n'+pkg
+ pkg=srctree[pkgname]
+ line=pkgname
+ if pkg.marked4moving:
+ line=line+'\n1'
+ else:
+ line=line+'\n0'
+ if pkg.marked4removal:
+ line=line+'\n1'
+ else:
+ line=line+'\n0'
+ buf=buf+'\0'+line
if buf:
con.sock.send('%.6d' % (len(buf)-1))
con.sock.send(buf[1:])
pkgs=[]
len=int(sock.recv(6))
if len:
- for pkg in sock.recv(len).split('\n'):
- pkgs.append(pkg)
+ for pkg in sock.recv(len).split('\0'):
+ tmp=pkg.split('\n')
+ pkgs.append((tmp[0], int(tmp[1]), int(tmp[2])))
return pkgs
def handlecmds(options):
+ def chkbox(pkgname, value):
+ retval='<input type="checkbox" name="%s"' % pkgname
+ if value:
+ retval=retval+' checked="yes"'
+ retval=retval+'>'
+ return retval
+
if 'action' in options and options['action'] in actions:
pass
else:
wwwiface.addcontent('<form action="index.py" method="post"><table border="1">')
- wwwiface.addcontent('<tr><td>Mv</td><td>Package</td></tr>\n')
+ wwwiface.addcontent('<tr><td>Mv</td><td>Rm</td><td>Package</td></tr>')
for pkg in ftpio.gettree():
- wwwiface.addcontent('<tr><td><input type="checkbox"></td><td>'+pkg+'</td></tr>\n')
- wwwiface.addcontent('<tr><td> </td><td><input type="submit" value="Move"></td></tr>')
+ wwwiface.addcontent('<tr><td>%s</td><td>%s</td><td>%s</td></tr>' % (chkbox(pkg[0], pkg[1]), chkbox(pkg[0], pkg[2]), pkg[0]))
+ wwwiface.addcontent('<tr><td> </td><td> </td><td><input type="submit" value="Commit"></td></tr>')
wwwiface.addcontent('</table></form>')