Example #1
0
def convert_nb(logger, source_info: "SourceInfo", con: SimpleSQLite,
               result_logger: ResultLogger, nb) -> Set[str]:
    changed_table_name_set = set()  # type: Set[str]
    changed_table_name_set |= CellConverter(logger, source_info, con,
                                            result_logger, nb.cells).convert()
    changed_table_name_set |= MetaDataConverter(logger, source_info, con,
                                                result_logger,
                                                nb.metadata).convert()

    table_name = KEY_VALUE_TABLE
    need_create_table = not con.has_table(table_name)
    kv_records = [[source_info.source_id, key,
                   nb.get(key)] for key in ("nbformat", "nbformat_minor")]

    if len(kv_records) > 0:
        con.create_table(
            table_name,
            [NbAttrDesc.SOURECE_ID, NbAttrDesc.KEY, NbAttrDesc.VALUE])
        con.insert_many(table_name, kv_records)

        result_logger.logging_success(
            "{}: {}".format(source_info.base_name, table_name), table_name,
            need_create_table)
        changed_table_name_set.add(table_name)

    con.commit()

    return changed_table_name_set
Example #2
0
class SimpleSqliteCilent(object):
    def __init__(self):
        self.con = SimpleSQLite("pandas_df.sqlite")

    def createTableWithDf(self, dataframe, tableName):
        self.con.create_table_from_dataframe(dataframe, tableName)

    def dropTable(self, tableName):
        self.con.drop_table(tableName)

    def createTableWithList(self, tableName, columns):
        self.con.create_table(tableName, columns)

    def insertOneRow(self, tableName, columns):
        self.con.insert(tableName, columns)

    """
       返回的是tuple形式的结果
    """

    def query(self, tableName, whereDict, operation="=", extra=None):
        print len(whereDict.keys())
        print "---------------"
        if len(whereDict.keys()) != 1:
            raise NotSupportParamError()
        return self.con.select(select="*", table_name=tableName,\
                 where=SqlQuery.make_where(key=whereDict.keys()[0], value=whereDict[whereDict.keys()[0]],operation=operation),extra=extra).fetchall()

    """
      根据where条件更新,目前仅支持1个条件
    """

    def update(self, tableName, set_queryDict, whereDict):
        print len(whereDict.keys())
        print "---------------"
        if len(whereDict.keys()) != 1:
            raise NotSupportParamError()

        set_queryStr = ""
        for setKey, setValue in set_queryDict.items():
            set_queryStr.join(setKey).join("=").join(setValue)

        return self.con.update(tableName,set_query ="", \
                                where=SqlQuery.make_where(key=whereDict.keys()[0], \
                                   value=whereDict[whereDict.keys()[0]])).fetchall()

    """
     插入字典值形式的记录
    """

    def insertMany(self, tableName, inert_dictList):
        self.con.insert_many(tableName, inert_dictList)
        ##pass

    def __del__(self):
        if self.con is not None:
            self.con.close()