subdir_data#

用于管理 subdir 的 repodata.json 的工具。

#

SubdirDataType

PackageRecordList

惰性地将字典转换为 PackageRecord。

SubdirData

函数#

make_feature_record(feature_name)

属性#

REPODATA_PICKLE_VERSION = 30#
MAX_REPODATA_VERSION = 2#
REPODATA_HEADER_RE = b'"(_etag|_mod|_cache_control)":[ ]?"(.*?[^\\\\])"[,}\\s]'#
class SubdirDataType#

基类: type

__call__(channel, repodata_fn=REPODATA_FN)#

将自身作为函数调用。

class PackageRecordList(initlist=None)#

基类: collections.UserList

惰性地将字典转换为 PackageRecord。

__getitem__(i)#
class SubdirData(channel, repodata_fn=REPODATA_FN, RepoInterface=CondaRepoInterface)#
property _repo: conda.gateways.repodata.RepoInterface#

当我们改变 self.repodata_fn 时会发生变化。

property repo_cache: conda.gateways.repodata.RepodataCache#
property repo_fetch: conda.gateways.repodata.RepodataFetch#

用于获取 repodata 的对象。由于 self.repodata_fn 是可变的,因此不进行缓存。

替换 self._repo 和 self.repo_cache。

property cache_path_base#
property url_w_repodata_fn#
property cache_path_json#
property cache_path_state#

RepoInterface 所需的带外 etag 和其他状态。

property cache_path_pickle#
_cache_#
classmethod clear_cached_local_channel_data(exclude_file=True)#
static query_all(package_ref_or_match_spec, channels=None, subdirs=None, repodata_fn=REPODATA_FN)#
query(package_ref_or_match_spec)#
reload()#
load()#
iter_records()#
_iter_records_by_name(name)#
_load()#

尝试加载 repodata。例如,如果我们正在下载 current_repodata.json,则在前一个不可用时回退到 repodata.json

_pickle_me()#
_read_local_repodata(state: conda.gateways.repodata.RepodataState)#
_pickle_valid_checks(pickled_state, mod, etag)#

如果这些都不匹配,则丢弃 pickle。

_read_pickled(state: conda.gateways.repodata.RepodataState)#
_process_raw_repodata_str(raw_repodata_str, state: conda.gateways.repodata.RepodataState | None = None)#

State 包含先前在 raw_repodata_str 中的带内信息。

_process_raw_repodata(repodata: dict, state: conda.gateways.repodata.RepodataState | None = None)#
_get_base_url(repodata: dict, with_credentials: bool = True) str#

在 repodata_version=1 中,.tar.bz2 和 .conda 工件被假定为与 repodata.json 并置,在同一服务器和目录中。

在 repodata_version=2 中,repodata.json 文件可以定义一个 'base_url' 字段来覆盖该默认假设。有关更多详细信息,请参阅 CEP-15。

此方法处理这两种情况并返回适当的值。

make_feature_record(feature_name)#