class TestDataBase(unittest.TestCase): def setUp(self): self.session = create_session() self.word = u'apple' self.trans = Translate() def test_translation(self): translation = self.trans.translate(text=self.word) self.assertTrue(translation == '苹果'.decode('utf-8')) def test_db(self): translation = self.trans.translate(text=self.word) word = WordList(word=self.word, translation=translation, search_date=datetime.now()) self.session.add(word) self.session.commit() self.assertTrue(repr(word).startswith("<word: u'apple'>")) def test_db_search(self): res = self.session.query(WordList).filter_by(word=self.word).first() self.assertEqual(1, res.search_times) self.assertEqual('苹果'.decode('utf-8'), res.translation)
def testTranslateStrict(self): translate = Translate() data = """ translated = _("original") not_translated = "original" """ data_translated = translate.translateData(data, {"_(original)": "translated"}) assert 'translated = _("translated")' in data_translated assert 'not_translated = "original"' in data_translated
def testTranslateStrict(self): translate = Translate() data = """ translated = _("original") not_translated = "original" """ data_translated = translate.translateData( data, {"_(original)": "translated"}) assert 'translated = _("translated")' in data_translated assert 'not_translated = "original"' in data_translated
def testTranslateStrictNamed(self): translate = Translate() data = """ translated = _("original", "original named") translated_other = _("original", "original other named") not_translated = "original" """ data_translated = translate.translateData(data, {"_(original, original named)": "translated"}) assert 'translated = _("translated")' in data_translated assert 'not_translated = "original"' in data_translated
def testTranslateUtf8(self): translate = Translate() data = """ greeting = "Hi again árvztűrőtökörfúrógép!" """ data_translated = translate.translateData(data, { "Hi again árvztűrőtökörfúrógép!": "Üdv újra árvztűrőtökörfúrógép!" }) assert data_translated == """
def testTranslateStrictNamed(self): translate = Translate() data = """ translated = _("original", "original named") translated_other = _("original", "original other named") not_translated = "original" """ data_translated = translate.translateData( data, {"_(original, original named)": "translated"}) assert 'translated = _("translated")' in data_translated assert 'not_translated = "original"' in data_translated
def testTranslateEscape(self): _ = Translate() _["Hello"] = "Szia" # Simple escaping data = "{_[Hello]} {username}!" username = "******" data_translated = _(data) assert 'Szia' in data_translated assert '<' not in data_translated assert data_translated == "Szia Hacker<script>alert('boom')</script>!" # Escaping dicts user = {"username": "******"} data = "{_[Hello]} {user[username]}!" data_translated = _(data) assert 'Szia' in data_translated assert '<' not in data_translated assert data_translated == "Szia Hacker<script>alert('boom')</script>!" # Escaping lists users = [{"username": "******"}] data = "{_[Hello]} {users[0][username]}!" data_translated = _(data) assert 'Szia' in data_translated assert '<' not in data_translated assert data_translated == "Szia Hacker<script>alert('boom')</script>!"
def transtate2 (): # time.sleep(5) if(request.method=='POST'): text = request.form['sentence'] check = str(text) check = check.strip() if(check!=""): data = Translate.Translate() data = data.traslateThaiHmong(text) else: data = "" return jsonify(data)
def transtate (): if(request.method=='POST'): text = request.form['sentence'] check = str(text) check = check.strip() if(check!=""): a = Translate.Translate() aa = a.traslateThaiHmong_0(text) data = str(aa) data = data.split("|\\") # print(data) else: data = "" return jsonify({'sentence':data})
class Order: def __init__(self): self.t = Translate() def prepare(self, listWord): arraydictWord = [] for word in listWord: translate_w = self.t.do(word) arraydictWord.append({'tw': translate_w, 'w': word}) return arraydictWord def do(self, arrayWords): sorted_activities = sorted(arrayWords, key=lambda x: x['tw']) result = list(map(lambda x: x['w'], sorted_activities)) return (result)
__author__ = 'alex_p' from Translate import Translate tr = Translate() tr.read_dict('FR','EN') translated_string = tr.read_and_translate_file('proust_French.htm') print len(tr.dictionary) tr.write_file(translated_string)
def setUp(self): self.session = create_session() self.word = u'apple' self.trans = Translate()
from Plugin import PluginManager from Config import config from Translate import Translate from cStringIO import StringIO if "_" not in locals(): _ = Translate("plugins/UiConfig/languages/") @PluginManager.afterLoad def importPluginnedClasses(): from Ui import UiWebsocket UiWebsocket.admin_commands.add("configList") @PluginManager.registerTo("UiRequest") class UiRequestPlugin(object): def actionWrapper(self, path, extra_headers=None): if path.strip("/") != "Config": return super(UiRequestPlugin, self).actionWrapper(path, extra_headers) if not extra_headers: extra_headers = {} script_nonce = self.getScriptNonce() self.sendHeader(extra_headers=extra_headers, script_nonce=script_nonce) site = self.server.site_manager.get(config.homepage) return iter([super(UiRequestPlugin, self).renderWrapper( site, path, "uimedia/plugins/uiconfig/config.html",
def __init__(self): self.t = Translate()
import time import re import cgi import hashlib from Plugin import PluginManager from Translate import Translate from Config import config from ContentFilterStorage import ContentFilterStorage if "_" not in locals(): _ = Translate("plugins/ContentFilter/languages/") @PluginManager.registerTo("SiteManager") class SiteManagerPlugin(object): def load(self, *args, **kwargs): global filter_storage super(SiteManagerPlugin, self).load(*args, **kwargs) filter_storage = ContentFilterStorage(site_manager=self) @PluginManager.registerTo("UiWebsocket") class UiWebsocketPlugin(object): # Mute def cbMuteAdd(self, to, auth_address, cert_user_id, reason): filter_storage.file_content["mutes"][auth_address] = { "cert_user_id": cert_user_id, "reason": reason, "source": self.site.address, "date_added": time.time() }
import re import time import cgi import gevent from Plugin import PluginManager from Config import config from util import helper from Translate import Translate if "_" not in locals(): _ = Translate("plugins/OptionalManager/languages/") bigfile_sha512_cache = {} @PluginManager.registerTo("UiWebsocket") class UiWebsocketPlugin(object): def __init__(self, *args, **kwargs): self.time_peer_numbers_updated = 0 super(UiWebsocketPlugin, self).__init__(*args, **kwargs) def actionSiteSign(self, to, privatekey=None, inner_path="content.json", *args, **kwargs): # Add file to content.db and set it as pinned content_db = self.site.content_manager.contents.db
from Plugin import PluginManager from Translate import Translate from Config import config from util import helper if os.path.isfile("%s/mutes.json" % config.data_dir): try: mutes = json.load(open("%s/mutes.json" % config.data_dir))["mutes"] except Exception, err: mutes = {} else: open("%s/mutes.json" % config.data_dir, "w").write('{"mutes": {}}') mutes = {} if "_" not in locals(): _ = Translate("plugins/Mute/languages/") @PluginManager.registerTo("UiWebsocket") class UiWebsocketPlugin(object): # Search and remove or readd files of an user def changeDb(self, auth_address, action): res = self.site.content_manager.contents.db.execute( "SELECT * FROM content LEFT JOIN site USING (site_id) WHERE inner_path LIKE :inner_path", {"inner_path": "%%/%s/%%" % auth_address}) for row in res: site = self.server.sites.get(row["address"]) if not site: continue dir_inner_path = helper.getDirname(row["inner_path"]) for file_name in site.storage.list(dir_inner_path):
from Translate import Translate translation = Translate() translation.translate("protect") print (translation.Farsi) print (translation.Farsi_POS) print (translation.English_POS) print (translation.English_DEF) print (translation.English_EXM) print (translation.Example) print (translation.Synonym) translation.close()
import gevent from Config import config from Plugin import PluginManager from Debug import Debug from Translate import Translate from util import helper plugin_dir = "plugins/Sidebar" media_dir = plugin_dir + "/media" sys.path.append(plugin_dir) # To able to load geoip lib loc_cache = {} if "_" not in locals(): _ = Translate("plugins/Sidebar/languages/") @PluginManager.registerTo("UiRequest") class UiRequestPlugin(object): # Inject our resources to end of original file streams def actionUiMedia(self, path): if path == "/uimedia/all.js" or path == "/uimedia/all.css": # First yield the original file and header body_generator = super(UiRequestPlugin, self).actionUiMedia(path) for part in body_generator: yield part # Append our media file to the end ext = re.match(".*(js|css)$", path).group(1) plugin_media_file = "%s/all.%s" % (media_dir, ext)
import os import sys import atexit from Plugin import PluginManager from Config import config from Translate import Translate allow_reload = False # No source reload supported in this plugin if "_" not in locals(): _ = Translate("plugins/Trayicon/languages/") @PluginManager.registerTo("Actions") class ActionsPlugin(object): def main(self): global notificationicon, winfolders from lib import notificationicon, winfolders import gevent.threadpool self.main = sys.modules["main"] fs_encoding = sys.getfilesystemencoding() icon = notificationicon.NotificationIcon( os.path.join( os.path.dirname(os.path.abspath(__file__).decode(fs_encoding)), 'trayicon.ico'), "ZeroNet %s" % config.version) self.icon = icon
import re import cgi import copy from Plugin import PluginManager from Translate import Translate if "_" not in locals(): _ = Translate("plugins/Cors/languages/") def getCorsPath(site, inner_path): match = re.match("^cors-([A-Za-z0-9]{26,35})/(.*)", inner_path) if not match: raise Exception("Invalid cors path: %s" % inner_path) cors_address = match.group(1) cors_inner_path = match.group(2) if not "Cors:%s" % cors_address in site.settings["permissions"]: raise Exception("This site has no permission to access site %s" % cors_address) return cors_address, cors_inner_path @PluginManager.registerTo("UiWebsocket") class UiWebsocketPlugin(object): def hasSitePermission(self, address, cmd=None): if super(UiWebsocketPlugin, self).hasSitePermission(address, cmd=cmd): return True if not "Cors:%s" % address in self.site.settings[
import gevent from Config import config from Plugin import PluginManager from Debug import Debug from Translate import Translate from util import helper from ZipStream import ZipStream plugin_dir = "plugins/Sidebar" media_dir = plugin_dir + "/media" sys.path.append(plugin_dir) # To able to load geoip lib loc_cache = {} if "_" not in locals(): _ = Translate(plugin_dir + "/languages/") @PluginManager.registerTo("UiRequest") class UiRequestPlugin(object): # Inject our resources to end of original file streams def actionUiMedia(self, path): if path == "/uimedia/all.js" or path == "/uimedia/all.css": # First yield the original file and header body_generator = super(UiRequestPlugin, self).actionUiMedia(path) for part in body_generator: yield part # Append our media file to the end ext = re.match(".*(js|css)$", path).group(1) plugin_media_file = "%s/all.%s" % (media_dir, ext)
try: import OptionalManager.UiWebsocketPlugin # To make optioanlFileInfo merger sites compatible except Exception: pass if "merger_db" not in locals().keys( ): # To keep merger_sites between module reloads merger_db = { } # Sites that allowed to list other sites {address: [type1, type2...]} merged_db = { } # Sites that allowed to be merged to other sites {address: type, ...} merged_to_merger = {} # {address: [site1, site2, ...]} cache site_manager = None # Site manager for merger sites if "_" not in locals(): _ = Translate("plugins/MergerSite/languages/") # Check if the site has permission to this merger site def checkMergerPath(address, inner_path): merged_match = re.match("^merged-(.*?)/([A-Za-z0-9]{26,35})/", inner_path) if merged_match: merger_type = merged_match.group(1) # Check if merged site is allowed to include other sites if merger_type in merger_db.get(address, []): # Check if included site allows to include merged_address = merged_match.group(2) if merged_db.get(merged_address) == merger_type: inner_path = re.sub("^merged-(.*?)/([A-Za-z0-9]{26,35})/", "", inner_path) return merged_address, inner_path