def setName(self, name): """ Only set unicode or utf8 strings as name """ if type(name) == str: name = name.decode("utf8") # media type is updated if needed if self._name != name: self.media = guess_type(name) self._name = name
def updateLinkInfo(self, data): """ data is list of tuples (name, size, status,[ hash,] url)""" # inserts media type as n-1th arguments data = [t[:-1] + (guess_type(t[0]), t[-1]) for t in data] # status in (NA, Offline, Online, Queued, TempOffline) if data and len(data[0]) == 5: self.c.executemany( 'UPDATE files SET name=?, size=?, dlstatus=?, media=? WHERE url=? AND dlstatus IN (0,1,2,3,11)', data) else: self.c.executemany( 'UPDATE files SET name=?, size=?, dlstatus=?, hash=?, media=? WHERE url=? AND dlstatus IN (0,1,2,3,11)', data)