Exemple #1
0
    def delete(self):
        """
        Delete application definition on Accelize web service.
        """
        if not self._configuration_id:
            raise RuntimeException(
                'Can only delete an application loaded with "from_id"')

        accelize_ws_session.request(
            f'/auth/objects/productconfiguration/{self._configuration_id}/',
            method='delete')
Exemple #2
0
 def push(self):
     """
     Push application definition on Accelize web service.
     """
     self._configuration_id = accelize_ws_session.request(
         '/auth/objects/productconfiguration/',
         data=dumps(self.to_dict()),
         method='post')['application']['configuration_id']
Exemple #3
0
    def list(prefix=''):
        """
        List available applications on Accelize web service.

        Args:
            prefix (str): Product ID prefix to filter.

        Returns:
            list of str: products.
        """
        return accelize_ws_session.request(
            '/auth/objects/productconfigurationlistproduct/',
            params=dict(
                product_id__startswith=prefix) if prefix else None)['results']
Exemple #4
0
    def list_versions(product_id, prefix=''):
        """
        List available applications on Accelize web service.

        Args:
            product_id (str): Product ID linked to the application.
            prefix (str): Version prefix to filter.

        Returns:
            list of str: versions.
        """
        params = dict(product_id=product_id)
        if prefix:
            params['version__startswith'] = prefix
        return accelize_ws_session.request(
            '/auth/objects/productconfigurationlistversion/',
            params=params)['results']
Exemple #5
0
    def _get_definition(application):
        """
        Load application from Accelize web service.

        Args:
            application (str): Application if format "product_id:version" or
                "product_id".

        Returns:
            dict: Raw definition from web service.
        """
        params = dict(limit=1)
        try:
            params['product_id'], params['version'] = application.split(':', 1)
        except ValueError:
            params['product_id'] = application
        return accelize_ws_session.request(
            '/auth/objects/productconfiguration/', params=params)['results'][0]