def db_get(self, table_name):
        """
        Get a table from the database
        Return a dict[run_id][ele] = Value
        TableName is eather e_tab _ae_tab 
        """
        l = {
            cond_sql_or(k, v)
            for k, v in (["ele_name", self.l_element_whe_want],
                         ["run_id", self.l_run_id])
        }

        sql_cmd_where = " AND ".join(l)

        cursor = c_row.execute("""SELECT *
                                    FROM {0}
                                   WHERE {1}
                               """.format(table_name, sql_cmd_where))

        from src.object import Energie
        d = defaultdict(dict)
        for r in cursor:
            e = r["energy"]
            err = r["err"] if r["err"] else 0

            d[r["run_id"]][r["ele_name"]] = Energie(e, err)

        return d
Example #2
0
    def db_get(self, table_name):
        """
        Get a table from the database
        Return a dict[run_id][ele] = Value
        TableName is eather e_tab _ae_tab 
        """
        l = {
            cond_sql_or(k, v)
            for k, v in (["ele_name", self.l_element_whe_want],
                         ["run_id", self.l_run_id])
        }

        sql_cmd_where = " AND ".join(l)

        cursor = c_row.execute("""SELECT *
                                    FROM {0}
                                   WHERE {1}
                               """.format(table_name, sql_cmd_where))

        from src.object import Energie
        d = defaultdict(dict)
        for r in cursor:
            e = r["energy"]
            err = r["err"] if r["err"] else 0

            d[r["run_id"]][r["ele_name"]] = Energie(e, err)

        return d
Example #3
0
    def db_list_element(self, run_id):
        """
        Get the element listed in a run_id
        """
        sql_cmd_where = cond_sql_or("run_id", [run_id])

        cursor = c_row.execute("""SELECT ele_name
                                    FROM run_tab_ele
                                   WHERE {0}
                               """.format(sql_cmd_where))

        l_ele = {i[0] for i in cursor}

        str_ = "No element in run_id: {0}"
        assert (l_ele), str_.format(run_id)

        return l_ele
Example #4
0
    def l_element(self):
        """
        Get the element from the databse
        """
        l = {
            cond_sql_or(k, v)
            for k, v in (["ele_name", self.l_element_whe_want],
                         ["run_id", self.l_run_id])
        }
        sql_cmd_where = " AND ".join(l)

        cursor = c_row.execute("""SELECT DISTINCT ele_name
                                             FROM run_tab_ele
                                            WHERE {0}
                               """.format(sql_cmd_where))

        return {i[0] for i in cursor.fetchall()}
    def db_list_element(self, run_id):
        """
        Get the element listed in a run_id
        """
        sql_cmd_where = cond_sql_or("run_id", [run_id])

        cursor = c_row.execute("""SELECT ele_name
                                    FROM run_tab_ele
                                   WHERE {0}
                               """.format(sql_cmd_where))

        l_ele = {i[0] for i in cursor}

        str_ = "No element in run_id: {0}"
        assert (l_ele), str_.format(run_id)

        return l_ele
    def l_element(self):
        """
        Get the element from the databse
        """
        l = {
            cond_sql_or(k, v)
            for k, v in (["ele_name", self.l_element_whe_want],
                         ["run_id", self.l_run_id])
        }
        sql_cmd_where = " AND ".join(l)

        cursor = c_row.execute("""SELECT DISTINCT ele_name
                                             FROM run_tab_ele
                                            WHERE {0}
                               """.format(sql_cmd_where))

        return {i[0] for i in cursor.fetchall()}
Example #7
0
    def d_run_info(self):
        "Return a dict in adecation with d_arguments"

        d_arg2db = self.d_arg_to_db
        d_arg2value = self.d_arguments

        l = d_arg2db.viewkeys() & d_arg2value.viewkeys()
        if l:
            l_cond_filter = [
                cond_sql_or(table_name=d_arg2db[k], l_value=d_arg2value[k])
                for k in l
            ]
        else:
            l_cond_filter = ["(1)"]

        sql_cmd_where = " AND ".join(l_cond_filter)

        # -#-#- #
        # S Q L #
        # -#-#- #
        cursor = c_row.execute("""SELECT run_id,
                                         method,
                                         basis,
                                         geo,
                                         comments
                                    FROM run_tab_expended
                                   WHERE {0}
                               """.format(sql_cmd_where))

        RunInfo = namedtuple('RunInfo', 'run_id, method, basis, geo, comments')

        d_run_info = dict()
        for emp in map(RunInfo._make, cursor.fetchall()):
            d_run_info[emp.run_id] = emp

        assert d_run_info, "No run_id with: {0}".format(sql_cmd_where)

        return d_run_info
    def d_run_info(self):
        "Return a dict in adecation with d_arguments"

        d_arg2db = self.d_arg_to_db
        d_arg2value = self.d_arguments

        l = d_arg2db.viewkeys() & d_arg2value.viewkeys()
        if l:
            l_cond_filter = [cond_sql_or(table_name=d_arg2db[k],
                                         l_value=d_arg2value[k]) for k in l]
        else:
            l_cond_filter = ["(1)"]

        sql_cmd_where = " AND ".join(l_cond_filter)

        # -#-#- #
        # S Q L #
        # -#-#- #
        cursor = c_row.execute("""SELECT run_id,
                                         method,
                                         basis,
                                         geo,
                                         comments
                                    FROM run_tab_expended
                                   WHERE {0}
                               """.format(sql_cmd_where))

        RunInfo = namedtuple('RunInfo', 'run_id, method, basis, geo, comments')

        d_run_info = dict()
        for emp in map(RunInfo._make, cursor.fetchall()):
            d_run_info[emp.run_id] = emp

        assert d_run_info, "No run_id with: {0}".format(sql_cmd_where)

        return d_run_info
Example #9
0
        line = "    ".join([atom, line_xyz])

        g09_file_format.append(line)
    g09_file_format.append("\n\n\n")

    return "\n".join(map(str, g09_file_format))


if __name__ == '__main__':

    arguments = docopt(__doc__, version='G2 Api ' + version)

    if arguments["list_geometries"]:

        if arguments["--ele"]:
            cond = cond_sql_or("ele_tab.name", arguments["--ele"])
            where = "AND".join(cond)
        else:
            where = '(1)'

        r = list_geo(where_cond=where)
        assert r, "No geometries for {0} elements".format(arguments["--ele"])
        print ", ".join(r)

    elif arguments["list_elements"]:

        if arguments['--geo']:

            cond = cond_sql_or("geo_tab.name", arguments["--geo"])
            where = "AND".join(str_)
        line_xyz = "    ".join(map(str, xyz)).replace("e", ".e")
        line = "    ".join([atom, line_xyz])

        g09_file_format.append(line)
    g09_file_format.append("\n\n\n")

    return "\n".join(map(str, g09_file_format))

if __name__ == '__main__':

    arguments = docopt(__doc__, version='G2 Api ' + version)

    if arguments["list_geometries"]:

        if arguments["--ele"]:
            cond = cond_sql_or("ele_tab.name", arguments["--ele"])
            where = "AND".join(cond)
        else:
            where = '(1)'

        r = list_geo(where_cond=where)
        assert r, "No geometries for {0} elements".format(arguments["--ele"])
        print ", ".join(r)

    elif arguments["list_elements"]:

        if arguments['--geo']:
    
            cond = cond_sql_or("geo_tab.name", arguments["--geo"])
            where = "AND".join(str_)