TiberiuCristianLeon commited on
Commit
fe11d17
·
verified ·
1 Parent(s): 7748528

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -9
app.py CHANGED
@@ -70,26 +70,24 @@ class Translators:
70
  url = os.environ['GCLIENT'] + f'sl={self.sl}&tl={self.tl}&q={self.input_text}'
71
  response = requests.get(url)
72
  return response.json()[0][0][0]
73
-
74
- def download_argos_model(from_code, to_code):
 
75
  import argostranslate.package
76
  print('Downloading model', from_code, to_code)
77
  # Download and install Argos Translate package
78
  argostranslate.package.update_package_index()
79
  available_packages = argostranslate.package.get_available_packages()
80
  package_to_install = next(
81
- filter(
82
- lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
83
- )
84
  )
85
  argostranslate.package.install_from_path(package_to_install.download())
86
 
87
  def argos(self):
88
- import argostranslate.translate, argostranslate.package
89
- # Translate
90
  try:
91
- self.download_argos_model(self.sl, self.tl)
92
- translated_text = argostranslate.translate.translate(self.input_text, self.sl, self.tl)
93
  except StopIteration:
94
  # packages_info = ', '.join(f"{pkg.get_description()}->{str(pkg.links)} {str(pkg.source_languages)}" for pkg in argostranslate.package.get_available_packages())
95
  packages_info = ', '.join(f"{pkg.from_name} ({pkg.from_code}) -> {pkg.to_name} ({pkg.to_code})" for pkg in argostranslate.package.get_available_packages())
 
70
  url = os.environ['GCLIENT'] + f'sl={self.sl}&tl={self.tl}&q={self.input_text}'
71
  response = requests.get(url)
72
  return response.json()[0][0][0]
73
+
74
+ @classmethod
75
+ def download_argos_model(cls, from_code, to_code):
76
  import argostranslate.package
77
  print('Downloading model', from_code, to_code)
78
  # Download and install Argos Translate package
79
  argostranslate.package.update_package_index()
80
  available_packages = argostranslate.package.get_available_packages()
81
  package_to_install = next(
82
+ filter(lambda x: x.from_code == from_code and x.to_code == to_code, available_packages)
 
 
83
  )
84
  argostranslate.package.install_from_path(package_to_install.download())
85
 
86
  def argos(self):
87
+ import argostranslate.translate, argostranslate.package
 
88
  try:
89
+ Translators.download_argos_model(self.sl, self.tl) # Download model
90
+ translated_text = argostranslate.translate.translate(self.input_text, self.sl, self.tl) # Translate
91
  except StopIteration:
92
  # packages_info = ', '.join(f"{pkg.get_description()}->{str(pkg.links)} {str(pkg.source_languages)}" for pkg in argostranslate.package.get_available_packages())
93
  packages_info = ', '.join(f"{pkg.from_name} ({pkg.from_code}) -> {pkg.to_name} ({pkg.to_code})" for pkg in argostranslate.package.get_available_packages())