Add get_all_lexicons
This commit is contained in:
parent
081a54c9c3
commit
46f7b54556
|
@ -1,4 +1,7 @@
|
||||||
from amanuensis.lexicon.admin import valid_name, create_lexicon
|
from amanuensis.lexicon.admin import (
|
||||||
|
valid_name,
|
||||||
|
create_lexicon,
|
||||||
|
load_all_lexicons)
|
||||||
from amanuensis.lexicon.gameloop import attempt_publish
|
from amanuensis.lexicon.gameloop import attempt_publish
|
||||||
from amanuensis.lexicon.setup import (
|
from amanuensis.lexicon.setup import (
|
||||||
player_can_join_lexicon,
|
player_can_join_lexicon,
|
||||||
|
@ -8,6 +11,7 @@ from amanuensis.lexicon.setup import (
|
||||||
__all__ = [member.__name__ for member in [
|
__all__ = [member.__name__ for member in [
|
||||||
valid_name,
|
valid_name,
|
||||||
create_lexicon,
|
create_lexicon,
|
||||||
|
load_all_lexicons,
|
||||||
attempt_publish,
|
attempt_publish,
|
||||||
player_can_join_lexicon,
|
player_can_join_lexicon,
|
||||||
add_player_to_lexicon,
|
add_player_to_lexicon,
|
||||||
|
|
|
@ -7,6 +7,7 @@ import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
from typing import Iterable
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from amanuensis.config import RootConfigDirectoryContext, AttrOrderedDict
|
from amanuensis.config import RootConfigDirectoryContext, AttrOrderedDict
|
||||||
|
@ -89,3 +90,15 @@ def create_lexicon(
|
||||||
logger.info(message)
|
logger.info(message)
|
||||||
|
|
||||||
return lexicon
|
return lexicon
|
||||||
|
|
||||||
|
|
||||||
|
def load_all_lexicons(
|
||||||
|
root: RootConfigDirectoryContext) -> Iterable[LexiconModel]:
|
||||||
|
"""
|
||||||
|
Iterably loads every lexicon in the config store
|
||||||
|
"""
|
||||||
|
model_factory: ModelFactory = ModelFactory(root)
|
||||||
|
with root.lexicon.read_index() as index:
|
||||||
|
for lid in index.values():
|
||||||
|
lexicon: LexiconModel = model_factory.lexicon(lid)
|
||||||
|
yield lexicon
|
||||||
|
|
|
@ -44,20 +44,6 @@ def delete_lexicon(lex, purge=False):
|
||||||
shutil.rmtree(lex_path)
|
shutil.rmtree(lex_path)
|
||||||
|
|
||||||
|
|
||||||
def get_all_lexicons():
|
|
||||||
"""
|
|
||||||
Loads each lexicon in the lexicon index
|
|
||||||
"""
|
|
||||||
# Get all the lexicon ids in the index
|
|
||||||
with json_ro('lexicon', 'index.json') as index:
|
|
||||||
lids = list(index.values())
|
|
||||||
|
|
||||||
# Load all of the lexicons
|
|
||||||
lexes = list(map(lambda id: LexiconModel.by(lid=id), lids))
|
|
||||||
|
|
||||||
return lexes
|
|
||||||
|
|
||||||
|
|
||||||
def get_user_lexicons(user):
|
def get_user_lexicons(user):
|
||||||
"""
|
"""
|
||||||
Loads each lexicon that the given user is a player in
|
Loads each lexicon that the given user is a player in
|
||||||
|
@ -111,4 +97,3 @@ def delete_character(lex, charname):
|
||||||
# Remove character from character list
|
# Remove character from character list
|
||||||
with json_rw(lex.config_path) as cfg:
|
with json_rw(lex.config_path) as cfg:
|
||||||
del cfg.character[char.cid]
|
del cfg.character[char.cid]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue