def __init__(self, manager, fid, name, size, filestatus, media, added, fileorder, url, pluginname, hash, status, error, package, owner): self.m = manager self.fid = int(fid) self._name = safe_filename(name) self._size = size self.filestatus = filestatus self.media = media self.added = added self.fileorder = fileorder self.url = url self.pluginname = pluginname self.hash = hash self.status = status self.error = error self.owner = owner self.packageid = package # database information ends here self.lock = ReadWriteLock() self.plugin = None self.waitUntil = 0 # time() + time to wait # status attributes self.abort = False self.reconnected = False self.statusname = None
def setName(self, name): """ Only set unicode or utf8 strings as name """ if type(name) == str: name = name.decode("utf8") name = safe_filename(name) # media type is updated if needed if self._name != name: self.media = guess_type(name) self._name = name
def addcrypted(): package = request.forms.get('referer', 'ClickAndLoad Package') dlc = request.forms['crypted'].replace(" ", "+") dlc_path = join(DL_ROOT, safe_filename(package) + ".dlc") dlc_file = open(dlc_path, "wb") dlc_file.write(dlc) dlc_file.close() try: PYLOAD.addPackage(package, [dlc_path], paused=True) except: return HTTPError() else: return "success\r\n"
def parseHeader(self): """parse data from received header""" for orgline in self.decodeResponse(self.header).splitlines(): line = orgline.strip().lower() if line.startswith("accept-ranges") and "bytes" in line: self.p.chunkSupport = True if "content-disposition" in line: m = re_filename.search(orgline.strip()) if m: name = safe_filename(m.groupdict()['name']).strip("\"' ") self.p._name = name self.log.debug("Content-Disposition: %s" % name) if not self.resume and line.startswith("content-length"): self.p._size = int(line.split(":")[1]) self.headerParsed = True