Nidhal Baccouri commited on
Commit
fcb8bdf
·
unverified ·
2 Parent(s): bda0d63 7744a17

Merge pull request #49 from bigsbunny/extend-cli-arguments

Browse files

Added functionality for -lang/--languages flag to the CLI usage to return the languages supported by the chosen translator service.

Files changed (2) hide show
  1. README.rst +7 -3
  2. deep_translator/cli.py +30 -5
README.rst CHANGED
@@ -486,8 +486,7 @@ the right arguments, which are the translator you want to use, source language,
486
  you want to translate.
487
 
488
  For example, provide "google" as an argument to use the google translator. Alternatively you can use
489
- the other supported translators. Just read the documentation to have an overview about the supported
490
- translators in this library.
491
 
492
  .. code-block:: console
493
 
@@ -505,6 +504,12 @@ If you want, you can also pass the source and target language by their abbreviat
505
 
506
  $ deep_translator -trans "google" -src "en" -tg "de" -txt "happy coding"
507
 
 
 
 
 
 
 
508
  ======
509
  Tests
510
  ======
@@ -619,4 +624,3 @@ Here are some screenshots:
619
  :width: 100%
620
  :height: 300
621
  :alt: screenshot3
622
-
 
486
  you want to translate.
487
 
488
  For example, provide "google" as an argument to use the google translator. Alternatively you can use
489
+ the other supported translators. Just read the documentation to have an overview about the supported translators in this library.
 
490
 
491
  .. code-block:: console
492
 
 
504
 
505
  $ deep_translator -trans "google" -src "en" -tg "de" -txt "happy coding"
506
 
507
+ If you want the list of languages supported by a translator service, just pass the translator service as an argument to the -trans flag followed by the -lang/--languages flag. For example:
508
+
509
+ .. code-block:: console
510
+
511
+ $ deep_translator -trans "google" -lang
512
+
513
  ======
514
  Tests
515
  ======
 
624
  :width: 100%
625
  :height: 300
626
  :alt: screenshot3
 
deep_translator/cli.py CHANGED
@@ -30,6 +30,27 @@ def translate(args):
30
  print(" | Translation from {} to {} |".format(args.source, args.target))
31
  print("Translated text: \n {}".format(res))
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  def main():
35
  """
@@ -38,13 +59,17 @@ def main():
38
  """
39
  parser = argparse.ArgumentParser()
40
  parser.add_argument('--translator', '-trans',
41
- default='google', type=str, help="name of the translator you want to use")
42
- parser.add_argument('--source', '-src', type=str, help="source language to translate from", required=True)
43
- parser.add_argument('--target', '-tg', type=str, help="target language to translate to", required=True)
44
- parser.add_argument('--text', '-txt', type=str, help="text you want to translate", required=True)
 
45
 
46
  args = parser.parse_args()
47
- translate(args)
 
 
 
48
  # sys.exit()
49
 
50
 
 
30
  print(" | Translation from {} to {} |".format(args.source, args.target))
31
  print("Translated text: \n {}".format(res))
32
 
33
+ def return_supported_languages(args):
34
+ """
35
+ function used to return the languages supported by the translator service from the parsed terminal arguments
36
+ @param args: parsed terminal arguments
37
+ @return: None
38
+ """
39
+ if args.translator == 'google':
40
+ translator = GoogleTranslator
41
+ elif args.translator == 'pons':
42
+ translator = PonsTranslator
43
+ elif args.translator == 'linguee':
44
+ translator = LingueeTranslator
45
+ elif args.translator == 'mymemory':
46
+ translator = MyMemoryTranslator
47
+ else:
48
+ print("given translator is not supported. Please use a supported translator from the deep_translator tool")
49
+
50
+ translator_supported_languages = translator.get_supported_languages(as_dict=True)
51
+ print(f'Languages supported by \'{args.translator}\' are :\n')
52
+ print(translator_supported_languages)
53
+
54
 
55
  def main():
56
  """
 
59
  """
60
  parser = argparse.ArgumentParser()
61
  parser.add_argument('--translator', '-trans',
62
+ default='google', type=str, help="name of the translator you want to use", required=True)
63
+ parser.add_argument('--source', '-src', type=str, help="source language to translate from")
64
+ parser.add_argument('--target', '-tg', type=str, help="target language to translate to")
65
+ parser.add_argument('--text', '-txt', type=str, help="text you want to translate")
66
+ parser.add_argument('--languages', '-lang',action='store_true', help="all the languages available with the translator. Run the command deep_translator -trans <translator service> -lang")
67
 
68
  args = parser.parse_args()
69
+ if args.languages:
70
+ return_supported_languages(args)
71
+ else:
72
+ translate(args)
73
  # sys.exit()
74
 
75