Ajout des locales fr et en
This commit is contained in:
parent
6c4369c045
commit
cc326b6713
31
README.md
31
README.md
|
@ -1,3 +1,30 @@
|
||||||
# Weight-cli
|
usage: weight-cli.py [-h] [-da DATA] [-w WEIGHT] [-t TYPE] [-d DATE] [-i ID]
|
||||||
|
[-m METRIC] [-c COMMENT] [-o OTHER] [-r] [-rem REMOVE]
|
||||||
|
[-g] [-tst] [-ur] [-v]
|
||||||
|
|
||||||
A command line tool to manage your weight.
|
Un script en ligne de commande pour gérer votre poids.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
-da DATA, --data DATA
|
||||||
|
fichier de données : optionnel
|
||||||
|
-w WEIGHT, --weight WEIGHT
|
||||||
|
poids : optionnel
|
||||||
|
-t TYPE, --type TYPE type : optionnel
|
||||||
|
-d DATE, --date DATE date : optionnelle
|
||||||
|
-i ID, --id ID identifiant : optionnel
|
||||||
|
-m METRIC, --metric METRIC
|
||||||
|
métrique : optionnelle
|
||||||
|
-c COMMENT, --comment COMMENT
|
||||||
|
commentaire : optionnel
|
||||||
|
-o OTHER, --other OTHER
|
||||||
|
autre : optionnel
|
||||||
|
-r, --read optional read measures
|
||||||
|
-rem REMOVE, --remove REMOVE
|
||||||
|
suppression d'une mesure par son numéro dans la liste
|
||||||
|
: optionnel
|
||||||
|
-g, --graph trace le graphe : optionnel
|
||||||
|
-tst, --tests optional tests operations
|
||||||
|
-ur, --undoremove annule la suppression de la dernière ligne effacée :
|
||||||
|
optionnel
|
||||||
|
-v, --version show program's version number and exit
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2020-04-21 14:19+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: weight-cli.py:139
|
||||||
|
msgid "A script to manage your weight in command line."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: weight-cli.py:144
|
||||||
|
msgid "optional file data"
|
||||||
|
msgstr ""
|
Binary file not shown.
|
@ -0,0 +1,26 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2020-04-21 14:19+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Guyot Vincent <vincent@cvgg.org>\n"
|
||||||
|
"Language-Team: English <vincent@cvgg.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: weight-cli.py:139
|
||||||
|
msgid "A script to manage your weight in command line."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: weight-cli.py:144
|
||||||
|
msgid "optional : file data"
|
||||||
|
msgstr ""
|
Binary file not shown.
|
@ -0,0 +1,54 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2020-04-21 14:19+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Guyot Vincent <vincent@cvgg.org>\n"
|
||||||
|
"Language-Team: French <vincent@cvgg.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
msgid "A script to manage your weight in command line."
|
||||||
|
msgstr "Un script en ligne de commande pour gérer votre poids."
|
||||||
|
|
||||||
|
msgid "optional : file data"
|
||||||
|
msgstr "fichier de données : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : weight"
|
||||||
|
msgstr "poids : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : type"
|
||||||
|
msgstr "type : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : date"
|
||||||
|
msgstr "date : optionnelle"
|
||||||
|
|
||||||
|
msgid "optional : id"
|
||||||
|
msgstr "identifiant : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : metric"
|
||||||
|
msgstr "métrique : optionnelle"
|
||||||
|
|
||||||
|
msgid "optional : comment"
|
||||||
|
msgstr "commentaire : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : other"
|
||||||
|
msgstr "autre : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : delete a measure by its number in the list"
|
||||||
|
msgstr "suppression d'une mesure par son numéro dans la liste : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : plot graph"
|
||||||
|
msgstr "trace le graphe : optionnel"
|
||||||
|
|
||||||
|
msgid "optional : undo remove the last line removed"
|
||||||
|
msgstr "annule la suppression de la dernière ligne effacée : optionnel"
|
|
@ -16,6 +16,7 @@ from dateutil.rrule import rrulestr
|
||||||
#import uuid
|
#import uuid
|
||||||
#import json
|
#import json
|
||||||
import os
|
import os
|
||||||
|
#os.environ['LANGUAGE']='fr'
|
||||||
#import logging
|
#import logging
|
||||||
import sys
|
import sys
|
||||||
#import re
|
#import re
|
||||||
|
@ -26,6 +27,17 @@ import sys
|
||||||
import subprocess
|
import subprocess
|
||||||
from subprocess import Popen, PIPE
|
from subprocess import Popen, PIPE
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
import gettext
|
||||||
|
#gettext.bindtextdomain('base', 'locale/en/LC_MESSAGES/base.mo')
|
||||||
|
#gettext.textdomain('base')
|
||||||
|
# Voir : https://docs.python.org/fr/3/library/gettext.html
|
||||||
|
#en = gettext.translation('base', localedir='locale/', languages=['en'])
|
||||||
|
#en.install()
|
||||||
|
#_ = en.gettext # english
|
||||||
|
fr = gettext.translation('base', localedir='locale/', languages=['fr'])
|
||||||
|
fr.install()
|
||||||
|
_ = fr.gettext # english
|
||||||
|
# Voir : https://medium.com/i18n-and-l10n-resources-for-developers/how-to-translate-python-applications-with-the-gnu-gettext-module-5c1c085041
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Une mesure est caractérisée par :
|
Une mesure est caractérisée par :
|
||||||
|
@ -39,7 +51,7 @@ Une mesure est caractérisée par :
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def save_mesure():
|
def save_mesure():
|
||||||
''' Affichage et enregistrement d'une mesure '''
|
""" Affichage et enregistrement d'une mesure """
|
||||||
print("Votre mesure a été enregistrée : ")
|
print("Votre mesure a été enregistrée : ")
|
||||||
with indent(4, quote=colored.blue('')):
|
with indent(4, quote=colored.blue('')):
|
||||||
puts(colored.green("-votre poids : {weight} kg").format(weight=args.weight))
|
puts(colored.green("-votre poids : {weight} kg").format(weight=args.weight))
|
||||||
|
@ -59,7 +71,7 @@ def save_mesure():
|
||||||
str(args.other)])
|
str(args.other)])
|
||||||
|
|
||||||
def read_measures():
|
def read_measures():
|
||||||
''' Affichage de l'ensemble des mesures '''
|
""" Affichage de l'ensemble des mesures """
|
||||||
data_file = open(str(args.data), 'r')
|
data_file = open(str(args.data), 'r')
|
||||||
data = csv.reader(data_file, delimiter='|')
|
data = csv.reader(data_file, delimiter='|')
|
||||||
linenum = 0
|
linenum = 0
|
||||||
|
@ -77,7 +89,7 @@ def read_measures():
|
||||||
data_file.close()
|
data_file.close()
|
||||||
|
|
||||||
def remove_measure():
|
def remove_measure():
|
||||||
''' Remove a measure '''
|
""" Remove a measure """
|
||||||
f = open(args.data, "r")
|
f = open(args.data, "r")
|
||||||
contents = f.readlines()
|
contents = f.readlines()
|
||||||
f.close()
|
f.close()
|
||||||
|
@ -94,7 +106,7 @@ def remove_measure():
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
def undo_remove():
|
def undo_remove():
|
||||||
''' Undo remove the last line removed '''
|
""" Undo remove the last line removed """
|
||||||
f = open(args.data, "r")
|
f = open(args.data, "r")
|
||||||
contents = f.readlines()
|
contents = f.readlines()
|
||||||
f.close()
|
f.close()
|
||||||
|
@ -110,7 +122,7 @@ def undo_remove():
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
def trace_graph():
|
def trace_graph():
|
||||||
''' Trace le graphe de l'évolution du poids avec Gnuplot '''
|
""" Trace le graphe de l'évolution du poids avec Gnuplot """
|
||||||
#process = Popen(['gnuplot', 'Fonctionnel.txt'], stdout=PIPE, stderr=PIPE)
|
#process = Popen(['gnuplot', 'Fonctionnel.txt'], stdout=PIPE, stderr=PIPE)
|
||||||
process = Popen(['gnuplot', 'Fonctionnel.txt'])#, stdout=PIPE, stderr=PIPE)
|
process = Popen(['gnuplot', 'Fonctionnel.txt'])#, stdout=PIPE, stderr=PIPE)
|
||||||
stdout, stderr = process.communicate()
|
stdout, stderr = process.communicate()
|
||||||
|
@ -118,53 +130,55 @@ def trace_graph():
|
||||||
|
|
||||||
|
|
||||||
def tests_subproc():
|
def tests_subproc():
|
||||||
''' Test du module subprocess '''
|
""" Test du module subprocess """
|
||||||
process = Popen(['cat', 'data2.csv'], stdout=PIPE, stderr=PIPE)
|
process = Popen(['cat', 'data2.csv'], stdout=PIPE, stderr=PIPE)
|
||||||
stdout, stderr = process.communicate()
|
stdout, stderr = process.communicate()
|
||||||
print(stdout)
|
print(stdout)
|
||||||
|
|
||||||
### Main ###
|
### Main ###
|
||||||
''' Programme de relevé de poids
|
""" Programme de relevé de poids
|
||||||
Attention, le fichier data.csv à une ligne d'entête à laquelle
|
Attention, le fichier data.csv à une ligne d'entête à laquelle
|
||||||
il manque un séparateur | final pour que le nombre de champs soit
|
il manque un séparateur | final pour que le nombre de champs soit
|
||||||
correct.
|
correct.
|
||||||
'''
|
"""
|
||||||
|
|
||||||
# Création du parseur pour les arguments
|
# Création du parseur pour les arguments
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
texte = _('A script to manage your weight in command line.')
|
||||||
|
parser.description=texte
|
||||||
# Création des arguments
|
# Création des arguments
|
||||||
parser.add_argument('-da', '--data',
|
parser.add_argument('-da', '--data',
|
||||||
default='data2.csv',
|
default='data2.csv',
|
||||||
help='optional file data'
|
help=_('optional : file data')
|
||||||
)
|
)
|
||||||
parser.add_argument('-w', '--weight',
|
parser.add_argument('-w', '--weight',
|
||||||
type=float,
|
type=float,
|
||||||
default=-1,
|
default=-1,
|
||||||
help='optional weight'
|
help=_('optional : weight')
|
||||||
)
|
)
|
||||||
parser.add_argument('-t', '--type',
|
parser.add_argument('-t', '--type',
|
||||||
default='WEIGHT',
|
default='WEIGHT',
|
||||||
help='optional type'
|
help=_('optional : type')
|
||||||
)
|
)
|
||||||
parser.add_argument('-d', '--date',
|
parser.add_argument('-d', '--date',
|
||||||
default=datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
|
default=datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
|
||||||
help='optional date'
|
help=_('optional : date')
|
||||||
)
|
)
|
||||||
parser.add_argument('-i', '--id',
|
parser.add_argument('-i', '--id',
|
||||||
default='',
|
default='',
|
||||||
help='optional id'
|
help=_('optional : id')
|
||||||
)
|
)
|
||||||
parser.add_argument('-m', '--metric',
|
parser.add_argument('-m', '--metric',
|
||||||
default='true',
|
default='true',
|
||||||
help='optional metric'
|
help=_('optional : metric')
|
||||||
)
|
)
|
||||||
parser.add_argument('-c', '--comment',
|
parser.add_argument('-c', '--comment',
|
||||||
default=' ',
|
default=' ',
|
||||||
help='optional comment'
|
help=_('optional : comment')
|
||||||
)
|
)
|
||||||
parser.add_argument('-o', '--other',
|
parser.add_argument('-o', '--other',
|
||||||
default='',
|
default='',
|
||||||
help='optional other'
|
help=_('optional : other')
|
||||||
)
|
)
|
||||||
parser.add_argument('-r', '--read',
|
parser.add_argument('-r', '--read',
|
||||||
help='optional read measures',
|
help='optional read measures',
|
||||||
|
@ -173,10 +187,10 @@ parser.add_argument('-r', '--read',
|
||||||
parser.add_argument('-rem', '--remove',
|
parser.add_argument('-rem', '--remove',
|
||||||
type=int,
|
type=int,
|
||||||
default='-1',
|
default='-1',
|
||||||
help='optional delete a measure by its number in the list'
|
help=_('optional : delete a measure by its number in the list')
|
||||||
)
|
)
|
||||||
parser.add_argument('-g', '--graph',
|
parser.add_argument('-g', '--graph',
|
||||||
help='optional delete a measure by its number in the list',
|
help=_('optional : plot graph'),
|
||||||
action='store_true'
|
action='store_true'
|
||||||
)
|
)
|
||||||
parser.add_argument('-tst', '--tests',
|
parser.add_argument('-tst', '--tests',
|
||||||
|
@ -184,9 +198,13 @@ parser.add_argument('-tst', '--tests',
|
||||||
action='store_true'
|
action='store_true'
|
||||||
)
|
)
|
||||||
parser.add_argument('-ur', '--undoremove',
|
parser.add_argument('-ur', '--undoremove',
|
||||||
help='optional undo remove the last line removed',
|
help=_('optional : undo remove the last line removed'),
|
||||||
action='store_true'
|
action='store_true'
|
||||||
)
|
)
|
||||||
|
parser.add_argument('-v', '--version',
|
||||||
|
version='0.0.5',
|
||||||
|
action='version'
|
||||||
|
)
|
||||||
# Récupération des arguments
|
# Récupération des arguments
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
# Lancement des actions
|
# Lancement des actions
|
||||||
|
|
Loading…
Reference in New Issue