44Translator using py-googletrans
55"""
66
7- from albert import *
8- from googletrans import Translator , LANGUAGES
97from locale import getdefaultlocale
8+ from pathlib import Path
109from time import sleep
11- import os
1210
13- md_iid = '1.0'
14- md_version = "1.1"
11+ from albert import *
12+ from googletrans import Translator , LANGUAGES
13+
14+ md_iid = '2.0'
15+ md_version = "1.2"
1516md_name = "Google Translate"
1617md_description = "Translate sentences using googletrans"
1718md_license = "BSD-3"
1819md_url = "https://github.com/albertlauncher/python/"
1920md_lib_dependencies = "googletrans==3.1.0a0"
2021md_maintainers = "@manuelschneid3r"
2122
22- class Plugin (TriggerQueryHandler ):
2323
24- def id (self ):
25- return md_id
26-
27- def name (self ):
28- return md_name
29-
30- def description (self ):
31- return md_description
32-
33- def defaultTrigger (self ):
34- return "tr "
35-
36- def synopsis (self ):
37- return "[[src] dest] text"
24+ class Plugin (TriggerQueryHandler ):
3825
39- def initialize (self ):
40- self .icon = [os .path .dirname (__file__ )+ "/google_translate.png" ]
26+ def __init__ (self ):
27+ TriggerQueryHandler .__init__ (self ,
28+ id = md_id ,
29+ name = md_name ,
30+ description = md_description ,
31+ synopsis = "[[src] dest] text" ,
32+ defaultTrigger = 'tr ' )
33+ PluginInstance .__init__ (self , extensions = [self ])
34+ self .iconUrls = [f"file:{ Path (__file__ ).parent } /google_translate.png" ]
4135 self .translator = Translator ()
4236 self .lang = getdefaultlocale ()[0 ][0 :2 ]
4337
4438 def handleTriggerQuery (self , query ):
4539 stripped = query .string .strip ()
4640 if stripped :
47- for number in range (50 ):
41+ for _ in range (50 ):
4842 sleep (0.01 )
4943 if not query .isValid :
5044 return
@@ -64,11 +58,11 @@ def handleTriggerQuery(self, query):
6458 else :
6559 translation = self .translator .translate (text , dest = dest )
6660
67- query .add (Item (
61+ query .add (StandardItem (
6862 id = md_id ,
6963 text = translation .text ,
7064 subtext = f'From { LANGUAGES [translation .src ]} to { LANGUAGES [translation .dest ]} ' ,
71- icon = self .icon ,
72- actions = [Action ("copy" , "Copy result to clipboard" ,
73- lambda t = translation .text : setClipboardText (t ))]
65+ iconUrls = self .iconUrls ,
66+ actions = [Action ("copy" , "Copy result to clipboard" ,
67+ lambda t = translation .text : setClipboardText (t ))]
7468 ))
0 commit comments