def test_specifying_resources(self): """Test the various ways to specify resources in a project.""" p = Project(init=False) resources = [ 'proj1.res1', 'proj2.res2', 'transifex.txn', 'transifex.txo', ] with patch.object(p, 'get_resource_list') as mock: mock.return_value = resources cmd_args = [ 'proj1.res1', '*1*', 'transifex*', '*r*', '*o', 'transifex.tx?', 'transifex.txn', ] results = [ ['proj1.res1', ], ['proj1.res1', ], ['transifex.txn', 'transifex.txo', ], ['proj1.res1', 'proj2.res2', 'transifex.txn', 'transifex.txo', ], # noqa ['transifex.txo', ], ['transifex.txn', 'transifex.txo', ], ['transifex.txn', ], [], ] for i, arg in enumerate(cmd_args): resources = [arg] self.assertEqual(p.get_chosen_resources(resources), results[i]) # wrong argument resources = ['*trasnifex*', ] self.assertRaises(Exception, p.get_chosen_resources, resources)
def test_specifying_resources(self): """Test the various ways to specify resources in a project.""" p = Project(init=False) resources = [ 'proj1.res1', 'proj2.res2', 'transifex.txn', 'transifex.txo', ] with patch.object(p, 'get_resource_list') as mock: mock.return_value = resources cmd_args = [ 'proj1.res1', '*1*', 'transifex*', '*r*', '*o', 'transifex.tx?', 'transifex.txn', ] results = [ ['proj1.res1', ], ['proj1.res1', ], ['transifex.txn', 'transifex.txo', ], ['proj1.res1', 'proj2.res2', 'transifex.txn', 'transifex.txo', ], ['transifex.txo', ], ['transifex.txn', 'transifex.txo', ], ['transifex.txn', ], [], ] for i, arg in enumerate(cmd_args): resources = [arg] self.assertEqual(p.get_chosen_resources(resources), results[i]) # wrong argument resources = ['*trasnifex*', ] self.assertRaises(Exception, p.get_chosen_resources, resources)
def test_specifying_resources(self): """Test the various ways to specify resources in a project.""" p = Project(init=False) resources = ["proj1.res1", "proj2.res2", "transifex.txn", "transifex.txo"] with patch.object(p, "get_resource_list") as mock: mock.return_value = resources cmd_args = ["proj1.res1", "*1*", "transifex*", "*r*", "*o", "transifex.tx?", "transifex.txn"] results = [ ["proj1.res1"], ["proj1.res1"], ["transifex.txn", "transifex.txo"], ["proj1.res1", "proj2.res2", "transifex.txn", "transifex.txo"], ["transifex.txo"], ["transifex.txn", "transifex.txo"], ["transifex.txn"], [], ] for i, arg in enumerate(cmd_args): resources = [arg] self.assertEqual(p.get_chosen_resources(resources), results[i]) # wrong argument resources = ["*trasnifex*"] self.assertRaises(Exception, p.get_chosen_resources, resources)
prj = Project(find_dot_tx()) api_auth = prj.getset_host_credentials('https://api.transifex.com') offset = 0 remote_resources = [] while True: r = requests.get('https://api.transifex.com/organizations/{}/projects/{}/resources/?offset={}'.format(organization_slug, project_slug, offset), auth=api_auth) results = r.json() if len(results) == 0: break remote_resources.extend(results) offset += 100 remote_resources_set = set([res['slug'] for res in remote_resources]) local_resources_set = set([res.split('.')[1] for res in prj.get_chosen_resources([])]) print "remote resources count: {}".format(len(remote_resources_set)) print "local resources count: {}".format(len(local_resources_set)) outdated_resources = remote_resources_set - local_resources_set for res_slug in outdated_resources: print "deleting outdated resource {}".format(res_slug) # it seems delete is currently not working on the new api # r = requests.delete('https://api.transifex.com/organizations/{}/projects/{}/resources/{}/'.format(organization_slug, project_slug, res_slug), auth=api_auth) r = requests.delete('https://www.transifex.com/api/2/project/{}/resource/{}/'.format(project_slug, res_slug), auth=api_auth)
remote_resources = [] while True: r = requests.get( 'https://api.transifex.com/organizations/{}/projects/{}/resources/?offset={}' .format(organization_slug, project_slug, offset), auth=api_auth) results = r.json() if len(results) == 0: break remote_resources.extend(results) offset += 100 remote_resources_set = set([res['slug'] for res in remote_resources]) local_resources_set = set( [res.split('.')[1] for res in prj.get_chosen_resources([])]) print "remote resources count: {}".format(len(remote_resources_set)) print "local resources count: {}".format(len(local_resources_set)) outdated_resources = remote_resources_set - local_resources_set for res_slug in outdated_resources: print "deleting outdated resource {}".format(res_slug) # it seems delete is currently not working on the new api # r = requests.delete('https://api.transifex.com/organizations/{}/projects/{}/resources/{}/'.format(organization_slug, project_slug, res_slug), auth=api_auth) r = requests.delete( 'https://www.transifex.com/api/2/project/{}/resource/{}/'.format( project_slug, res_slug), auth=api_auth)