Code Duplication    Length = 15-15 lines in 2 locations

pyspider/database/basedb.py 2 locations

@@ 91-105 (lines=15) @@
88
            dbcur = self._execute(sql_query)
89
        return dbcur.lastrowid
90
91
    def _insert(self, tablename=None, **values):
92
        tablename = self.escape(tablename or self.__tablename__)
93
        if values:
94
            _keys = ", ".join((self.escape(k) for k in values))
95
            _values = ", ".join([self.placeholder, ] * len(values))
96
            sql_query = "INSERT INTO %s (%s) VALUES (%s)" % (tablename, _keys, _values)
97
        else:
98
            sql_query = "INSERT INTO %s DEFAULT VALUES" % tablename
99
        logger.debug("<sql: %s>", sql_query)
100
101
        if values:
102
            dbcur = self._execute(sql_query, list(itervalues(values)))
103
        else:
104
            dbcur = self._execute(sql_query)
105
        return dbcur.lastrowid
106
107
    def _update(self, tablename=None, where="1=0", where_values=[], **values):
108
        tablename = self.escape(tablename or self.__tablename__)
@@ 75-89 (lines=15) @@
72
        for row in dbcur:
73
            yield dict(zip(fields, row))
74
75
    def _replace(self, tablename=None, **values):
76
        tablename = self.escape(tablename or self.__tablename__)
77
        if values:
78
            _keys = ", ".join(self.escape(k) for k in values)
79
            _values = ", ".join([self.placeholder, ] * len(values))
80
            sql_query = "REPLACE INTO %s (%s) VALUES (%s)" % (tablename, _keys, _values)
81
        else:
82
            sql_query = "REPLACE INTO %s DEFAULT VALUES" % tablename
83
        logger.debug("<sql: %s>", sql_query)
84
85
        if values:
86
            dbcur = self._execute(sql_query, list(itervalues(values)))
87
        else:
88
            dbcur = self._execute(sql_query)
89
        return dbcur.lastrowid
90
91
    def _insert(self, tablename=None, **values):
92
        tablename = self.escape(tablename or self.__tablename__)