1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """Small example program for querying an XML-RPC lookup service"""
24
25 from translate.storage import tbx
26 from xml.dom import minidom
27 import xmlrpclib
28 import sys
29
30 server_url = 'http://localhost:1234/'
31 server = xmlrpclib.Server(server_url)
32 UnitClass = tbx.tbxunit
33
34 text = sys.stdin.readline()
35 while text:
36 text = text.strip().decode("utf-8")
37 if text != "":
38 source = server.lookup(text)
39 if source:
40 print source
41
42 if "<termEntry>" in source:
43
44 base = minidom.parseString(source)
45 unit = UnitClass.createfromxmlElement(base.documentElement, None)
46
47 elif "<tu><tuv>" in source:
48
49 base = minidom.parseString
50 unit = tmx.createfromxmlElement(base.documentElement, None)
51 target = server.translate(text)
52 print "%s -> %s".decode('utf-8') % (text, target)
53 else:
54 print " (Not found)"
55 candidates = server.matches(text)
56
57
58 if len(candidates):
59 print "Likely matches:"
60 columnwidth = min(int(len(text)*1.3)+5, 35)
61 for score, original, translation in candidates:
62 print "%s %-*s | %s".encode('utf-8') % (score, columnwidth, original, translation)
63 else:
64 print "No likely matches found"
65 text = sys.stdin.readline()
66