def test_update_project(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel(name='Test Project Name', id=1234) test_updated_project_model = maproulette.ProjectModel( name='Test Updated Project Name') test_project_model_id = test_project_model.id mock_request.return_value.status_code = '200' response = api_instance.update_project(test_project_model_id, test_updated_project_model) self.assertEqual(response['status'], '200')
def test_update_project(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel(name='Test Project Name', id=1234) test_updated_project_name = 'Test Updated Project Name' test_updated_project_model = maproulette.ProjectModel( name=test_updated_project_name) test_project_model_id = test_project_model.id api_instance.update_project(test_project_model_id, test_updated_project_model) mock_request.assert_called_once_with( f'{self.url}/project/{test_project_model_id}', json={'name': test_updated_project_name}, params=None)
def test_get_random_tasks(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel(name='Test Project Name', id=1234) test_project_id = test_project_model.id mock_request.return_value.status_code = '200' response = api_instance.get_random_tasks(test_project_id) self.assertEqual(response['status'], '200')
def test_create_project(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel( name='Test_Project_Name', description='This is a test project') api_instance.create_project(test_project_model) mock_request.assert_called_once_with(f'{self.url}/project', json=test_project, params=None)
def test_delete_project(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel(name='Test Project Name', id=1234) test_project_id = test_project_model.id api_instance.delete_project(test_project_id) mock_request.assert_called_once_with( f'{self.url}/project/{test_project_id}', params=None)
def test_add_challenge_to_project(self, mock_request, api_instance=api): test_virtual_project_model = maproulette.ProjectModel( name='Test Virtual Project Name', id=1234) test_challenge_model = maproulette.ChallengeModel( name='Test Challenge Name', id=246) test_virtual_project_id = test_virtual_project_model.id test_challenge_id = test_challenge_model.id mock_request.return_value.status_code = '200' response = api_instance.add_challenge_to_project( test_virtual_project_id, test_challenge_id) self.assertEqual(response['status'], '200')
def test_get_random_tasks(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel(name='Test Project Name', id=1234) test_project_id = test_project_model.id api_instance.get_random_tasks(test_project_id) mock_request.assert_called_once_with( f'{self.url}/project/{test_project_id}/tasks', params={ 'limit': '1', 'proximity': '-1', 'search': '' })
def test_add_challenge_to_project(self, mock_request, api_instance=api): test_virtual_project_model = maproulette.ProjectModel( name='Test Virtual Project Name', id=1234) test_challenge_model = maproulette.ChallengeModel( name='Test Challenge Name', id=246) test_virtual_project_id = test_virtual_project_model.id test_challenge_id = test_challenge_model.id api_instance.add_challenge_to_project(test_virtual_project_id, test_challenge_id) mock_request.assert_called_once_with( f'{self.url}/project/{test_virtual_project_id}/challenge/{test_challenge_id}/add', json=None, params=None)
# Create an API object using your config object api = maproulette.Project(config) # We can fetch a project using the name 'Health Facilities in India': my_project_name = 'Health Facilities in India' # Print the API response print(json.dumps(api.find_project(my_project_name), indent=4, sort_keys=True)) # We can also fetch a project using the project ID: my_project_id = '4719' # Print the API response print( json.dumps(api.get_project_by_id(my_project_id), indent=4, sort_keys=True)) # We can access the project's challenges as well: print( json.dumps(api.get_project_challenges(my_project_id), indent=4, sort_keys=True)) # If we want to create a new project, we can use the Project Model: my_project = maproulette.ProjectModel(name='my_new_project_name_20200120_abc') # You can set other parameters like your project description like this: my_project.description = 'my project description' # Print the API response print(json.dumps(api.create_project(my_project), indent=4, sort_keys=True))
def test_create_project(self, mock_request, api_instance=api): test_project_model = maproulette.ProjectModel( name='Test_Project_Name', description='This is a test project') mock_request.return_value.status_code = '200' response = api_instance.create_project(test_project_model) self.assertEqual(response['status'], '200')
for line in doc: line = line.decode() if '|' not in line: continue category, tags, preset = line.split('|') presets[category.strip()] = preset.strip() print("For category", category.strip(), "use preset", preset[:50].strip()) config = maproulette.Configuration(api_key=os.getenv("MR_API_KEY")) proj_api = maproulette.Project(config) proj_name = "Santa Clara County Social distancing protocol import" try: data = proj_api.get_project_by_name(proj_name)["data"] proj = maproulette.ProjectModel(name=data["name"], id=data["id"]) existing = True print("Using existing project ID", proj.id) except maproulette.api.errors.NotFoundError: proj = maproulette.ProjectModel(name=proj_name) existing = False print("Creating new project") if not existing: proj.description = """Importing business facilities based on [social distancing protocols](https://sdp.sccgov.org/) that business owners have filed with the [Santa Clara County Public Health Department](https://en.wikipedia.org/wiki/Santa_Clara_County_Public_Health_Department) under [COVID-19](https://en.wikipedia.org/wiki/COVID-19_pandemic_in_the_San_Francisco_Bay_Area) public health orders. See the [proposal on the OpenStreetMap wiki](https://wiki.openstreetmap.org/wiki/Santa_Clara_County,_California/Social_distancing_protocol_import) for more information.""" data = proj_api.create_project(proj)["data"] proj = maproulette.ProjectModel(name=data["name"], id=data["id"]) print("Created project ID", proj.id) challenges = proj_api.get_project_challenges(proj.id,