Browse Source

mmgen-tool twview: fix sorting, add `interactive` option

The MMGen Project 2 years ago
parent
commit
37dd08736f
3 changed files with 24 additions and 14 deletions
  1. 22 12
      mmgen/tool/rpc.py
  2. 1 1
      mmgen/tw/common.py
  3. 1 1
      mmgen/tx/new.py

+ 22 - 12
mmgen/tool/rpc.py

@@ -96,6 +96,20 @@ class tool_cmd(tool_cmd_base):
 			die(0,('No tracked addresses with balances!','No tracked addresses!')[showempty])
 		return await al.format( showbtcaddrs, sort, show_age, age_fmt or 'confs' )
 
+	async def twops(self,
+			obj,pager,reverse,wide,sort,age_fmt,show_mmid,wide_show_confs,interactive):
+		obj.reverse = reverse
+		obj.age_fmt = age_fmt
+		obj.show_mmid = show_mmid
+		await obj.get_data(sort_key=sort,reverse_sort=reverse)
+		if interactive:
+			await obj.view_and_sort()
+			return True
+		elif wide:
+			return await obj.format_for_printing( color=True, show_confs=wide_show_confs )
+		else:
+			return await obj.format_for_display()
+
 	async def twview(self,
 			pager           = False,
 			reverse         = False,
@@ -104,20 +118,16 @@ class tool_cmd(tool_cmd_base):
 			sort            = 'age',
 			age_fmt: options_annot_str(TwCommon.age_fmts) = 'confs',
 			show_mmid       = True,
-			wide_show_confs = True ):
-		"view tracking wallet"
+			wide_show_confs = True,
+			interactive     = False ):
+		"view tracking wallet unspent outputs"
 
 		from ..tw.unspent import TwUnspentOutputs
-		twuo = await TwUnspentOutputs(self.proto,minconf=minconf)
-		await twuo.get_data(reverse_sort=reverse)
-		twuo.age_fmt = age_fmt
-		twuo.show_mmid = show_mmid
-		if wide:
-			ret = twuo.format_for_printing( color=True, show_confs=wide_show_confs )
-		else:
-			ret = twuo.format_for_display()
-		del twuo.wallet
-		return await ret
+		obj = await TwUnspentOutputs(self.proto,minconf=minconf)
+		ret = await self.twops(
+			obj,pager,reverse,wide,sort,age_fmt,show_mmid,wide_show_confs,interactive)
+		del obj.wallet
+		return ret
 
 	async def add_label(self,mmgen_or_coin_addr:str,label:str):
 		"add descriptive label for address in tracking wallet"

+ 1 - 1
mmgen/tw/common.py

@@ -173,7 +173,7 @@ class TwCommon:
 
 		return self.fmt_print
 
-	async def view_and_sort(self,tx):
+	async def view_and_sort(self):
 		from ..opts import opt
 		from ..term import get_char
 		self.prompt = type(self).prompt.strip() + '\b'

+ 1 - 1
mmgen/tx/new.py

@@ -334,7 +334,7 @@ class New(Base):
 		do_license_msg()
 
 		if not opt.inputs:
-			await self.twuo.view_and_sort(self)
+			await self.twuo.view_and_sort()
 
 		self.twuo.display_total()