def handle(self, *args, **options): docker = options.get('docker', False) for slug in options['projects']: project_data = api.project(slug).get() p = APIProject(**project_data) log.info("Building %s", p) tasks.update_docs.run(pk=p.pk, docker=docker)
def handle(self, *args, **options): docker = options.get('docker', False) for slug in options['projects']: project_data = api.project(slug).get() p = APIProject(**project_data) log.info("Building %s", p) # pylint: disable=no-value-for-parameter tasks.update_docs_task(p.pk, docker=docker)
def __init__(self, *args, **kwargs): self.project = APIProject(**kwargs.pop('project', {})) # These fields only exist on the API return, not on the model, so we'll # remove them to avoid throwing exceptions due to unexpected fields for key in ['resource_uri', 'absolute_url', 'downloads']: try: del kwargs[key] except KeyError: pass super().__init__(*args, **kwargs)
def test_init_api_project(self): project_data = { 'name': 'Test Project', 'slug': 'test-project', 'show_advertising': True, } api_project = APIProject(**project_data) self.assertEqual(api_project.slug, 'test-project') self.assertEqual(api_project.features, []) self.assertFalse(api_project.ad_free) self.assertTrue(api_project.show_advertising) project_data['features'] = ['test-feature'] project_data['show_advertising'] = False api_project = APIProject(**project_data) self.assertEqual(api_project.features, ['test-feature']) self.assertTrue(api_project.ad_free) self.assertFalse(api_project.show_advertising)
def test_init_api_project(self): project_data = { 'name': 'Test Project', 'slug': 'test-project', 'show_advertising': True, } api_project = APIProject(**project_data) self.assertEqual(api_project.slug, 'test-project') self.assertEqual(api_project.features, []) self.assertFalse(api_project.ad_free) self.assertTrue(api_project.show_advertising) self.assertEqual(api_project.environment_variables, {}) project_data['features'] = ['test-feature'] project_data['show_advertising'] = False project_data['environment_variables'] = {'TOKEN': 'a1b2c3'} api_project = APIProject(**project_data) self.assertEqual(api_project.features, ['test-feature']) self.assertTrue(api_project.ad_free) self.assertFalse(api_project.show_advertising) self.assertEqual(api_project.environment_variables, {'TOKEN': 'a1b2c3'})
def get_project(project_pk): """Get project from API.""" project_data = api_v2.project(project_pk).get() return APIProject(**project_data)