diff --git a/google/refine/refine.py b/google/refine/refine.py index 13a70af..a86d250 100644 --- a/google/refine/refine.py +++ b/google/refine/refine.py @@ -221,7 +221,11 @@ class RefineProject: if not isinstance(server, RefineServer): if '/project?project=' in server: server, project_id = server.split('/project?project=') - server = RefineServer(server) + server = RefineServer(server) + elif re.match(r'\d+$', server): # just digits => project ID + server, project_id = RefineServer(), server + else: + server = RefineServer(server) self.server = server if not project_id: raise Exception('Missing Refine project ID') diff --git a/tests/test_refine_small.py b/tests/test_refine_small.py index d263eb0..bb459e6 100644 --- a/tests/test_refine_small.py +++ b/tests/test_refine_small.py @@ -63,6 +63,9 @@ class RefineProjectTest(unittest.TestCase): p = RP('http://server/varnish/project?project=1658955153749') self.assertEqual(p.server.server, 'http://server/varnish') self.assertEqual(p.project_id, '1658955153749') + p = RP('1658955153749') + self.assertEqual(p.server.server, 'http://127.0.0.1:3333') + self.assertEqual(p.project_id, '1658955153749') def tearDown(self): # Restore mocked get_models