Print tabulate instead of pure objects.

This commit is contained in:
Yuxin Wang 2018-09-26 17:52:02 -04:00
parent 195e01f139
commit 84c66d3067
2 changed files with 13 additions and 4 deletions

View file

@ -1,4 +1,5 @@
import cmd, sys
import cmd
from tabulate import tabulate
from p2pfs.core.tracker import Tracker
from p2pfs.core.peer import Peer
@ -13,10 +14,18 @@ class TrackerTerminal(cmd.Cmd):
self._tracker = tracker
def do_list_files(self, arg):
print(self._tracker.file_list())
file_list_dict = self._tracker.file_list()
file_list = []
headers = ['Filename']
for filename, fileinfo in file_list_dict.items():
if len(headers) == 1:
headers.extend(tuple(map(lambda x: x.capitalize(), tuple(fileinfo.keys()))))
file_list.append((filename, ) + tuple(fileinfo.values()))
print(tabulate(file_list, headers=headers))
def do_list_peers(self, arg):
print(self._tracker.peers())
print(tabulate(self._tracker.peers(), headers=['UUID', 'IP/Port']))
def do_list_chunkinfo(self, arg):
print(self._tracker.chunkinfo())

View file

@ -27,7 +27,7 @@ setup(
],
keywords='P2P, Networking',
packages=find_packages(exclude=['tests']),
install_requires=['pybase64', 'coloredlogs'],
install_requires=['pybase64', 'coloredlogs', 'tabulate'],
entry_points={
'console_scripts': [
'p2pfs=p2pfs.__main__:main',