コード例 #1
0
 def __scheduleCommon(self, task):
     cur = self.con.cursor()
     cur.execute((
         "INSERT INTO tm_tasks(name, description, location, method, next_start, status, timeout) VALUES(%s, %s, %s, %s, "
         + uSysDB.nowfun + "(), 'u', %s)"),
                 (task.name, task.description, "%s:%s" % task.ref.to_db(),
                  task.method, task.timeout))
     return uSysDB.get_last_inserted_value(self.con, "tm_tasks")
コード例 #2
0
def _createResourceTypeChildren(con, rt_id):
    cur = con.cursor()
    cur.execute("INSERT INTO resource_types (owner_id, parent_id, class_id, restype_name, description, parent_path) SELECT rt.owner_id, rt.rt_id, rc.class_id, rc.friendly_name, rc.description, rt.parent_path" +
                uSysDB.ConcatOperator + "CAST(rt.rt_id AS varchar)" + uSysDB.ConcatOperator + "'x' FROM resource_types rt JOIN resource_classes rc ON (rc.parent_class_id = rt.class_id) WHERE rt.rt_id = %s", rt_id)
    new_rt_id = uSysDB.get_last_inserted_value(con, "resource_types")
    if new_rt_id != rt_id:  # something inserted
        cur.execute("SELECT rt_id FROM resource_types WHERE parent_id = %s", rt_id)
        for row in cur.fetchall():
            _createResourceTypeChildren(con, row[0])
コード例 #3
0
def __getInterfaceId(con, node):
    service_type = node.getAttribute("name")
    cur = con.cursor()
    cur.execute("SELECT interface_id FROM interfaces WHERE service_type = %s", service_type)
    row = cur.fetchone()
    if row:
        return row[0]

    cur.execute("INSERT INTO interfaces(service_type) VALUES (%s)", service_type)

    return uSysDB.get_last_inserted_value(con, "interfaces")
コード例 #4
0
def _registerBoolPropertyInPEM27(name, is_visible, defval):
    """This function is called for PEM 2.7 only."""
    import uSysDB
    con = uSysDB.connect()
    cur = con.cursor()
    cur.execute(
        "INSERT INTO confman_parameters (name, type, is_visible, user_id) VALUES (%s, %s, %s, %s)",
        (name, 0, int(is_visible), 1))
    prop_id = uSysDB.get_last_inserted_value(con, "confman_parameters")
    cur.execute(
        "INSERT INTO confman_bool_parameters (parameter_id, value, vlimit) VALUES (%s, %s, %s)",
        (prop_id, int(defval), -1))
コード例 #5
0
def _setComponentProperty(component_id, pkg_id, propname, propvalue, description, cname, con, b64key):
    cur = con.cursor()
    cur.execute("SELECT prop_id, protected FROM properties WHERE pkg_id = %s AND name = %s", (pkg_id, propname))

    row = cur.fetchone()

    value = propvalue
    protected = 'n'

    if row:
        prop_id, protected = row
    else:
        if propname == 'db_passwd' or propname == 'dsn_passwd' or propname == 'windows.admin.user.password':
            protected = 'y'
        else:
            protected = 'n'

        cur.execute("INSERT INTO properties (pkg_id, name, default_value, description, protected) VALUES(%s, %s, %s, %s, %s)",
                    (pkg_id, propname, value, description, protected))
        prop_id = uSysDB.get_last_inserted_value(con, "properties")

    if protected == 'y':
        value = uCrypt.encryptData(propvalue, b64key)

    cur.execute("SELECT value_id FROM component_properties WHERE component_id = %s AND prop_id = %s",
                (component_id, prop_id))

    row = cur.fetchone()
    if row:
        cur.execute("UPDATE property_values SET value = %s WHERE value_id = %s", (value, row[0]))
        uLogging.debug("Updating already existent value %d for %s property %s", row[0], cname, propname)
    else:
        uLogging.debug("Adding new value for %s property %s", cname, propname)
        cur.execute("INSERT INTO property_values(component_id, value) VALUES(%s, %s)", (component_id, value))
        value_id = uSysDB.get_last_inserted_value(con, "property_values")
        cur.execute("INSERT INTO component_properties(component_id, value_id, prop_id ) VALUES(%s, %s, %s)",
                    (component_id, value_id, prop_id))
コード例 #6
0
def createResourceType(con, parent_class, name, description):
    cur = con.cursor()
    cur.execute("SELECT class_id FROM resource_classes WHERE name= %s", parent_class)
    row = cur.fetchone()
    if not row:
        raise Exception("%s: no such resource class", parent_class)

    rc_id = row[0]

    cur.execute("INSERT INTO resource_types (owner_id, restype_name, description, class_id, parent_path, parent_id) SELECT 1, %s, %s, %s, 'x', -1  FROM dual WHERE NOT EXISTS   (SELECT 1 FROM    resource_types rt, resource_classes rc    WHERE rt.restype_name = %s  AND rt.parent_id = -1 AND rt.class_id = rc.class_id AND (rc.partible = 'n' OR (rc.partible = 'y' AND rt.system='n')))",
                name, description, rc_id, name)
    rt_id = uSysDB.get_last_inserted_value(con, "resource_types")

    _createResourceTypeChildren(con, rt_id)
    _fakeSubscribeOnRT(con, rt_id)

    return rt_id