This repository has been archived on 2020-12-03. You can view files and clone it, but cannot push or open issues or pull requests.
py-gva/pay.py

49 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
import sys, argparse, os
from os.path import join, dirname
from shutil import copyfile
from dotenv import load_dotenv
from libs.paylib import Transaction, VERSION
# Get variables environment
if not os.path.isfile('.env'):
copyfile(".env.template", ".env")
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
dunikey = os.getenv('DUNIKEY')
node = os.getenv('NODE')
if not dunikey or not node:
sys.stderr.write("Please fill the path of your private key (PubSec), and a Duniter node in .env file\n")
sys.exit(1)
# dunikey="/home/poka/dev/trousseau-Do99s6wQ-g1-PubSec.dunikey"
# node="http://localhost:30901/gva"
# Parse arguments
parser = argparse.ArgumentParser()
parser.add_argument('-d', '--destinataire', help="Destinataire du paiement")
parser.add_argument('-m', '--montant', type=int, help="Montant de la transaction")
parser.add_argument('-c', '--commentaire', default="", help="Commentaire de la transaction")
parser.add_argument('-v', '--verbose', action='store_true', help="Affiche le résultat JSON de la transaction")
parser.add_argument('--version', action='store_true', help="Affiche la version actuelle du programme")
args = parser.parse_args()
if args.version:
print(VERSION)
sys.exit(0)
if not args.destinataire or not args.montant:
print("Veuillez renseigner la clé publique du destinataire, ainsi que le montant de la transaction")
parser.print_help()
sys.exit(1)
# Create transaction and send it
trans = Transaction(dunikey, node, args.destinataire, args.montant, args.commentaire, args.verbose)
result = trans.send()
if args.verbose:
print(str(result))