- String name = ns.getString("name");
- String avatarPath = ns.getString("avatar");
- boolean removeAvatar = ns.getBoolean("remove_avatar");
+ final var avatarOptions = subparser.addMutuallyExclusiveGroup();
+ avatarOptions.addArgument("--avatar").help("Path to new profile avatar");
+ avatarOptions.addArgument("--remove-avatar").action(Arguments.storeTrue());
+ }
+
+ @Override
+ public void handleCommand(final Namespace ns, final Manager m) throws CommandException {
+ var givenName = ns.getString("given-name");
+ var familyName = ns.getString("family-name");
+ var about = ns.getString("about");
+ var aboutEmoji = ns.getString("about-emoji");
+ var avatarPath = ns.getString("avatar");
+ boolean removeAvatar = ns.getBoolean("remove-avatar");
+
+ Optional<File> avatarFile = removeAvatar
+ ? Optional.absent()
+ : avatarPath == null ? null : Optional.of(new File(avatarPath));