4
4
Translator using py-googletrans
5
5
"""
6
6
7
- from albert import *
8
- from googletrans import Translator , LANGUAGES
9
7
from locale import getdefaultlocale
8
+ from pathlib import Path
10
9
from time import sleep
11
- import os
12
10
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"
15
16
md_name = "Google Translate"
16
17
md_description = "Translate sentences using googletrans"
17
18
md_license = "BSD-3"
18
19
md_url = "https://github.com/albertlauncher/python/"
19
20
md_lib_dependencies = "googletrans==3.1.0a0"
20
21
md_maintainers = "@manuelschneid3r"
21
22
22
- class Plugin (TriggerQueryHandler ):
23
23
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 ):
38
25
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" ]
41
35
self .translator = Translator ()
42
36
self .lang = getdefaultlocale ()[0 ][0 :2 ]
43
37
44
38
def handleTriggerQuery (self , query ):
45
39
stripped = query .string .strip ()
46
40
if stripped :
47
- for number in range (50 ):
41
+ for _ in range (50 ):
48
42
sleep (0.01 )
49
43
if not query .isValid :
50
44
return
@@ -64,11 +58,11 @@ def handleTriggerQuery(self, query):
64
58
else :
65
59
translation = self .translator .translate (text , dest = dest )
66
60
67
- query .add (Item (
61
+ query .add (StandardItem (
68
62
id = md_id ,
69
63
text = translation .text ,
70
64
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 ))]
74
68
))
0 commit comments