Exemple #1
0
def get_tags_info_from_tag_ids(tag_ids, keys_to_pluck=None, conn=None):

    if not keys_to_pluck:
        tags = list(r.expr(tag_ids).map(lambda tag_id: r.table(TagsCollection).get(tag_id)).run(conn))

    else:
        tags = list(
            r.expr(tag_ids).map(lambda tag_id: r.table(TagsCollection).get(tag_id).pluck(keys_to_pluck)).run(conn)
        )

    return tags
Exemple #2
0
def get_tags_info_from_tag_ids(tag_ids, keys_to_pluck=None, conn=None):

    if not keys_to_pluck:
        tags = list(
            r.expr(tag_ids).map(
                lambda tag_id: r.table(TagsCollection).get(tag_id)).run(conn))

    else:
        tags = list(
            r.expr(tag_ids).map(lambda tag_id: r.table(TagsCollection).get(
                tag_id).pluck(keys_to_pluck)).run(conn))

    return (tags)
def get_app_data_by_appids(appids,
                           table=AppsCollection,
                           fields_to_pluck=None,
                           conn=None):

    if fields_to_pluck and appids:
        apps = list(
            r.expr(appids).map(lambda app_id: r.table(table).get(app_id).pluck(
                fields_to_pluck)).run(conn))

    elif not fields_to_pluck and appids:
        apps = list(
            r.expr(appids).map(lambda app_id: r.table(table).get(app_id)).run(
                conn))

    return (apps)
    def get_sending_emails(self, notif_rules, conn=None):
        try:
            email_sender_list = []
            for notif in notif_rules:
                if notif[NotificationKeys.Group]:
                    users_list = (r.table(Collection.Groups).filter({
                        'name':
                        notif['group']
                    }).filter(lambda x: x['customer']['name'] == notif[
                        'customer_name']).map(lambda x: x['users']).run(conn))
                    if users_list:
                        users = map(lambda x: x['name'], user_list[0])
                        email_sender_list += (r.expr(users).map(
                            lambda user: r.table('users').get(user)).map(
                                lambda x: x['email']).run(conn))

                elif notif[NotificationKeys.User]:
                    email = (r.table(Collection.Users).get(
                        notif[NotificationKeys.User]).pluck(
                            UserKey.Email).run(conn))
                    if email:
                        email_sender_list.append(email[UserKey.Email])

        except Exception as e:
            logger.exception(e)

        return (email_sender_list)
def update_hidden_status(username,
                         customer_name,
                         uri,
                         method,
                         app_ids,
                         hidden='yes',
                         table=AppsCollection,
                         conn=None):
    if table == AppsCollection:
        CurrentAppsKey = AppsKey

    elif table == CustomAppsCollection:
        CurrentAppsKey = CustomAppsKey

    elif table == SupportedAppsCollection:
        CurrentAppsKey = SupportedAppsKey

    elif table == AgentAppsPerAgentCollection:
        CurrentAppsKey = AgentAppsKey

    try:
        if hidden == YES or hidden == NO:
            (r.expr(app_ids).for_each(lambda app_id: r.table(table).get(
                app_id).update({CurrentAppsKey.Hidden: hidden})).run(conn))
        elif hidden == 'toggle':
            for app_id in app_ids:
                toggled = (r.table(table).get(app_id).update({
                    CurrentAppsKey.Hidden:
                    (r.branch(r.row[CurrentAppsKey.Hidden] == YES, NO, YES))
                }).run(conn))

        results = (PackageResults(username, uri,
                                  method).toggle_hidden(app_ids, hidden))

    except Exception as e:
        logger.exception(e)
        results = (GenericResults(username, uri, method).something_broke(
            app_ids, 'toggle hidden on os_apps', e))

    return (results)