route_rules.gen
¤
Classes:
-
ArtifactMeta
– -
Builder
– -
Config
– -
Meta
– -
ProviderMeta
– -
RecipeMeta
– -
RecipeWrapper
–
Builder
¤
Parameters:
-
dist_dir
(Path
, default:PosixPath('dist')
) – -
exporters
(list[ExporterMihomo]
, default:[ExporterMihomo(behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.MRS: 'mrs'>, export_path_template='mihomo/{slug}.{behavior}{format.ext}'), ExporterMihomo(behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.TEXT: 'text'>, export_path_template='mihomo/{slug}.{behavior}{format.ext}'), ExporterMihomo(behavior=<Behavior.IPCIDR: 'ipcidr'>, format=<Format.MRS: 'mrs'>, export_path_template='mihomo/{slug}.{behavior}{format.ext}'), ExporterMihomo(behavior=<Behavior.IPCIDR: 'ipcidr'>, format=<Format.TEXT: 'text'>, export_path_template='mihomo/{slug}.{behavior}{format.ext}'), ExporterMihomo(behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.TEXT: 'text'>, export_path_template='mihomo/{slug}.{behavior}{format.ext}')]
) – -
recipes
(list[RecipeWrapper]
, default:<dynamic>
) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
Methods:
-
build
– -
build_recipe
– -
load
–
Attributes:
-
dist_dir
(Path
) – -
exporters
(list[ExporterMihomo]
) – -
recipes
(list[RecipeWrapper]
) –
exporters
class-attribute
instance-attribute
¤
exporters: list[ExporterMihomo] = field(
factory=_default_exporters
)
build
async
¤
build() -> None
Source code in src/route_rules/gen/_builder.py
42 43 44 45 46 |
|
build_recipe
async
¤
build_recipe(recipe: RecipeWrapper) -> RecipeMeta
Source code in src/route_rules/gen/_builder.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
|
load
classmethod
¤
Source code in src/route_rules/gen/_builder.py
34 35 36 37 38 39 40 |
|
Config
pydantic-model
¤
Bases: BaseModel
Parameters:
-
recipes
(list[RecipeConfig]
) –
Show JSON schema:
{
"$defs": {
"RecipeConfig": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"providers": {
"items": {
"type": "string"
},
"title": "Providers",
"type": "array"
}
},
"required": [
"name",
"providers"
],
"title": "RecipeConfig",
"type": "object"
}
},
"properties": {
"recipes": {
"items": {
"$ref": "#/$defs/RecipeConfig"
},
"title": "Recipes",
"type": "array"
}
},
"required": [
"recipes"
],
"title": "Config",
"type": "object"
}
Fields:
Meta
¤
Bases: Struct
Parameters:
-
build_time
(datetime
) – -
recipes
(list[RecipeMeta]
, default:<dynamic>
) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
Methods:
Attributes:
-
build_time
(datetime
) – -
recipes
(list[RecipeMeta]
) –
recipes
class-attribute
instance-attribute
¤
recipes: list[RecipeMeta] = field(default_factory=list)
json_decode
classmethod
¤
Source code in src/route_rules/gen/_meta.py
41 42 43 |
|
ProviderMeta
¤
RecipeMeta
¤
Bases: Struct
Parameters:
-
name
(str
) – -
slug
(str
) – -
artifacts
(list[ArtifactMeta]
, default:<dynamic>
) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
providers
(list[ProviderMeta]
, default:<dynamic>
) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
statistics
(RecipeStatistics
, default:<dynamic>
) –
Attributes:
-
artifacts
(list[ArtifactMeta]
) – -
name
(str
) – -
providers
(list[ProviderMeta]
) – -
slug
(str
) – -
statistics
(RecipeStatistics
) –
artifacts
class-attribute
instance-attribute
¤
artifacts: list[ArtifactMeta] = field(default_factory=list)
providers
class-attribute
instance-attribute
¤
providers: list[ProviderMeta] = field(default_factory=list)
RecipeWrapper
¤
Bases: Recipe
Parameters:
-
name
(str
) – -
providers
(list[str]
) – -
registry
(ProviderRegistry
, default:ProviderRegistry(registry={'blackmatrix7': ProviderMihomo(name='blackmatrix7', download_url_template='https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/{name}/{name}.list', preview_url_template='https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/{name}', _cache=LRUCache({}, maxsize=65536, currsize=0), behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.TEXT: 'text'>), 'dler-io': ProviderMihomo(name='dler-io', download_url_template='https://raw.githubusercontent.com/dler-io/Rules/main/Clash/Provider/{name}.yaml', preview_url_template='https://github.com/dler-io/Rules/blob/main/Clash/Provider/{name}.yaml', _cache=LRUCache({}, maxsize=65536, currsize=0), behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.YAML: 'yaml'>), 'MetaCubeX/geosite': ProviderMihomo(name='MetaCubeX/geosite', download_url_template='https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/{name}.yaml', preview_url_template='https://github.com/MetaCubeX/meta-rules-dat/blob/meta/geo/geosite/{name}.yaml', _cache=LRUCache({}, maxsize=65536, currsize=0), behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.YAML: 'yaml'>), 'SukkaW/classical': ProviderMihomo(name='SukkaW/classical', download_url_template='https://ruleset.skk.moe/Clash/{name}.txt', preview_url_template='https://ruleset.skk.moe/Clash/{name}.txt', _cache=LRUCache({}, maxsize=65536, currsize=0), behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.TEXT: 'text'>), 'SukkaW/domain': ProviderMihomo(name='SukkaW/domain', download_url_template='https://ruleset.skk.moe/Clash/{name}.txt', preview_url_template='https://ruleset.skk.moe/Clash/{name}.txt', _cache=LRUCache({}, maxsize=65536, currsize=0), behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.TEXT: 'text'>)})
) – -
slug
(str
, default:<dynamic>
) –
Methods:
-
build
– -
from_config
–
Attributes:
registry
class-attribute
instance-attribute
¤
registry: ProviderRegistry = field(
factory=presets, kw_only=True
)
slug
class-attribute
instance-attribute
¤
slug: str = field(
default=Factory(default_slug, takes_self=True),
kw_only=True,
)
build
async
¤
build() -> RuleSet
Source code in src/route_rules/core/_recipe.py
28 29 30 31 32 33 34 |
|