Exemple #1
0
class ContentView(ContentViewAPI):
    task_api = TaskStatusAPI()

    def __init__(self):
        super(ContentView, self).__init__()

    def delete(self, org, cvId):
        return super(ContentView, self).delete(org['label'], cvId)

    def content_view(self, org, cvId, envId=None):
        return super(ContentView, self).show(org['label'], cvId, envId)

    def content_views_by_org(self, org, env=None):
        return super(ContentView, self).content_views_by_org(org['label'], env)


    def content_views_by_label_name_or_id(self, org, label=None, name=None, cvId=None):
        return super(ContentView, self).views_by_label_name_or_id(org['label'], label, name, cvId)[0]


    def refresh(self, cvId):

        ptask = super(ContentView, self).refresh(cvId)

        task = self.task_api.status(ptask['uuid'])
        while task['state'] != 'finished':
            print "Publishing content view description %s" % name
            task = self.task_api.status(ptask['uuid'])
Exemple #2
0
def wait_for_task(task_uuid):
    "Waits for a task to complete, error out or timeout"

    task_api = TaskStatusAPI()

    for i in range(MAX_ATTEMPTS):

        task = task_api.status(task_uuid)
        logger.debug(task)

        if not task['pending?']:
            break

        logger.info("Waiting for task...")
        time.sleep(REQUEST_DELAY)
    else:
        task = None

    return task
Exemple #3
0
def wait_for_task(task_uuid):
    "Waits for a task to complete, error out or timeout"

    task_api = TaskStatusAPI()

    for i in range(MAX_ATTEMPTS):

        task = task_api.status(task_uuid)
        logger.debug(task)

        if not task['pending?']:
            break

        logger.info("Waiting for task...")
        time.sleep(REQUEST_DELAY)
    else:
        task = None

    return task
Exemple #4
0
class Changeset(ChangesetAPI):
    task_api = TaskStatusAPI()

    def __init__(self):
        super(Changeset, self).__init__()

    def create(self,
               org,
               env,
               name=None,
               type_in='promotion',
               description=None):

        if name is None:
            name = generate_name(8)

        if description is None:
            description = "Promoted on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        return super(Changeset, self).create(org['label'], env['id'], name,
                                             type_in, description)

    def changeset_by_name(self, org, env, name):
        return super(Changeset,
                     self).changeset_by_name(org['label'], env['id'], name)

    def add_content(self, chsId, content, contentType='content_views'):
        return super(Changeset,
                     self).add_content(chsId, contentType,
                                       {'content_view_id': content['id']})

    def apply(self, chsId):
        applyTask = super(Changeset, self).apply(chsId)

        task = self.task_api.status(applyTask['uuid'])

        for i in range(MAX_ATTEMPTS):
            task = self.task_api.status(applyTask['uuid'])

            if task['state'] == 'finished' or task['state'] == 'error':
                break

            logger.info("Promoting content...")
            logger.debug(task['state'])
            time.sleep(REQUEST_DELAY)
        else:
            task = None

        return task
Exemple #5
0
class Changeset():
    task_api = TaskStatusAPI()
    api = ChangesetAPI()

    def create(self, org, env, name=None, type_in='promotion', description=None):

        if name is None:
            name = generate_name(8)

        if description is None:
            description = "Promoted on %s" % datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")

        return self.api.create(org['label'], env['id'], name, type_in, description)


    def delete(self, chsId):
        return self.api.delete(chsId)

    
    def changeset(self, chsId):
        return self.api.changeset(chsId)


    def changeset_by_name(self, org, env, name):
        return self.api.changeset_by_name(org['label'], env['id'], name)


    def add_content(self, chsId, content, contentType='content_views'):
        return self.api.add_content(chsId, contentType, {'content_view_id' : content['id'] })


    def apply(self, chsId):
        applyTask = self.api.apply(chsId)

        task = self.task_api.status(applyTask['uuid'])
        while task['state'] != 'finished':
            print "Promoting content..."
            task = self.task_api.status(applyTask['uuid'])
