Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
    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)
Example #5
0
    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'})
Example #6
0
 def get_project(project_pk):
     """Get project from API."""
     project_data = api_v2.project(project_pk).get()
     return APIProject(**project_data)