Bonjour.
Je voudrais ajouter une nouvelle fonctionnalité à un Script dont le Code initial des commandes (-t, -d, -o, -s, -p, -c, -k, --version) est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    # Script argument parsing
    parser = argparse.ArgumentParser(description='A script ....')
    parser.add_argument('-t', action='store', dest='type',
                        help='lookup type ({}|{}|{})'
                        .format(Abe.STRING_TYPE, Insight.STRING_TYPE, BlockExplorerCom.STRING_TYPE), required=True)
    parser.add_argument('-d', action='store', dest='dict_file',
                        help='Dictionary file (e.g. dictionary.txt)', required=True)
    parser.add_argument('-o', action='store', dest='output_file',
                        help='Output file (e.g. output.txt)', required=True)
    parser.add_argument('-s', action='store', dest='server',
                        help='Abe server address (e.g. localhost)')
    parser.add_argument('-p', action='store', dest='port',
                        help='Abe port (e.g. 2751)')
    parser.add_argument('-c', action='store', dest='chain',
                        help='Abe chain string (e.g. Bitcoin)')
    parser.add_argument('-k', action='store_true', dest='is_private_key', default=False,
                        help='treat each word as a hex or wif encoded private key, not as brain wallet')
	parser.add_argument('--version', action='version', version='%(prog)s 1.1')
    args = parser.parse_args()

Alors, moi j'ai décidé d'ajouter une nouvelle commande -a de sorte à ce qu'elle soit l'inverse de la commande -k soit "is_public_key"

Mais quand j'exécute le script avec la commande -h qui permet d'avoir les informations sur toutes les autres commandes y comprise
la nouvelle commande -a après avoir ajouter le Code du nouvel argument -a :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
	parser.add_argument('-a', action='store_true', dest='is_public_key', default=False,
                        help='Found Private Key throught a Public Address')
,je reçois l'erreur (IndentationError) suivante:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Microsoft Windows [version 10.0.14393]
(c) 2016 Microsoft Corporation. Tous droits réservés.
 
C:\Users\hp15>"C:\Users\hp15\Desktop\CHEGBK\script.py" -h
  File "C:\Users\hp15\Desktop\CHEGBK\script.py", line 28
    parser.add_argument('-a', action='store_true', dest='is_public_key', default=False,
    ^
IndentationError: unexpected indent
 
C:\Users\hp15>
1- Comment donc remédier à cette erreur ???

2- Comment dans en second lieu, établir une condition au Code ci-après pour qu'il prenne en compte la dest='is_public_key' de la nouvelle fonctionnalité -a ???

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 # Create wallet
        try:
            wallet = Wallet(dictionary_word, args.is_private_key)
        except Exception as e:
            continue
Dois-je faire:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 # Create wallet
        try:
	     if wallet = Wallet(dictionary_word, args.is_private_key) && wallet = Wallet(dictionary_word, args.is_public_key)
        except Exception as e:
            continue

????

Merci d'avance de m'éclaircir svp.