def queryOrInsertMedia(self, media, userId): d = database.dbQuery(('mediaId',) , 'Media', type=media['type'], id=media['id']) d.addCallback(database.queryResult) values = (None, media['type'], media['id'], media['seconds'], media['title'], userId, 0) d.addErrback(database.dbInsertReturnLastRow, 'Media', *values) return d
def requestSongById(mType, mId, songId, userId, timeNow, method): """ Returns a deferred of Vocadb data of Song songId""" # check Song table to see if it's already saved ##if not, request data from VocaDB # UPDATE (or add) row in MediaSong table d = database.dbQuery(("data",), "Song", songId=songId) d.addCallback(database.queryResult) d.addErrback(requestApiBySongId, songId, timeNow) # res is (body, songId) d.addCallbacks(database.insertMediaSong, apiError, (mType, mId, songId, userId, timeNow, method)) d.addErrback(ignoreErr) return d
def queryOrAddUser(self, nickname, username, host): clog.debug('(queryOrAddUser) Quering %s:%s:%s' % (nickname, username, host), sys) d = database.dbQuery(('userId', 'flag'), 'ircUser', nickLower=nickname.lower(), username=username, host=host) d.addCallback(database.queryResult) values = (None, nickname.lower(), username, host, nickname, 0) d.addErrback(database.dbInsertReturnLastRow, 'ircUser', *values) clog.debug('(queryOrAddUser) Adding %s' % username, sys) d.addErrback(self.dbErr) d.addCallback(self.cacheKey, nickname) d.addErrback(self.dbErr) return d
def requestSongById(mType, mId, songId, userId, timeNow, method): """ Returns a deferred of Vocadb data of Song songId""" # check Song table to see if it's already saved ##if not, request data from VocaDB # UPDATE (or add) row in MediaSong table d = database.dbQuery(('data', ), 'Song', songId=songId) d.addCallback(database.queryResult) d.addErrback(requestApiBySongId, songId, timeNow) # res is (body, songId) d.addCallbacks(database.insertMediaSong, apiError, (mType, mId, songId, userId, timeNow, method)) d.addErrback(ignoreErr) return d
def userJoin(self, user, timeNow): user['keyId'] = None user['timeJoined'] = timeNow self.userdict[user['name']] = user reg = self.checkRegistered(user['name']) d = database.dbQuery(('userId', 'flag', 'lastSeen'), 'cyUser', nameLower=user['name'].lower(), registered=reg) d.addCallback(database.queryResult) values = (None, user['name'].lower(), reg, user['name'], 0, 0, timeNow, timeNow, 0) d.addErrback(database.dbInsertReturnLastRow, 'cyUser', *values) d.addCallback(self.cacheKey, user) # add a reference to the deferred to the userdict self.userdict[user['name']]['deferred'] = d
def queryOrAddUser(self, nickname, username, host): clog.debug( '(queryOrAddUser) Quering %s:%s:%s' % (nickname, username, host), sys) d = database.dbQuery(('userId', 'flag'), 'ircUser', nickLower=nickname.lower(), username=username, host=host) d.addCallback(database.queryResult) values = (None, nickname.lower(), username, host, nickname, 0) d.addErrback(database.dbInsertReturnLastRow, 'ircUser', *values) clog.debug('(queryOrAddUser) Adding %s' % username, sys) d.addErrback(self.dbErr) d.addCallback(self.cacheKey, nickname) d.addErrback(self.dbErr) return d