Use relative imports in cogs (#49)
* [ChatterBot] Use relative imports * [Werewolf] Use relative imports * [Chatter] Use relative imports
This commit is contained in:
parent
2d3df8be89
commit
b11ee85bdd
@ -7,10 +7,10 @@ from redbot.core import Config
|
|||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
from redbot.core.data_manager import cog_data_path
|
from redbot.core.data_manager import cog_data_path
|
||||||
|
|
||||||
from chatter.chatterbot import ChatBot
|
from .chatterbot import ChatBot
|
||||||
from chatter.chatterbot.comparisons import levenshtein_distance
|
from .chatterbot.comparisons import levenshtein_distance
|
||||||
from chatter.chatterbot.response_selection import get_first_response
|
from .chatterbot.response_selection import get_first_response
|
||||||
from chatter.chatterbot.trainers import ListTrainer
|
from .chatterbot.trainers import ListTrainer
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
Cog: Any = getattr(commands, "Cog", object)
|
Cog: Any = getattr(commands, "Cog", object)
|
||||||
|
@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from chatter.chatterbot import utils
|
from . import utils
|
||||||
|
|
||||||
|
|
||||||
class ChatBot(object):
|
class ChatBot(object):
|
||||||
@ -11,7 +11,7 @@ class ChatBot(object):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, name, **kwargs):
|
def __init__(self, name, **kwargs):
|
||||||
from chatter.chatterbot.logic import MultiLogicAdapter
|
from .logic import MultiLogicAdapter
|
||||||
|
|
||||||
self.name = name
|
self.name = name
|
||||||
kwargs['name'] = name
|
kwargs['name'] = name
|
||||||
@ -136,7 +136,7 @@ class ChatBot(object):
|
|||||||
"""
|
"""
|
||||||
Learn that the statement provided is a valid response.
|
Learn that the statement provided is a valid response.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.conversation import Response
|
from .conversation import Response
|
||||||
|
|
||||||
if previous_statement:
|
if previous_statement:
|
||||||
statement.add_response(
|
statement.add_response(
|
||||||
|
@ -92,7 +92,7 @@ class SynsetDistance(Comparator):
|
|||||||
"""
|
"""
|
||||||
Download required NLTK corpora if they have not already been downloaded.
|
Download required NLTK corpora if they have not already been downloaded.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.utils import nltk_download_corpus
|
from .utils import nltk_download_corpus
|
||||||
|
|
||||||
nltk_download_corpus('corpora/wordnet')
|
nltk_download_corpus('corpora/wordnet')
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ class SynsetDistance(Comparator):
|
|||||||
"""
|
"""
|
||||||
Download required NLTK corpora if they have not already been downloaded.
|
Download required NLTK corpora if they have not already been downloaded.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.utils import nltk_download_corpus
|
from .utils import nltk_download_corpus
|
||||||
|
|
||||||
nltk_download_corpus('tokenizers/punkt')
|
nltk_download_corpus('tokenizers/punkt')
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ class SynsetDistance(Comparator):
|
|||||||
"""
|
"""
|
||||||
Download required NLTK corpora if they have not already been downloaded.
|
Download required NLTK corpora if they have not already been downloaded.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.utils import nltk_download_corpus
|
from .utils import nltk_download_corpus
|
||||||
|
|
||||||
nltk_download_corpus('corpora/stopwords')
|
nltk_download_corpus('corpora/stopwords')
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ class SynsetDistance(Comparator):
|
|||||||
"""
|
"""
|
||||||
from nltk.corpus import wordnet
|
from nltk.corpus import wordnet
|
||||||
from nltk import word_tokenize
|
from nltk import word_tokenize
|
||||||
from chatter.chatterbot import utils
|
from . import utils
|
||||||
import itertools
|
import itertools
|
||||||
|
|
||||||
tokens1 = word_tokenize(statement.text.lower())
|
tokens1 = word_tokenize(statement.text.lower())
|
||||||
@ -177,7 +177,7 @@ class SentimentComparison(Comparator):
|
|||||||
Download the NLTK vader lexicon for sentiment analysis
|
Download the NLTK vader lexicon for sentiment analysis
|
||||||
that is required for this algorithm to run.
|
that is required for this algorithm to run.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.utils import nltk_download_corpus
|
from .utils import nltk_download_corpus
|
||||||
|
|
||||||
nltk_download_corpus('sentiment/vader_lexicon')
|
nltk_download_corpus('sentiment/vader_lexicon')
|
||||||
|
|
||||||
@ -252,7 +252,7 @@ class JaccardSimilarity(Comparator):
|
|||||||
Download the NLTK wordnet corpora that is required for this algorithm
|
Download the NLTK wordnet corpora that is required for this algorithm
|
||||||
to run only if the corpora has not already been downloaded.
|
to run only if the corpora has not already been downloaded.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.utils import nltk_download_corpus
|
from .utils import nltk_download_corpus
|
||||||
|
|
||||||
nltk_download_corpus('corpora/wordnet')
|
nltk_download_corpus('corpora/wordnet')
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@ from sqlalchemy.ext.declarative import declared_attr, declarative_base
|
|||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
from sqlalchemy.sql import func
|
from sqlalchemy.sql import func
|
||||||
|
|
||||||
from chatter.chatterbot.constants import TAG_NAME_MAX_LENGTH, STATEMENT_TEXT_MAX_LENGTH
|
from ...constants import TAG_NAME_MAX_LENGTH, STATEMENT_TEXT_MAX_LENGTH
|
||||||
from chatter.chatterbot.conversation import StatementMixin
|
from ...conversation import StatementMixin
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.types import UnicodeString
|
from .types import UnicodeString
|
||||||
|
|
||||||
|
|
||||||
class ModelBase(object):
|
class ModelBase(object):
|
||||||
@ -72,8 +72,8 @@ class Statement(Base, StatementMixin):
|
|||||||
return [tag.name for tag in self.tags]
|
return [tag.name for tag in self.tags]
|
||||||
|
|
||||||
def get_statement(self):
|
def get_statement(self):
|
||||||
from chatter.chatterbot.conversation import Statement as StatementObject
|
from ...conversation import Statement as StatementObject
|
||||||
from chatter.chatterbot.conversation import Response as ResponseObject
|
from ...conversation import Response as ResponseObject
|
||||||
|
|
||||||
statement = StatementObject(
|
statement = StatementObject(
|
||||||
self.text,
|
self.text,
|
||||||
|
@ -2,8 +2,8 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.input import InputAdapter
|
from . import InputAdapter
|
||||||
|
|
||||||
|
|
||||||
class Gitter(InputAdapter):
|
class Gitter(InputAdapter):
|
||||||
|
@ -2,8 +2,8 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.input import InputAdapter
|
from . import InputAdapter
|
||||||
|
|
||||||
|
|
||||||
class HipChat(InputAdapter):
|
class HipChat(InputAdapter):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.adapters import Adapter
|
from ..adapters import Adapter
|
||||||
|
|
||||||
|
|
||||||
class InputAdapter(Adapter):
|
class InputAdapter(Adapter):
|
||||||
|
@ -2,8 +2,8 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.input import InputAdapter
|
from . import InputAdapter
|
||||||
|
|
||||||
|
|
||||||
class Mailgun(InputAdapter):
|
class Mailgun(InputAdapter):
|
||||||
|
@ -2,8 +2,8 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.input import InputAdapter
|
from . import InputAdapter
|
||||||
|
|
||||||
|
|
||||||
class Microsoft(InputAdapter):
|
class Microsoft(InputAdapter):
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.input import InputAdapter
|
from . import InputAdapter
|
||||||
from chatter.chatterbot.utils import input_function
|
from ..utils import input_function
|
||||||
|
|
||||||
|
|
||||||
class TerminalAdapter(InputAdapter):
|
class TerminalAdapter(InputAdapter):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.input import InputAdapter
|
from . import InputAdapter
|
||||||
|
|
||||||
|
|
||||||
class VariableInputTypeAdapter(InputAdapter):
|
class VariableInputTypeAdapter(InputAdapter):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.logic import LogicAdapter
|
from . import LogicAdapter
|
||||||
|
|
||||||
|
|
||||||
class BestMatch(LogicAdapter):
|
class BestMatch(LogicAdapter):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.adapters import Adapter
|
from ..adapters import Adapter
|
||||||
from chatter.chatterbot.utils import import_module
|
from ..utils import import_module
|
||||||
|
|
||||||
|
|
||||||
class LogicAdapter(Adapter):
|
class LogicAdapter(Adapter):
|
||||||
@ -18,8 +18,8 @@ class LogicAdapter(Adapter):
|
|||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super(LogicAdapter, self).__init__(**kwargs)
|
super(LogicAdapter, self).__init__(**kwargs)
|
||||||
from chatter.chatterbot.comparisons import levenshtein_distance
|
from ..comparisons import levenshtein_distance
|
||||||
from chatter.chatterbot.response_selection import get_first_response
|
from ..response_selection import get_first_response
|
||||||
|
|
||||||
# Import string module parameters
|
# Import string module parameters
|
||||||
if 'statement_comparison_function' in kwargs:
|
if 'statement_comparison_function' in kwargs:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.logic import BestMatch
|
from . import BestMatch
|
||||||
|
|
||||||
|
|
||||||
class LowConfidenceAdapter(BestMatch):
|
class LowConfidenceAdapter(BestMatch):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
from chatter.chatterbot.logic import LogicAdapter
|
from . import LogicAdapter
|
||||||
|
|
||||||
|
|
||||||
class MathematicalEvaluation(LogicAdapter):
|
class MathematicalEvaluation(LogicAdapter):
|
||||||
|
@ -2,8 +2,8 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
|
|
||||||
from chatter.chatterbot import utils
|
from .. import utils
|
||||||
from chatter.chatterbot.logic import LogicAdapter
|
from . import LogicAdapter
|
||||||
|
|
||||||
|
|
||||||
class MultiLogicAdapter(LogicAdapter):
|
class MultiLogicAdapter(LogicAdapter):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.logic import LogicAdapter
|
from . import LogicAdapter
|
||||||
|
|
||||||
|
|
||||||
class NoKnowledgeAdapter(LogicAdapter):
|
class NoKnowledgeAdapter(LogicAdapter):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.logic import LogicAdapter
|
from . import LogicAdapter
|
||||||
|
|
||||||
|
|
||||||
class SpecificResponseAdapter(LogicAdapter):
|
class SpecificResponseAdapter(LogicAdapter):
|
||||||
@ -16,7 +16,7 @@ class SpecificResponseAdapter(LogicAdapter):
|
|||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super(SpecificResponseAdapter, self).__init__(**kwargs)
|
super(SpecificResponseAdapter, self).__init__(**kwargs)
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
|
|
||||||
self.input_text = kwargs.get('input_text')
|
self.input_text = kwargs.get('input_text')
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from chatter.chatterbot.logic import LogicAdapter
|
from . import LogicAdapter
|
||||||
|
|
||||||
|
|
||||||
class TimeLogicAdapter(LogicAdapter):
|
class TimeLogicAdapter(LogicAdapter):
|
||||||
@ -81,7 +81,7 @@ class TimeLogicAdapter(LogicAdapter):
|
|||||||
return features
|
return features
|
||||||
|
|
||||||
def process(self, statement):
|
def process(self, statement):
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
|
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.output import OutputAdapter
|
from . import OutputAdapter
|
||||||
|
|
||||||
|
|
||||||
class Gitter(OutputAdapter):
|
class Gitter(OutputAdapter):
|
||||||
|
@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from chatter.chatterbot.output import OutputAdapter
|
from . import OutputAdapter
|
||||||
|
|
||||||
|
|
||||||
class HipChat(OutputAdapter):
|
class HipChat(OutputAdapter):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.output import OutputAdapter
|
from . import OutputAdapter
|
||||||
|
|
||||||
|
|
||||||
class Mailgun(OutputAdapter):
|
class Mailgun(OutputAdapter):
|
||||||
|
@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from chatter.chatterbot.output import OutputAdapter
|
from . import OutputAdapter
|
||||||
|
|
||||||
|
|
||||||
class Microsoft(OutputAdapter):
|
class Microsoft(OutputAdapter):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from chatter.chatterbot.adapters import Adapter
|
from ..adapters import Adapter
|
||||||
|
|
||||||
|
|
||||||
class OutputAdapter(Adapter):
|
class OutputAdapter(Adapter):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from chatter.chatterbot.output import OutputAdapter
|
from . import OutputAdapter
|
||||||
|
|
||||||
|
|
||||||
class TerminalAdapter(OutputAdapter):
|
class TerminalAdapter(OutputAdapter):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from chatter.chatterbot.storage import StorageAdapter
|
from . import StorageAdapter
|
||||||
|
|
||||||
|
|
||||||
class Query(object):
|
class Query(object):
|
||||||
@ -119,7 +119,7 @@ class MongoDatabaseAdapter(StorageAdapter):
|
|||||||
"""
|
"""
|
||||||
Return the class for the statement model.
|
Return the class for the statement model.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.conversation import Statement
|
from ..conversation import Statement
|
||||||
|
|
||||||
# Create a storage-aware statement
|
# Create a storage-aware statement
|
||||||
statement = Statement
|
statement = Statement
|
||||||
@ -131,7 +131,7 @@ class MongoDatabaseAdapter(StorageAdapter):
|
|||||||
"""
|
"""
|
||||||
Return the class for the response model.
|
Return the class for the response model.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.conversation import Response
|
from ..conversation import Response
|
||||||
|
|
||||||
# Create a storage-aware response
|
# Create a storage-aware response
|
||||||
response = Response
|
response = Response
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
from chatter.chatterbot.storage import StorageAdapter
|
from . import StorageAdapter
|
||||||
|
|
||||||
|
|
||||||
def get_response_table(response):
|
def get_response_table(response):
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Response
|
from ..ext.sqlalchemy_app.models import Response
|
||||||
return Response(text=response.text, occurrence=response.occurrence)
|
return Response(text=response.text, occurrence=response.occurrence)
|
||||||
|
|
||||||
|
|
||||||
@ -86,28 +86,28 @@ class SQLStorageAdapter(StorageAdapter):
|
|||||||
"""
|
"""
|
||||||
Return the statement model.
|
Return the statement model.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Statement
|
from ..ext.sqlalchemy_app.models import Statement
|
||||||
return Statement
|
return Statement
|
||||||
|
|
||||||
def get_response_model(self):
|
def get_response_model(self):
|
||||||
"""
|
"""
|
||||||
Return the response model.
|
Return the response model.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Response
|
from ..ext.sqlalchemy_app.models import Response
|
||||||
return Response
|
return Response
|
||||||
|
|
||||||
def get_conversation_model(self):
|
def get_conversation_model(self):
|
||||||
"""
|
"""
|
||||||
Return the conversation model.
|
Return the conversation model.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Conversation
|
from ..ext.sqlalchemy_app.models import Conversation
|
||||||
return Conversation
|
return Conversation
|
||||||
|
|
||||||
def get_tag_model(self):
|
def get_tag_model(self):
|
||||||
"""
|
"""
|
||||||
Return the conversation model.
|
Return the conversation model.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Tag
|
from ..ext.sqlalchemy_app.models import Tag
|
||||||
return Tag
|
return Tag
|
||||||
|
|
||||||
def count(self):
|
def count(self):
|
||||||
@ -379,14 +379,14 @@ class SQLStorageAdapter(StorageAdapter):
|
|||||||
"""
|
"""
|
||||||
Drop the database attached to a given adapter.
|
Drop the database attached to a given adapter.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Base
|
from ..ext.sqlalchemy_app.models import Base
|
||||||
Base.metadata.drop_all(self.engine)
|
Base.metadata.drop_all(self.engine)
|
||||||
|
|
||||||
def create(self):
|
def create(self):
|
||||||
"""
|
"""
|
||||||
Populate the database with the tables.
|
Populate the database with the tables.
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.ext.sqlalchemy_app.models import Base
|
from ..ext.sqlalchemy_app.models import Base
|
||||||
Base.metadata.create_all(self.engine)
|
Base.metadata.create_all(self.engine)
|
||||||
|
|
||||||
def _session_finish(self, session, statement_text=None):
|
def _session_finish(self, session, statement_text=None):
|
||||||
|
@ -2,8 +2,8 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from chatter.chatterbot import utils
|
from . import utils
|
||||||
from chatter.chatterbot.conversation import Statement, Response
|
from .conversation import Statement, Response
|
||||||
|
|
||||||
|
|
||||||
class Trainer(object):
|
class Trainer(object):
|
||||||
@ -127,7 +127,7 @@ class ChatterBotCorpusTrainer(Trainer):
|
|||||||
|
|
||||||
def __init__(self, storage, **kwargs):
|
def __init__(self, storage, **kwargs):
|
||||||
super(ChatterBotCorpusTrainer, self).__init__(storage, **kwargs)
|
super(ChatterBotCorpusTrainer, self).__init__(storage, **kwargs)
|
||||||
from chatter.chatterbot.corpus import Corpus
|
from .corpus import Corpus
|
||||||
|
|
||||||
self.corpus = Corpus()
|
self.corpus = Corpus()
|
||||||
|
|
||||||
|
@ -11,8 +11,16 @@ def import_module(dotted_path):
|
|||||||
import importlib
|
import importlib
|
||||||
|
|
||||||
module_parts = dotted_path.split('.')
|
module_parts = dotted_path.split('.')
|
||||||
|
if module_parts[:2] == ["chatter", "chatterbot"]:
|
||||||
|
# An import path starting with chatter.chatterbot means it comes from this
|
||||||
|
# package, and should be imported relatively.
|
||||||
|
package = __package__
|
||||||
|
module_parts = module_parts[2:]
|
||||||
|
module_parts[0] = "." + module_parts[0]
|
||||||
|
else:
|
||||||
|
package = None
|
||||||
module_path = '.'.join(module_parts[:-1])
|
module_path = '.'.join(module_parts[:-1])
|
||||||
module = importlib.import_module(module_path)
|
module = importlib.import_module(module_path, package=package)
|
||||||
|
|
||||||
return getattr(module, module_parts[-1])
|
return getattr(module, module_parts[-1])
|
||||||
|
|
||||||
@ -46,7 +54,7 @@ def validate_adapter_class(validate_class, adapter_class):
|
|||||||
|
|
||||||
:raises: Adapter.InvalidAdapterTypeException
|
:raises: Adapter.InvalidAdapterTypeException
|
||||||
"""
|
"""
|
||||||
from chatter.chatterbot.adapters import Adapter
|
from .adapters import Adapter
|
||||||
|
|
||||||
# If a dictionary was passed in, check if it has an import_path attribute
|
# If a dictionary was passed in, check if it has an import_path attribute
|
||||||
if isinstance(validate_class, dict):
|
if isinstance(validate_class, dict):
|
||||||
@ -128,7 +136,7 @@ def remove_stopwords(tokens, language):
|
|||||||
Stop words are words like "is, the, a, ..."
|
Stop words are words like "is, the, a, ..."
|
||||||
|
|
||||||
Be sure to download the required NLTK corpus before calling this function:
|
Be sure to download the required NLTK corpus before calling this function:
|
||||||
- from chatter.chatterbot.utils import nltk_download_corpus
|
- from chatterbot.utils import nltk_download_corpus
|
||||||
- nltk_download_corpus('corpora/stopwords')
|
- nltk_download_corpus('corpora/stopwords')
|
||||||
"""
|
"""
|
||||||
from nltk.corpus import stopwords
|
from nltk.corpus import stopwords
|
||||||
|
@ -8,9 +8,9 @@ import discord
|
|||||||
# Import all roles here
|
# Import all roles here
|
||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
|
|
||||||
from werewolf.roles.seer import Seer
|
from .roles.seer import Seer
|
||||||
from werewolf.roles.vanillawerewolf import VanillaWerewolf
|
from .roles.vanillawerewolf import VanillaWerewolf
|
||||||
from werewolf.roles.villager import Villager
|
from .roles.villager import Villager
|
||||||
from redbot.core.utils.menus import menu, prev_page, next_page, close_menu
|
from redbot.core.utils.menus import menu, prev_page, next_page, close_menu
|
||||||
|
|
||||||
# All roles in this list for iterating
|
# All roles in this list for iterating
|
||||||
|
@ -5,10 +5,10 @@ from typing import List, Any, Dict, Set, Union
|
|||||||
import discord
|
import discord
|
||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
|
|
||||||
from werewolf.builder import parse_code
|
from .builder import parse_code
|
||||||
from werewolf.player import Player
|
from .player import Player
|
||||||
from werewolf.role import Role
|
from .role import Role
|
||||||
from werewolf.votegroup import VoteGroup
|
from .votegroup import VoteGroup
|
||||||
|
|
||||||
|
|
||||||
class Game:
|
class Game:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from werewolf.role import Role
|
from .role import Role
|
||||||
|
|
||||||
|
|
||||||
def night_immune(role: Role):
|
def night_immune(role: Role):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from werewolf.night_powers import pick_target
|
from ..night_powers import pick_target
|
||||||
from werewolf.role import Role
|
from ..role import Role
|
||||||
|
|
||||||
|
|
||||||
class Seer(Role):
|
class Seer(Role):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from werewolf.night_powers import pick_target
|
from ..night_powers import pick_target
|
||||||
from werewolf.role import Role
|
from ..role import Role
|
||||||
|
|
||||||
|
|
||||||
class Shifter(Role):
|
class Shifter(Role):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from werewolf.role import Role
|
from ..role import Role
|
||||||
|
|
||||||
from werewolf.votegroups.wolfvote import WolfVote
|
from ..votegroups.wolfvote import WolfVote
|
||||||
|
|
||||||
|
|
||||||
class VanillaWerewolf(Role):
|
class VanillaWerewolf(Role):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from werewolf.role import Role
|
from ..role import Role
|
||||||
|
|
||||||
|
|
||||||
class Villager(Role):
|
class Villager(Role):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
from werewolf.votegroup import VoteGroup
|
from ..votegroup import VoteGroup
|
||||||
|
|
||||||
|
|
||||||
class WolfVote(VoteGroup):
|
class WolfVote(VoteGroup):
|
||||||
|
@ -5,8 +5,8 @@ from redbot.core import Config, checks
|
|||||||
from redbot.core.bot import Red
|
from redbot.core.bot import Red
|
||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
|
|
||||||
from werewolf.builder import GameBuilder, role_from_name, role_from_alignment, role_from_category, role_from_id
|
from .builder import GameBuilder, role_from_name, role_from_alignment, role_from_category, role_from_id
|
||||||
from werewolf.game import Game
|
from .game import Game
|
||||||
from redbot.core.utils.menus import menu, DEFAULT_CONTROLS
|
from redbot.core.utils.menus import menu, DEFAULT_CONTROLS
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user