Exemple #6
0
 def __init__(self):
     super(TaskAction, self).__init__()
     self.api = TaskStatusAPI()
Exemple #7
0
 def status_api(self):
     return TaskStatusAPI()
class ContentViewDefinition():
    task_api = TaskStatusAPI()
    api = ContentViewDefinitionAPI()

    def create_content_view_definition(self,
                                       org,
                                       name=None,
                                       label=None,
                                       description=None,
                                       composite=False):

        if name is None:
            name = generate_name(8)

        if label is None:
            label = "label-%s" % name.lower()

        if description is None:
            description = "Created on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        return self.api.create(org['label'], name, label, description,
                               composite)

    def delete_content_view_definition(self, cvdId):
        return self.api.delete(cvdId)

    def content_view_definition(self, org, cvdId):
        return self.api.show(org['label'], cvdId)

    def content_view_definitions_by_org(self, org):
        return self.api.content_view_definitions_by_org(org['label'])

    def publish(self, org, cvdId, name=None, label=None, description=None):

        if name is None:
            name = generate_name(8)

        if label is None:
            label = "label-%s" % name.lower()

        if description is None:
            description = "Published on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        ptask = self.api.publish(org['label'], cvdId, name, label, description)

        task = self.task_api.status(ptask['uuid'])
        while task['state'] != 'finished':
            print "Publishing content view description %s" % name
            task = self.task_api.status(ptask['uuid'])

    def clone(self, org, cvdId, name=None, label=None, description=None):

        if name is None:
            name = generate_name(8)

        if label is None:
            label = "label-%s" % name.lower()

        if description is None:
            description = "Cloned on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        return self.api.clone(org['label'], cvdId, name, label, description)

    def update_products(self, org, cvdId, prd):
        return self.api.update_products(org['label'], cvdId, [prd['id']])

    def products(self, org, cvdId):
        return self.api.products(org['label'], cvdId)
Exemple #9
0
 def status_api(cls):
     return TaskStatusAPI()
class ContentViewDefinition(ContentViewDefinitionAPI):
    task_api = TaskStatusAPI()

    def __init__(self):
        super(ContentViewDefinition, self).__init__()

    def create(self,
               org,
               name=None,
               label=None,
               description=None,
               composite=False):

        if name is None:
            name = generate_name(8)

        if label is None:
            label = "label-%s" % name.lower()

        if description is None:
            description = "Created on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        return super(ContentViewDefinition,
                     self).create(org['label'], name, label, description,
                                  composite)

    def content_view_definition(self, org, cvdId):
        return super(ContentViewDefinition, self).show(org['label'], cvdId)

    def content_view_definitions_by_org(self, org):
        return super(ContentViewDefinition,
                     self).content_view_definitions_by_org(org['label'])

    def publish(self, org, cvdId, name=None, label=None, description=None):

        if name is None:
            name = generate_name(8)

        if label is None:
            label = "label-%s" % name.lower()

        if description is None:
            description = "Published on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        ptask = super(ContentViewDefinition,
                      self).publish(org['label'], cvdId, name, label,
                                    description)

        task = self.task_api.status(ptask['uuid'])

        for i in range(MAX_ATTEMPTS):
            task = self.task_api.status(ptask['uuid'])

            if task['state'] == 'finished' or task['state'] == 'error':
                break

            logger.info("Publishing content view description %s" % name)
            logger.debug(task['state'])
            time.sleep(REQUEST_DELAY)
        else:
            task = None

        return task

    def clone(self, org, cvdId, name=None, label=None, description=None):

        if name is None:
            name = generate_name(8)

        if label is None:
            label = "label-%s" % name.lower()

        if description is None:
            description = "Cloned on %s" % datetime.datetime.now().strftime(
                "%Y-%m-%d-%H-%M-%S")

        return super(ContentViewDefinition,
                     self).clone(org['label'], cvdId, name, label, description)

    def update_products(self, org, cvdId, prd):
        return super(ContentViewDefinition,
                     self).update_products(org['label'], cvdId, [prd['id']])

    def products(self, org, cvdId):
        return super(ContentViewDefinition, self).products(org['label'], cvdId)