コード例 #1
0
ファイル: test.py プロジェクト: qdzzyb2014/little_dic
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)
コード例 #2
0
ファイル: TestTranslate.py プロジェクト: 0-vortex/ZeroNet
 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
コード例 #3
0
 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
コード例 #4
0
ファイル: TestTranslate.py プロジェクト: 0-vortex/ZeroNet
 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
コード例 #5
0
 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 == """
コード例 #6
0
 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
コード例 #7
0
    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&lt;script&gt;alert('boom')&lt;/script&gt;!"

        # 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&lt;script&gt;alert('boom')&lt;/script&gt;!"

        # 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&lt;script&gt;alert('boom')&lt;/script&gt;!"
コード例 #8
0
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)
コード例 #9
0
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})
コード例 #10
0
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)
コード例 #11
0
ファイル: bl.py プロジェクト: aparij/bl
__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)

コード例 #12
0
ファイル: test.py プロジェクト: qdzzyb2014/little_dic
 def setUp(self):
     self.session = create_session()
     self.word = u'apple'
     self.trans = Translate()
コード例 #13
0
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",
コード例 #14
0
 def __init__(self):
     self.t = Translate()
コード例 #15
0
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()
        }
コード例 #16
0
ファイル: UiWebsocketPlugin.py プロジェクト: suclike/ZeroNet
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
コード例 #17
0
ファイル: MutePlugin.py プロジェクト: Pavithra27/Zeronet-
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):
コード例 #18
0
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()
コード例 #19
0
ファイル: SidebarPlugin.py プロジェクト: xcodest/ZeroNet
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)
コード例 #20
0
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
コード例 #21
0
ファイル: CorsPlugin.py プロジェクト: zhq1/ZeroNet
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[
コード例 #22
0
ファイル: SidebarPlugin.py プロジェクト: zhq1/ZeroNet
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)
コード例 #23
0
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