diff --git a/google/refine/refine.py b/google/refine/refine.py index 331394e..215a8eb 100644 --- a/google/refine/refine.py +++ b/google/refine/refine.py @@ -40,9 +40,17 @@ REFINE_PORT = os.environ.get('GOOGLE_REFINE_PORT', '3333') class RefineServer(object): """Communicate with a Refine server.""" + @staticmethod + def url(): + """Return the URL to the Refine server.""" + server='http://%s' % REFINE_HOST + if REFINE_PORT != '80': + server += ':' + REFINE_PORT + return server + def __init__(self, server=None): if server is None: - server='http://%s:%s' % (REFINE_HOST, REFINE_PORT) + server=self.url() self.server = server[:-1] if server.endswith('/') else server def urlopen(self, command, data=None, project_id=None): diff --git a/tests/test_refine.py b/tests/test_refine.py index 4bb1944..ace02d7 100644 --- a/tests/test_refine.py +++ b/tests/test_refine.py @@ -17,8 +17,9 @@ from tests import refinetest class RefineServerTest(refinetest.RefineTestCase): def test_init(self): - self.assertEqual(self.server.server, - 'http://%s:%s' % (refine.REFINE_HOST, refine.REFINE_PORT)) + server_url = 'http://%s:%s' % (refine.REFINE_HOST, refine.REFINE_PORT) + self.assertEqual(self.server.server, server_url) + self.assertEqual(refine.RefineServer.url(), server_url) # strip trailing / server = refine.RefineServer('http://refine.example/') self.assertEqual(server.server, 'http://refine.example')