Project

General

Profile

Anomalie #446

Exception lors de la spécification du fichier de configuration : le fichier par défaut n'est pas trouvé et ntbclient s'arrête

Added by Davy Gigan over 4 years ago. Updated over 4 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Start date:
05/12/2016
Due date:
% Done:

100%


Description

Avec un fichier vide à l'emplacement du fichier par défaut, cela fonctionne :

root@seccotine:~# touch /etc/ntbclient/ntbclient.conf
root@seccotine:~# /root/bin/ntbclient -v --private-key /boot/key.pem -c /i/etc/ntbclient/ntbclient.conf 
WARNING:  [Errno 2] No such file or directory: '/var/lib/ntbclient/cache_id'
Traceback (most recent call last):
  File "/root/bin/ntbclient", line 249, in cache_id
    with open(cache_id_file, "w") as file:
IOError: [Errno 2] No such file or directory: '/var/lib/ntbclient/cache_id'

… la clef

Mais lorsque le fichier par défaut est supprimé, cela ne fonctionne plus :

root@seccotine:~# rm /etc/ntbclient/ntbclient.conf 
rm : supprimer fichier vide « /etc/ntbclient/ntbclient.conf » ? y
root@seccotine:~# /root/bin/ntbclient -v --private-key /boot/key.pem -c /i/etc/ntbclient/ntbclient.conf 
Traceback (most recent call last):
  File "/root/bin/ntbclient", line 429, in <module>
    main()
  File "/root/bin/ntbclient", line 330, in main
    args, remaining_argv = conf_parser.parse_known_args()
  File "/usr/lib/python2.7/argparse.py", line 1713, in parse_known_args
    default = self._get_value(action, default)
  File "/usr/lib/python2.7/argparse.py", line 2245, in _get_value
    raise ArgumentError(action, msg)
argparse.ArgumentError: argument -c/--conf-file: can't open '/etc/ntbclient/ntbclient.conf': [Errno 2] No such file or directory: '/etc/ntbclient/ntbclient.conf'

Probablement une option du parser auquel il faut spécifier que le fichier par défaut est optionnel ?

History

#1 Updated by Davy Gigan over 4 years ago

Vu que « FileType » est directement relié à la fonction « open », je ne vois pas comment on s'en sort à part en ignorant l'exception comme des gorets.

https://docs.python.org/3/library/argparse.html#filetype-objects

#2 Updated by Pierre Blondeau over 4 years ago

  • Status changed from Nouveau to Fermé

Solved #bf2b3de0b31c69e57dd1861e0521034c55dbb4fd

Check if the file exist before give it to ArgumentParser

#3 Updated by Pierre Blondeau over 4 years ago

Correction

Solved #a5343f94bbcd5f68095007da8891eca1949fbf5b

#4 Updated by Pierre Blondeau over 4 years ago

  • % Done changed from 0 to 100

Also available in: Atom PDF