Add ListGroups command

Option: -d/--detailed to display group members
This commit is contained in:
Pim Otte 2017-02-20 14:28:41 +01:00 committed by AsamK
parent 453f31891c
commit b0d7daeca2
2 changed files with 36 additions and 0 deletions

View file

@ -491,6 +491,22 @@ public class Main {
return 3;
}
break;
case "listGroups":
if (dBusConn != null) {
System.err.println("listGroups is not yet implemented via dbus");
return 1;
}
if (!m.isRegistered()) {
System.err.println("User is not registered.");
return 1;
}
List<GroupInfo> groups = m.getGroups();
for (GroupInfo group : groups) {
printGroup(group, ns.getBoolean("detailed"));
}
break;
case "listIdentities":
if (dBusConn != null) {
@ -622,6 +638,17 @@ public class Main {
System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername,
theirId.trustLevel, theirId.added, Hex.toStringCondensed(theirId.getFingerprint()), digits));
}
private static void printGroup(GroupInfo group, boolean detailed) {
System.out.println(String.format("Group id: %s\n Group name: %s \n active: %s",
Base64.encodeBytes(group.groupId), group.name, group.active));
if (detailed) {
System.out.println(" Members:");
for (String member : group.members) {
System.out.println(" " + member);
}
}
}
private static String formatSafetyNumber(String digits) {
final int partCount = 12;
@ -751,6 +778,11 @@ public class Main {
parserUpdateGroup.addArgument("-m", "--member")
.nargs("*")
.help("Specify one or more members to add to the group");
Subparser parserListGroups = subparsers.addParser("listGroups");
parserListGroups.addArgument("-d", "--detailed").action(Arguments.storeTrue())
.help("List members of each group");
parserListGroups.help("List group name and ids");
Subparser parserListIdentities = subparsers.addParser("listIdentities");
parserListIdentities.addArgument("-n", "--number")

View file

@ -580,6 +580,10 @@ class Manager implements Signal {
}
throw new NotAGroupMemberException(groupId, g.name);
}
public List<GroupInfo> getGroups() {
return groupStore.getGroups();
}
@Override
public void sendGroupMessage(String messageText, List<String> attachments,