本文整理汇总了Python中txclib.project.Project._languages_to_pull方法的典型用法代码示例。如果您正苦于以下问题:Python Project._languages_to_pull方法的具体用法?Python Project._languages_to_pull怎么用?Python Project._languages_to_pull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类txclib.project.Project
的用法示例。
在下文中一共展示了Project._languages_to_pull方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestProjectPull
# 需要导入模块: from txclib.project import Project [as 别名]
# 或者: from txclib.project.Project import _languages_to_pull [as 别名]
class TestProjectPull(unittest.TestCase):
"""Test bits & pieces of the pull method."""
def setUp(self):
super(TestProjectPull, self).setUp()
self.p = Project(init=False)
self.p.minimum_perc = None
self.p.resource = "resource"
self.p.host = 'foo'
self.p.project_slug = 'foo'
self.p.resource_slug = 'foo'
self.stats = {
'en': {
'completed': '100%', 'last_update': '2011-11-01 15:00:00',
}, 'el': {
'completed': '60%', 'last_update': '2011-11-01 15:00:00',
}, 'pt': {
'completed': '70%', 'last_update': '2011-11-01 15:00:00',
},
}
self.langs = list(self.stats.keys())
self.files = dict(list(zip(self.langs, itertools.repeat(None))))
self.details = {'available_languages': []}
for lang in self.langs:
self.details['available_languages'].append({'code': lang})
self.slang = 'en'
self.lang_map = Flipdict()
def test_new_translations(self):
"""Test finding new translations to add."""
with patch.object(self.p, 'do_url_request') as resource_mock:
resource_mock.return_value = json.dumps(self.details), "utf-8"
new_trans = self.p._new_translations_to_add
for force in [True, False]:
res = new_trans(
self.files, self.slang, self.lang_map, self.stats, force
)
self.assertEqual(res, set([]))
with patch.object(self.p,
'_should_add_translation') as filter_mock:
filter_mock.return_value = True
for force in [True, False]:
res = new_trans(
{'el': None}, self.slang, self.lang_map, self.stats,
force
)
self.assertEqual(res, set(['pt']))
for force in [True, False]:
res = new_trans(
{}, self.slang, self.lang_map, self.stats, force
)
self.assertEqual(res, set(['el', 'pt']))
files = {}
files['pt_PT'] = None
lang_map = {'pt': 'pt_PT'}
for force in [True, False]:
res = new_trans(
files, self.slang, lang_map, self.stats, force
)
self.assertEqual(res, set(['el']))
def test_get_pseudo_file(self):
slang = 'en'
resource = 'adriana'
file_filter = 'adriana/<lang>.po'
pseudo_file = self.p._get_pseudo_file(slang, resource, file_filter)
self.assertEqual(pseudo_file, 'adriana/en_pseudo.po')
def test_languages_to_pull_empty_initial_list(self):
"""Test determining the languages to pull, when the initial
list is empty.
"""
languages = []
force = False
res = self.p._languages_to_pull(
languages, self.files, self.lang_map, self.stats, force
)
existing = res[0]
new = res[1]
self.assertEqual(existing, set(['el', 'en', 'pt']))
self.assertFalse(new)
del self.files['el']
self.files['el-gr'] = None
self.lang_map['el'] = 'el-gr'
res = self.p._languages_to_pull(
languages, self.files, self.lang_map, self.stats, force
)
existing = res[0]
new = res[1]
self.assertEqual(existing, set(['el', 'en', 'pt']))
self.assertFalse(new)
def test_languages_to_pull_with_initial_list(self):
"""Test determining the languages to pull, then there is a
#.........这里部分代码省略.........
示例2: TestProjectPull
# 需要导入模块: from txclib.project import Project [as 别名]
# 或者: from txclib.project.Project import _languages_to_pull [as 别名]
class TestProjectPull(unittest.TestCase):
"""Test bits & pieces of the pull method."""
def setUp(self):
super(TestProjectPull, self).setUp()
self.p = Project(init=False)
self.p.minimum_perc = None
self.p.resource = "resource"
self.p.host = 'foo'
self.p.project_slug = 'foo'
self.p.resource_slug = 'foo'
self.stats = {
'en': {
'completed': '100%', 'last_update': '2011-11-01 15:00:00',
}, 'el': {
'completed': '60%', 'last_update': '2011-11-01 15:00:00',
}, 'pt': {
'completed': '70%', 'last_update': '2011-11-01 15:00:00',
},
}
self.langs = list(self.stats.keys())
self.files = dict(list(zip(self.langs, itertools.repeat(None))))
self.details = {'available_languages': []}
for lang in self.langs:
self.details['available_languages'].append({'code': lang})
self.slang = 'en'
self.lang_map = Flipdict()
def test_new_translations(self):
"""Test finding new transaltions to add."""
with patch.object(self.p, 'do_url_request') as resource_mock:
resource_mock.return_value = json.dumps(self.details), "utf-8"
files_keys = self.langs
new_trans = self.p._new_translations_to_add
for force in [True, False]:
res = new_trans(
self.files, self.slang, self.lang_map, self.stats, force
)
self.assertEqual(res, set([]))
with patch.object(self.p,
'_should_add_translation') as filter_mock:
filter_mock.return_value = True
for force in [True, False]:
res = new_trans(
{'el': None}, self.slang, self.lang_map, self.stats,
force
)
self.assertEqual(res, set(['pt']))
for force in [True, False]:
res = new_trans(
{}, self.slang, self.lang_map, self.stats, force
)
self.assertEqual(res, set(['el', 'pt']))
files = {}
files['pt_PT'] = None
lang_map = {'pt': 'pt_PT'}
for force in [True, False]:
res = new_trans(
files, self.slang, lang_map, self.stats, force
)
self.assertEqual(res, set(['el']))
def test_get_pseudo_file(self):
slang = 'en'
resource = 'adriana'
file_filter = 'adriana/<lang>.po'
pseudo_file = self.p._get_pseudo_file(slang, resource, file_filter)
self.assertEqual(pseudo_file, 'adriana/en_pseudo.po')
def test_languages_to_pull_empty_initial_list(self):
"""Test determining the languages to pull, when the initial
list is empty.
"""
languages = []
force = False
res = self.p._languages_to_pull(
languages, self.files, self.lang_map, self.stats, force
)
existing = res[0]
new = res[1]
self.assertEqual(existing, set(['el', 'en', 'pt']))
self.assertFalse(new)
del self.files['el']
self.files['el-gr'] = None
self.lang_map['el'] = 'el-gr'
res = self.p._languages_to_pull(
languages, self.files, self.lang_map, self.stats, force
)
existing = res[0]
new = res[1]
self.assertEqual(existing, set(['el', 'en', 'pt']))
self.assertFalse(new)
def test_languages_to_pull_with_initial_list(self):
#.........这里部分代码省略.........
示例3: TestProjectPull
# 需要导入模块: from txclib.project import Project [as 别名]
# 或者: from txclib.project.Project import _languages_to_pull [as 别名]
class TestProjectPull(unittest.TestCase):
"""Test bits & pieces of the pull method."""
def setUp(self):
super(TestProjectPull, self).setUp()
self.p = Project(init=False)
self.p.minimum_perc = None
self.p.resource = "resource"
self.p.host = "foo"
self.p.project_slug = "foo"
self.p.resource_slug = "foo"
self.stats = {
"en": {"completed": "100%", "last_update": "2011-11-01 15:00:00"},
"el": {"completed": "60%", "last_update": "2011-11-01 15:00:00"},
"pt": {"completed": "70%", "last_update": "2011-11-01 15:00:00"},
}
self.langs = self.stats.keys()
self.files = dict(zip(self.langs, itertools.repeat(None)))
self.details = {"available_languages": []}
for lang in self.langs:
self.details["available_languages"].append({"code": lang})
self.slang = "en"
self.lang_map = Flipdict()
def test_new_translations(self):
"""Test finding new transaltions to add."""
with patch.object(self.p, "do_url_request") as resource_mock:
resource_mock.return_value = json.dumps(self.details)
files_keys = self.langs
new_trans = self.p._new_translations_to_add
for force in [True, False]:
res = new_trans(self.files, self.slang, self.lang_map, self.stats, force)
self.assertEquals(res, set([]))
with patch.object(self.p, "_should_add_translation") as filter_mock:
filter_mock.return_value = True
for force in [True, False]:
res = new_trans({"el": None}, self.slang, self.lang_map, self.stats, force)
self.assertEquals(res, set(["pt"]))
for force in [True, False]:
res = new_trans({}, self.slang, self.lang_map, self.stats, force)
self.assertEquals(res, set(["el", "pt"]))
files = {}
files["pt_PT"] = None
lang_map = {"pt": "pt_PT"}
for force in [True, False]:
res = new_trans(files, self.slang, lang_map, self.stats, force)
self.assertEquals(res, set(["el"]))
def test_languages_to_pull_empty_initial_list(self):
"""Test determining the languages to pull, when the initial
list is empty.
"""
languages = []
force = False
res = self.p._languages_to_pull(languages, self.files, self.lang_map, self.stats, force)
existing = res[0]
new = res[1]
self.assertEquals(existing, set(["el", "en", "pt"]))
self.assertFalse(new)
del self.files["el"]
self.files["el-gr"] = None
self.lang_map["el"] = "el-gr"
res = self.p._languages_to_pull(languages, self.files, self.lang_map, self.stats, force)
existing = res[0]
new = res[1]
self.assertEquals(existing, set(["el", "en", "pt"]))
self.assertFalse(new)
def test_languages_to_pull_with_initial_list(self):
"""Test determining the languages to pull, then there is a
language selection from the user.
"""
languages = ["el", "en"]
self.lang_map["el"] = "el-gr"
del self.files["el"]
self.files["el-gr"] = None
force = False
with patch.object(self.p, "_should_add_translation") as mock:
mock.return_value = True
res = self.p._languages_to_pull(languages, self.files, self.lang_map, self.stats, force)
existing = res[0]
new = res[1]
self.assertEquals(existing, set(["en", "el-gr"]))
self.assertFalse(new)
mock.return_value = False
res = self.p._languages_to_pull(languages, self.files, self.lang_map, self.stats, force)
existing = res[0]
new = res[1]
self.assertEquals(existing, set(["en", "el-gr"]))
self.assertFalse(new)
del self.files["el-gr"]
mock.return_value = True
res = self.p._languages_to_pull(languages, self.files, self.lang_map, self.stats, force)
#.........这里部分代码省略.........