Moved project structure to javelina/
Test / build (push) Successful in 27s

This commit is contained in:
2025-07-28 01:32:38 +02:00
Verified
parent d804d6eb75
commit 48f24c3a6b
68 changed files with 114 additions and 111 deletions
-1
View File
@@ -1 +0,0 @@
from . import auth, health, user, admin
+1 -1
View File
@@ -2,7 +2,7 @@ import logging
from argparse import ArgumentParser
from logging import Logger
from modules.migrator import migrate_database
from javelina.modules.migrator import migrate_database
logger: Logger = logging.getLogger(__name__)
+4 -5
View File
@@ -1,15 +1,14 @@
from logging import Logger
from urllib.parse import urljoin
from fastapi_discord import DiscordOAuthClient
from fastapi_discord import RateLimited, Unauthorized
from fastapi_discord import DiscordOAuthClient, RateLimited, Unauthorized
from fastapi_discord.exceptions import ClientSessionNotInitialized
from libbot.utils import config_get
from starlette.responses import JSONResponse
from classes.fastapi import FastAPI
from modules.utils.router_loader import run_router_setups
from modules.utils import get_logger
from javelina.classes.fastapi import FastAPI
from javelina.modules.utils import get_logger
from javelina.modules.utils.router_loader import run_router_setups
logger: Logger = get_logger(__name__)
+1
View File
@@ -0,0 +1 @@
from . import admin, auth, health, user
@@ -1,13 +1,13 @@
from logging import Logger
from fastapi import HTTPException, status, APIRouter
from fastapi import APIRouter, HTTPException, status
from fastapi.responses import JSONResponse
from starlette.requests import Request
from classes import PycordGuild
from classes.errors import GuildNotFoundError
from classes.fastapi import FastAPI
from modules.utils import get_logger
from javelina.classes import PycordGuild
from javelina.classes.errors import GuildNotFoundError
from javelina.classes.fastapi import FastAPI
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -1,13 +1,13 @@
from logging import Logger
from fastapi import HTTPException, status, APIRouter
from fastapi import APIRouter, HTTPException, status
from fastapi.responses import JSONResponse
from starlette.requests import Request
from classes import PycordUser
from classes.errors import UserNotFoundError
from classes.fastapi import FastAPI
from modules.utils import get_logger
from javelina.classes import PycordUser
from javelina.classes.errors import UserNotFoundError
from javelina.classes.fastapi import FastAPI
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -1,13 +1,13 @@
from logging import Logger
from fastapi import HTTPException, status, APIRouter
from fastapi import APIRouter, HTTPException, status
from fastapi.responses import JSONResponse
from starlette.requests import Request
from classes.errors import WalletNotFoundError
from classes.fastapi import FastAPI
from classes.wallet import Wallet
from modules.utils import get_logger
from javelina.classes.errors import WalletNotFoundError
from javelina.classes.fastapi import FastAPI
from javelina.classes.wallet import Wallet
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -3,9 +3,9 @@ from logging import Logger
from fastapi import APIRouter
from starlette.responses import JSONResponse
from api.app import discord_oauth
from classes.fastapi import FastAPI
from modules.utils import get_logger
from javelina.api.app import discord_oauth
from javelina.classes.fastapi import FastAPI
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -6,10 +6,10 @@ from zoneinfo import ZoneInfo
from fastapi import APIRouter, Request
from starlette.responses import JSONResponse
from classes import ApplicationHealth
from classes.fastapi import FastAPI
from modules.database import db
from modules.utils import get_logger
from javelina.classes import ApplicationHealth
from javelina.classes.fastapi import FastAPI
from javelina.modules.database import db
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -1,12 +1,12 @@
from logging import Logger
from fastapi import Depends, APIRouter
from fastapi import APIRouter, Depends
from fastapi_discord import User
from starlette.responses import JSONResponse
from api.app import discord_oauth
from classes.fastapi import FastAPI
from modules.utils import get_logger
from javelina.api.app import discord_oauth
from javelina.classes.fastapi import FastAPI
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -1,5 +1,5 @@
from .consent import Consent
from .application_health import ApplicationHealth
from .consent import Consent
from .guild_rules import GuildRules
from .pycord_guild import PycordGuild
from .pycord_user import PycordUser
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from datetime import datetime
from logging import Logger
from typing import Dict, Any, Optional
from typing import Any, Dict, Optional
from zoneinfo import ZoneInfo
from libbot.cache.classes import Cache
@@ -9,11 +9,11 @@ from libbot.pycord.classes import PycordBot
from pymongo.asynchronous.database import AsyncDatabase
from pymongo.errors import ConnectionFailure
from classes.fastapi import FastAPI
from classes.service_status import ServiceStatus
from enums import HealthStatus
from modules.database import db_client
from modules.utils import get_logger
from javelina.classes.fastapi import FastAPI
from javelina.classes.service_status import ServiceStatus
from javelina.enums import HealthStatus
from javelina.modules.database import db_client
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -5,8 +5,8 @@ from typing import Any, Dict, Optional
from bson import ObjectId
from libbot.cache.classes import Cache
from classes.abstract import Cacheable
from modules.utils import get_logger
from javelina.classes.abstract import Cacheable
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -8,10 +8,10 @@ from libbot.cache.classes import Cache
from pymongo import DESCENDING
from pymongo.results import InsertOneResult, UpdateResult
from classes.base import BaseCacheable
from enums import ConsentScope
from modules.database import col_consents
from modules.utils import restore_from_cache
from javelina.classes.base import BaseCacheable
from javelina.enums import ConsentScope
from javelina.modules.database import col_consents
from javelina.modules.utils import restore_from_cache
@dataclass
@@ -5,8 +5,8 @@ from typing import Any, Dict, Optional
from bson import ObjectId
from libbot.cache.classes import Cache
from classes.base import BaseCacheable
from modules.database import col_custom_channels
from javelina.classes.base import BaseCacheable
from javelina.modules.database import col_custom_channels
@dataclass
@@ -1,4 +1,4 @@
from typing import Optional, Any
from typing import Any, Optional
from fastapi import FastAPI as OriginalFastAPI
from libbot.pycord.classes import PycordBot
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from typing import Any, Dict, List
from classes.guild_rules_section import GuildRulesSection
from javelina.classes.guild_rules_section import GuildRulesSection
# Example JSON
# {
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from typing import Literal
from enums import Punishment
from javelina.enums import Punishment
@dataclass
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from typing import List
from classes.guild_rules_rule import GuildRulesRule
from javelina.classes.guild_rules_rule import GuildRulesRule
@dataclass
@@ -6,22 +6,22 @@ from typing import Any, Dict, Literal, Optional
from zoneinfo import ZoneInfo
from aiohttp import ClientSession
from discord import Activity, ActivityType, Guild, User, Embed, Colour
from discord import Activity, ActivityType, Colour, Embed, Guild, User
from libbot.cache.classes import CacheMemcached, CacheRedis
from libbot.cache.manager import create_cache_client
from libbot.i18n import BotLocale
from libbot.pycord.classes import PycordBot as LibPycordBot
from libbot.utils import json_read
from classes import PycordGuild, PycordUser
from enums import CacheTTL, EmbedColor
from modules.database import _update_database_indexes
from modules.utils.color_utils import hex_to_int
from javelina.classes import PycordGuild, PycordUser
from javelina.enums import CacheTTL, EmbedColor
from javelina.modules.database import _update_database_indexes
from javelina.modules.utils.color_utils import hex_to_int
logger: Logger = logging.getLogger(__name__)
# from modules.tracking.dhl import update_tracks_dhl
# from javelina.modules.tracking.dhl import update_tracks_dhl
class PycordBot(LibPycordBot):
@@ -5,11 +5,11 @@ from bson import ObjectId
from libbot.cache.classes import Cache
from pymongo.results import InsertOneResult
from classes import GuildRules
from classes.base import BaseCacheable
from classes.errors import GuildNotFoundError
from modules.database import col_guilds
from modules.utils import restore_from_cache
from javelina.classes import GuildRules
from javelina.classes.base import BaseCacheable
from javelina.classes.errors import GuildNotFoundError
from javelina.modules.database import col_guilds
from javelina.modules.utils import restore_from_cache
@dataclass
@@ -9,13 +9,13 @@ from bson import ObjectId
from libbot.cache.classes import Cache
from pymongo.results import InsertOneResult
from classes import Consent
from classes.base import BaseCacheable
from classes.errors.pycord_user import UserNotFoundError
from classes.wallet import Wallet
from enums import ConsentScope
from modules.database import col_users
from modules.utils import restore_from_cache
from javelina.classes import Consent
from javelina.classes.base import BaseCacheable
from javelina.classes.errors.pycord_user import UserNotFoundError
from javelina.classes.wallet import Wallet
from javelina.enums import ConsentScope
from javelina.modules.database import col_users
from javelina.modules.utils import restore_from_cache
logger: Logger = logging.getLogger(__name__)
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from typing import Literal, Dict, Optional
from typing import Dict, Literal, Optional
from enums import HealthStatus
from javelina.enums import HealthStatus
@dataclass
@@ -8,15 +8,15 @@ from bson import ObjectId
from libbot.cache.classes import Cache
from pymongo.results import InsertOneResult
from classes.base import BaseCacheable
from classes.errors.wallet import (
from javelina.classes.base import BaseCacheable
from javelina.classes.errors.wallet import (
WalletBalanceLimitExceeded,
WalletInsufficientFunds,
WalletNotFoundError,
WalletOverdraftLimitExceeded,
)
from modules.database import col_wallets
from modules.utils import restore_from_cache
from javelina.modules.database import col_wallets
from javelina.modules.utils import restore_from_cache
logger: Logger = logging.getLogger(__name__)
@@ -2,7 +2,7 @@ from discord import ApplicationContext, Cog, slash_command
from discord.ext.commands import dm_only
from libbot.i18n import _, in_every_locale
from classes.pycord_bot import PycordBot
from javelina.classes.pycord_bot import PycordBot
class CogAdmin(Cog):
@@ -4,10 +4,10 @@ from zoneinfo import ZoneInfo
from discord import Cog, Message
from classes.pycord_bot import PycordBot
from enums import AnalyticsEventType
from modules.database import col_analytics
from modules.utils import get_logger
from javelina.classes.pycord_bot import PycordBot
from javelina.enums import AnalyticsEventType
from javelina.modules.database import col_analytics
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -16,9 +16,9 @@ from discord.ext.commands import guild_only
from libbot.i18n import _, in_every_locale
from tempora import parse_timedelta
from classes import Consent, PycordUser
from classes.pycord_bot import PycordBot
from enums import ConsentDuration, ConsentScope
from javelina.classes import Consent, PycordUser
from javelina.classes.pycord_bot import PycordBot
from javelina.enums import ConsentDuration, ConsentScope
logger: Logger = logging.getLogger(__name__)
@@ -1,10 +1,10 @@
import logging
from logging import Logger
from discord import SlashCommandGroup, ApplicationContext, option
from discord import ApplicationContext, SlashCommandGroup, option
from discord.ext import commands
from classes.pycord_bot import PycordBot
from javelina.classes.pycord_bot import PycordBot
logger: Logger = logging.getLogger(__name__)
@@ -1,6 +1,6 @@
from discord import Cog
from classes.pycord_bot import PycordBot
from javelina.classes.pycord_bot import PycordBot
class CogOrganizational(Cog):
@@ -1,11 +1,11 @@
from logging import Logger
from discord import Cog, ApplicationContext, DiscordException
from discord import ApplicationContext, Cog, DiscordException
from discord.ext.commands import CheckFailure
from classes.pycord_bot import PycordBot
from enums import EmbedColor
from modules.utils import get_logger
from javelina.classes.pycord_bot import PycordBot
from javelina.enums import EmbedColor
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -5,11 +5,11 @@ from discord import ApplicationContext, SlashCommandGroup, User, option
from discord.ext import commands
from discord.ext.commands import guild_only
from classes.errors import WalletInsufficientFunds
from classes.pycord_bot import PycordBot
from classes.wallet import Wallet
from enums import ConsentScope
from modules.middleware import user_consent_required
from javelina.classes.errors import WalletInsufficientFunds
from javelina.classes.pycord_bot import PycordBot
from javelina.classes.wallet import Wallet
from javelina.enums import ConsentScope
from javelina.modules.middleware import user_consent_required
logger: Logger = logging.getLogger(__name__)
View File
+1
View File
@@ -0,0 +1 @@
from . import database, migrator, scheduler, utils
@@ -3,12 +3,12 @@ from typing import Callable, List
from discord import ApplicationContext
from discord.ext import commands
from discord.ext.commands import Context, CheckFailure
from discord.ext.commands import CheckFailure, Context
from discord.ext.commands.context import T
from classes import PycordUser
from enums import ConsentScope
from modules.utils import get_logger
from javelina.classes import PycordUser
from javelina.enums import ConsentScope
from javelina.modules.utils import get_logger
logger: Logger = get_logger(__name__)
@@ -16,6 +16,7 @@ def migrate_database() -> None:
"mongo_database": db_config["name"],
"mongo_username": db_config["user"],
"mongo_password": db_config["password"],
"mongo_migrations_path": "javelina/migrations",
}
)
manager = MigrationManager(manager_config)
@@ -2,16 +2,16 @@ import logging
from datetime import datetime
from typing import Any, Dict, List
from classes.pycordbot import PycordBot
from database import col_messages
from discord import Embed
from pymongo import DESCENDING
from pytz import timezone
from ujson import loads
from enums import MessageEvents
from modules.utils import hex_to_int
from modules.weather.parser import parse_weather
from javelina.classes.pycordbot import PycordBot
from javelina.enums import MessageEvents
from javelina.modules.utils import hex_to_int
from javelina.modules.weather.parser import parse_weather
# Example guild key
# "forecast": {
+5 -5
View File
@@ -11,10 +11,10 @@ from discord import LoginFailure
from libbot.utils import config_get
# Import required for uvicorn
from api.app import app # noqa
from classes.pycord_bot import PycordBot
from modules.scheduler import scheduler
from modules.utils import get_logger, get_logging_config
from javelina.api.app import app # noqa
from javelina.classes.pycord_bot import PycordBot
from javelina.modules.scheduler import scheduler
from javelina.modules.utils import get_logger, get_logging_config
makedirs(Path("logs/"), exist_ok=True)
@@ -33,7 +33,7 @@ with contextlib.suppress(ImportError):
async def main():
bot: PycordBot = PycordBot(scheduler=scheduler)
bot.load_extension("cogs")
bot.load_extension("javelina.cogs")
app.set_bot(bot)
+1 -1
View File
@@ -1,3 +1,3 @@
from modules.migrator import migrate_database
from javelina.modules.migrator import migrate_database
migrate_database()
-1
View File
@@ -1 +0,0 @@
from . import utils, database, migrator, scheduler
+3
View File
@@ -14,6 +14,9 @@ dependencies = { file = "requirements.txt" }
[tool.setuptools.dynamic.optional-dependencies]
dev = { file = "requirements/dev.txt" }
[tool.setuptools.packages.find]
where = ["javelina"]
[tool.black]
line-length = 96
target-version = ["py311", "py312", "py313"]