def __init__(self, manager, fid, name, size, filestatus, media, added, fileorder, url, pluginname, hash, status, error, package, owner): super(File, self).__init__() self.manager = manager self.pyload = manager.pyload self.fid = int(fid) self._name = purge.name(name) self._size = int(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 = RWLock() self.plugin = None self.wait_until = 0 # time.time() + time to wait # status attributes self.abort = False self.reconnected = False self.statusname = None
def __init__( self, manager, fid, name, size, filestatus, media, added, fileorder, url, pluginname, hash, status, error, package, owner): super(File, self).__init__() self.manager = manager self.pyload = manager.pyload self.fid = int(fid) self._name = purge.name(name) self._size = int(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 = RWLock() self.plugin = None self.wait_until = 0 # time.time() + time to wait # status attributes self.abort = False self.reconnected = False self.statusname = None
def set_name(self, name): """Only set unicode or utf8 strings as name.""" name = purge.name(name) # media type is updated if needed if self._name != name: self.media = guess_type(name) self._name = name
def set_path(self, filepath): path = fullpath(filepath) dirname, filename = os.path.split(path) filename = purge.name(filename) overflow = len(os.path.join(dirname, filename)) - self.PATH_MAXLEN if overflow > 0: name, ext = os.path.splitext(filename) name = purge.truncate(name, overflow) filename = name + ext self.path = os.path.join(dirname, filename)
def addcrypted(): package = request.forms.get('referer', 'ClickAndLoad Package') dlc = request.forms['crypted'].replace(" ", "+") dlc_path = os.path.join(DL_ROOT, purge.name(package) + ".dlc") with ulopen(dlc_path, mode='wb') as fp: fp.write(dlc) try: API.add_package(package, [dlc_path], paused=True) except Exception: return HTTPError() else: return "success\n"
def parse_header(self): """Parse data from received header.""" for orgline in self.decode_response(self.header).splitlines(): line = orgline.strip().lower() if line.startswith('accept-ranges') and 'bytes' in line: self.p.chunk_support = True if 'content-disposition' in line: m = self._RE_FILENAME.search(orgline.strip()) if m is not None: name = purge.name(m.groupdict()['name']) self.p._name = name self.log.debug('Content-Disposition: {0}'.format(name)) if not self.resume and line.startswith('content-length'): self.p._size = int(line.split(':')[1]) self.header_parsed = True
def name(text, strict=True): try: name = web.parse.name(text) except Exception: name = os.path.basename(text).strip() return name if strict else purge.name(name)
def alias(text): chunks = _RE_ALIAS.split(purge.name(text)) return "".join(word.capitalize() for word in chunks if word)
def alias(text): chunks = _RE_ALIAS.split(purge.name(text)) return ''.join(word.capitalize() for word in chunks if word)