diff --git a/clicada/cli/tag.py b/clicada/cli/tag.py index cbb1312..5a73096 100644 --- a/clicada/cli/tag.py +++ b/clicada/cli/tag.py @@ -3,6 +3,7 @@ import json # external imports from clicada.user import FileUserStore +from chainlib.encode import TxHexNormalizer categories = [ @@ -12,7 +13,7 @@ categories = [ def process_args(argparser): - argparser.add_argument('--category', required=True, type=str, help='Identifier category') + argparser.add_argument('--category', required=True, choices=categories, type=str, help='Identifier category') argparser.add_argument('identifier', type=str, help='Identifier to store a display tag for') argparser.add_argument('tag', type=str, help='Display tag to store for the identifier') @@ -35,7 +36,11 @@ def validate(config, args): def execute(ctrl): + identifier = ctrl.get('_IDENTIFIER') + if ctrl.get('_CATEGORY') == 'address': + normalizer = TxHexNormalizer() + identifier = normalizer.wallet_address(identifier) store_path = '.clicada' - user_store = FileUserStore(None, ctrl.chain(), ctrl.get('_CATEGORY'), store_path, int(ctrl.get('FILESTORE_TTL'))) - user_store.put(ctrl.get('_IDENTIFIER'), json.dumps(ctrl.get('_TAG')), force=True) - user_store.stick(ctrl.get('_IDENTIFIER')) + user_store = FileUserStore(None, ctrl.chain(), ctrl.get('_CATEGORY'), store_path, int(ctrl.get('FILESTORE_TTL')), encrypter=ctrl.encrypter) + user_store.put(identifier, json.dumps(ctrl.get('_TAG')), force=True) + user_store.stick(identifier)