Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
    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
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
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"
Esempio n. 8
0
    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
Esempio n. 9
0
    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
Esempio n. 10
0
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)
Esempio n. 11
0
def alias(text):
    chunks = _RE_ALIAS.split(purge.name(text))
    return "".join(word.capitalize() for word in chunks if word)
Esempio n. 12
0
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)
Esempio n. 13
0
def alias(text):
    chunks = _RE_ALIAS.split(purge.name(text))
    return ''.join(word.capitalize() for word in chunks if word)