separación de codigo para facil edición
Signed-off-by: Omar Sánchez Pizarro <omar.sanchez@pistacero.net>
This commit is contained in:
36
app/arg_parser.py
Normal file
36
app/arg_parser.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import argparse
|
||||
|
||||
|
||||
class ArgParser:
|
||||
parser = None
|
||||
args = None
|
||||
def __init__(self):
|
||||
self.parser = argparse.ArgumentParser(add_help=False)
|
||||
self.parser._action_groups.pop()
|
||||
|
||||
obligatoryArgs = self.parser.add_argument_group("Argumentos obligatorios")
|
||||
obligatoryArgs.add_argument('-p', '--pin', help="Contraseña", type=int, required=True)
|
||||
obligatoryArgs.add_argument('-t', '--type', help="Tipo marcado. 0 = Entrada, 1 = Salida", type=int)
|
||||
|
||||
optionalArgs = self.parser.add_argument_group("Argumentos opcionales")
|
||||
optionalArgs.add_argument('-bt', '--basedtime', help="Hacer check o descheck según la hora del dia",
|
||||
action="store_true")
|
||||
optionalArgs.add_argument('-h', '--help', action="help", help="Esta ayuda")
|
||||
optionalArgs.add_argument('-d', '--debug', action='store_true')
|
||||
|
||||
optionalArgs.add_argument('-c', '--config', help="Rúta al archivo de configuración")
|
||||
optionalArgs.add_argument('-u', '--user', help="Usuario")
|
||||
optionalArgs.add_argument('-glo', '--geoLongitude', help="GEO Longitud", type=float)
|
||||
optionalArgs.add_argument('-gla', '--geoLatitude', help="GEO Latitud", type=float)
|
||||
optionalArgs.add_argument('-ga', '--geoAccuracy', help="GEO Accuracy", type=float)
|
||||
|
||||
def check(self):
|
||||
if self.args.type is None and self.args.basedtime is False:
|
||||
print("Hay que indicar al menos un metodo de fichaje -t <0 o 1> o -bt")
|
||||
exit(20)
|
||||
|
||||
def parse(self):
|
||||
self.args = self.parser.parse_args()
|
||||
self.check()
|
||||
|
||||
return self.args
|
||||
Reference in New Issue
Block a user