Skip to content
Snippets Groups Projects

[feat] durs-blockchain : add blocks sub command

Closed jm requested to merge rml13 into dev
2 unresolved threads
Files
5
@@ -19,7 +19,7 @@ use crate::commands::DursExecutableCoreCommand;
use crate::dbex;
use crate::errors::DursCoreError;
use crate::DursCore;
use durs_blockchain::{DBExQuery, DBExTxQuery, DBExWotQuery};
use durs_blockchain::dbex::{DbExBcQuery, DbExQuery, DbExTxQuery, DbExWotQuery};
use durs_conf::DuRsConf;
#[derive(StructOpt, Debug, Clone)]
@@ -40,30 +40,36 @@ pub struct DbExOpt {
#[derive(StructOpt, Debug, Clone)]
/// dbex subcommands
pub enum DbExSubCommand {
/// Web of Trust distances explorer
#[structopt(
name = "distance",
raw(setting = "structopt::clap::AppSettings::ColoredHelp")
)]
/// Web of Trust distances explorer
DistanceOpt(DistanceOpt),
/// Members explorer
#[structopt(
name = "members",
raw(setting = "structopt::clap::AppSettings::ColoredHelp")
)]
/// Members explorer
MembersOpt(MembersOpt),
/// Member explorer
#[structopt(
name = "member",
raw(setting = "structopt::clap::AppSettings::ColoredHelp")
)]
/// Member explorer
MemberOpt(MemberOpt),
/// Pubkeys’ balances explorer
#[structopt(
name = "balance",
raw(setting = "structopt::clap::AppSettings::ColoredHelp")
)]
/// Pubkeys’ balances explorer
BalanceOpt(BalanceOpt),
/// BlocksOpt
#[structopt(
name = "blocks",
raw(setting = "structopt::clap::AppSettings::ColoredHelp")
)]
BlocksOpt(BlocksOpt),
}
#[derive(StructOpt, Debug, Copy, Clone)]
@@ -99,6 +105,10 @@ pub struct BalanceOpt {
pub address: String,
}
#[derive(StructOpt, Debug, Copy, Clone)]
/// BlocksOpt
pub struct BlocksOpt {}
impl DursExecutableCoreCommand for DbExOpt {
fn execute(self, durs_core: DursCore<DuRsConf>) -> Result<(), DursCoreError> {
let profile_path = durs_core.soft_meta_datas.profile_path;
@@ -108,13 +118,13 @@ impl DursExecutableCoreCommand for DbExOpt {
profile_path,
&durs_core.soft_meta_datas.conf,
self.csv,
&DBExQuery::WotQuery(DBExWotQuery::AllDistances(distance_opts.reverse)),
&DbExQuery::WotQuery(DbExWotQuery::AllDistances(distance_opts.reverse)),
),
DbExSubCommand::MemberOpt(member_opts) => dbex(
profile_path,
&durs_core.soft_meta_datas.conf,
self.csv,
&DBExQuery::WotQuery(DBExWotQuery::MemberDatas(member_opts.uid)),
&DbExQuery::WotQuery(DbExWotQuery::MemberDatas(member_opts.uid)),
),
DbExSubCommand::MembersOpt(members_opts) => {
if members_opts.expire {
@@ -122,14 +132,14 @@ impl DursExecutableCoreCommand for DbExOpt {
profile_path,
&durs_core.soft_meta_datas.conf,
self.csv,
&DBExQuery::WotQuery(DBExWotQuery::ExpireMembers(members_opts.reverse)),
&DbExQuery::WotQuery(DbExWotQuery::ExpireMembers(members_opts.reverse)),
);
} else {
dbex(
profile_path,
&durs_core.soft_meta_datas.conf,
self.csv,
&DBExQuery::WotQuery(DBExWotQuery::ListMembers(members_opts.reverse)),
&DbExQuery::WotQuery(DbExWotQuery::ListMembers(members_opts.reverse)),
);
}
}
@@ -137,7 +147,13 @@ impl DursExecutableCoreCommand for DbExOpt {
profile_path,
&durs_core.soft_meta_datas.conf,
self.csv,
&DBExQuery::TxQuery(DBExTxQuery::Balance(balance_opts.address)),
&DbExQuery::TxQuery(DbExTxQuery::Balance(balance_opts.address)),
),
DbExSubCommand::BlocksOpt(_blocks_opts) => dbex(
profile_path,
&durs_core.soft_meta_datas.conf,
self.csv,
&DbExQuery::BcQuery(DbExBcQuery::CountBlocksPerIssuer),
),
}
Loading