<commit_before>from sideboard.lib import parse_config, request_cached_property
from collections import defaultdict
from datetime import timedelta

from uber.config import c, Config, dynamic
from uber.menu import MenuItem
from uber.utils import localized_now

config = parse_config(__file__)
c.include_plugin_config(config)

c.MENU.append_menu_item(
    MenuItem(name='Midwest FurFest', submenu=[
        MenuItem(name='Comped Badges', href='../mff_reports/comped_badges'),
        MenuItem(name='Daily Attendance', href='../mff_reports/attendance_graph'),
        MenuItem(name='Print Adult Badges (Single Queue)',
                 href='../badge_printing/print_next_badge'),
        MenuItem(name='Print Adult Badges (1 of 2)',
                 href='../badge_printing/print_next_badge?printerNumber=1&numberOfPrinters=2'),
        MenuItem(name='Print Adult Badges (2 of 2)',
                 href='../badge_printing/print_next_badge?printerNumber=2&numberOfPrinters=2'),
        MenuItem(name='Print Adult Badges (1 of 3)',
                 href='../badge_printing/print_next_badge?printerNumber=1&numberOfPrinters=3'),
        MenuItem(name='Print Adult Badges (2 of 3)',
                 href='../badge_printing/print_next_badge?printerNumber=2&numberOfPrinters=3'),
        MenuItem(name='Print Adult Badges (3 of 3)',
                 href='../badge_printing/print_next_badge?printerNumber=3&numberOfPrinters=3'),
        MenuItem(name='Print Adult Badges (1 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=1&numberOfPrinters=4'),
        MenuItem(name='Print Adult Badges (2 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=2&numberOfPrinters=4'),
        MenuItem(name='Print Adult Badges (3 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=3&numberOfPrinters=4'),
		MenuItem(name='Print Adult Badges (4 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=4&numberOfPrinters=4'),
		MenuItem(name='Print Minor Badges',
                 href='../badge_printing/print_next_badge?minor=True'),
    ])
)


@Config.mixin
class ExtraConfig:
    @property
    def DEALER_BADGE_PRICE(self):
        return self.get_attendee_price()

    @property
    def TABLE_OPTS(self):
        return [(1, 'Single Table'),
                (2, 'Double Table'),
                (3, 'Triple Table'),
                (4, 'Quad Table'),
                (5, '10x10 Booth')]

    @property
    def ADMIN_TABLE_OPTS(self):
        return [(0, 'No Table')] + c.TABLE_OPTS

    @property
    def PREREG_TABLE_OPTS(self):
        return [(count, '{}: ${}'.format(desc, c.TABLE_PRICES[count]))
              for count, desc in c.TABLE_OPTS]

    @property
    def POWER_PRICES(self):
        return defaultdict(
            lambda: config['power_prices'],
            {int(k): v for k, v in config['power_prices'].items()})

    @property
    def DEALER_POWER_OPTS(self):
        return [(0, 'No power'), (1, 'Default power')]

    @request_cached_property
    @dynamic
    def AT_THE_DOOR_BADGE_OPTS(self):
        """
        This provides the dropdown on the /registration/register page with its<commit_msg>Added dealer suite<commit_after>from sideboard.lib import parse_config, request_cached_property
from collections import defaultdict
from datetime import timedelta

from uber.config import c, Config, dynamic
from uber.menu import MenuItem
from uber.utils import localized_now

config = parse_config(__file__)
c.include_plugin_config(config)

c.MENU.append_menu_item(
    MenuItem(name='Midwest FurFest', submenu=[
        MenuItem(name='Comped Badges', href='../mff_reports/comped_badges'),
        MenuItem(name='Daily Attendance', href='../mff_reports/attendance_graph'),
        MenuItem(name='Print Adult Badges (Single Queue)',
                 href='../badge_printing/print_next_badge'),
        MenuItem(name='Print Adult Badges (1 of 2)',
                 href='../badge_printing/print_next_badge?printerNumber=1&numberOfPrinters=2'),
        MenuItem(name='Print Adult Badges (2 of 2)',
                 href='../badge_printing/print_next_badge?printerNumber=2&numberOfPrinters=2'),
        MenuItem(name='Print Adult Badges (1 of 3)',
                 href='../badge_printing/print_next_badge?printerNumber=1&numberOfPrinters=3'),
        MenuItem(name='Print Adult Badges (2 of 3)',
                 href='../badge_printing/print_next_badge?printerNumber=2&numberOfPrinters=3'),
        MenuItem(name='Print Adult Badges (3 of 3)',
                 href='../badge_printing/print_next_badge?printerNumber=3&numberOfPrinters=3'),
        MenuItem(name='Print Adult Badges (1 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=1&numberOfPrinters=4'),
        MenuItem(name='Print Adult Badges (2 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=2&numberOfPrinters=4'),
        MenuItem(name='Print Adult Badges (3 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=3&numberOfPrinters=4'),
		MenuItem(name='Print Adult Badges (4 of 4)',
                 href='../badge_printing/print_next_badge?printerNumber=4&numberOfPrinters=4'),
		MenuItem(name='Print Minor Badges',
                 href='../badge_printing/print_next_badge?minor=True'),
    ])
)


@Config.mixin
class ExtraConfig:
    @property
    def DEALER_BADGE_PRICE(self):
        return self.get_attendee_price()

    @property
    def TABLE_OPTS(self):
        return [(1, 'Single Table'),
                (2, 'Double Table'),
                (3, 'Triple Table'),
                (4, 'Quad Table'),
                (5, '10x10 Booth'),
                (6, '12x12 Suite')]

    @property
    def ADMIN_TABLE_OPTS(self):
        return [(0, 'No Table')] + c.TABLE_OPTS

    @property
    def PREREG_TABLE_OPTS(self):
        return [(count, '{}: ${}'.format(desc, c.TABLE_PRICES[count]))
              for count, desc in c.TABLE_OPTS]

    @property
    def POWER_PRICES(self):
        return defaultdict(
            lambda: config['power_prices'],
            {int(k): v for k, v in config['power_prices'].items()})

    @property
    def DEALER_POWER_OPTS(self):
        return [(0, 'No power'), (1, 'Default power')]

    @request_cached_property
    @dynamic
    def AT_THE_DOOR_BADGE_OPTS(self):
        """
        This provides the dropdown on the /registration/register page with its
{'fraction_non_alphanumeric': 0.12641363284275756, 'fraction_numerical': 0.015646785437645236, 'mean_word_length': 3.0049627791563274, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1748611', 'n_tokens_mistral': 2097, 'n_tokens_neox': 1993, 'n_words': 400}