# Path: linux_story/common.py
# def get_max_challenge_number():
# def get_username():
# def get_story_file(name):
# 
# Path: linux_story/helper_functions.py
# def get_ascii_art(name):
#     """
#     Load an ASCII art file.
# 
#     Args:
#         name (str) - the name of the asset file
# 
#     Returns:
#         ascii_art (str) - the ASCII art asset as a block of text
#     """
# 
#     ascii_art = name
#     asset_path = get_path_to_file_in_system(name)
# 
#     try:
#         with open(asset_path) as f:
#             ascii_art = f.read()
# 
#     except (IOError, OSError) as e:
#             logger.error('Could not load file {} - [{}]'.format(asset_path, e))
#     except Exception as e:
#             logger.error('Unexpected error while loading the ascii art'
#                          ' - [{}]'.format(e))
# 
#     return ascii_art


import os
from gi.repository import Gtk, Gdk
from linux_story.common import images_dir
from linux_story.helper_functions import get_ascii_art
                left += 1

        self.__show_or_hide_caps_lock_warning()

    def __create_spell(self, name, locked=False, highlighted=False):
        '''
        Create the individual GUI for a spell.
        To create the icon, have the icon located at
        media/images/name.png

        Args:
            name (str): Name to be shown in the widget
            locked (bool): Whether we show the icon locked
                           i.e. with a padlock

        Returns:
            Gtk.Box: container widget for an individual spell
        '''

        box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        box.set_size_request(self.CMD_WIDTH, self.CMD_HEIGHT)
        box.set_margin_top(10)
        box.set_margin_left(10)
        box.set_margin_right(10)
        box.set_margin_bottom(10)

        icon_overlay = Gtk.Overlay()
        icon_overlay.set_size_request(80, 50)
        icon_overlay.set_opacity(0.99)
        if name != '...':

# Path: linux_story/common.py
# def get_max_challenge_number():
# def get_username():
# def get_story_file(name):
# 
# Path: linux_story/helper_functions.py
# def get_ascii_art(name):
#     """
#     Load an ASCII art file.
# 
#     Args:
#         name (str) - the name of the asset file
# 
#     Returns:
#         ascii_art (str) - the ASCII art asset as a block of text
#     """
# 
#     ascii_art = name
#     asset_path = get_path_to_file_in_system(name)
# 
#     try:
#         with open(asset_path) as f:
#             ascii_art = f.read()
# 
#     except (IOError, OSError) as e:
#             logger.error('Could not load file {} - [{}]'.format(asset_path, e))
#     except Exception as e:
#             logger.error('Unexpected error while loading the ascii art'
#                          ' - [{}]'.format(e))
# 
#     return ascii_art


# Path: linux_story/gtk3/Spellbook.py
import os
from gi.repository import Gtk, Gdk
from linux_story.common import images_dir
from linux_story.helper_functions import get_ascii_art

                left += 1

        self.__show_or_hide_caps_lock_warning()

    def __create_spell(self, name, locked=False, highlighted=False):
        '''
        Create the individual GUI for a spell.
        To create the icon, have the icon located at
        media/images/name.png

        Args:
            name (str): Name to be shown in the widget
            locked (bool): Whether we show the icon locked
                           i.e. with a padlock

        Returns:
            Gtk.Box: container widget for an individual spell
        '''

        box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        box.set_size_request(self.CMD_WIDTH, self.CMD_HEIGHT)
        box.set_margin_top(10)
        box.set_margin_left(10)
        box.set_margin_right(10)
        box.set_margin_bottom(10)

        icon_overlay = Gtk.Overlay()
        icon_overlay.set_size_request(80, 50)
        icon_overlay.set_opacity(0.99)
        if name != '...':

            icon_overlay.set_tooltip_markup(get_ascii_art(name + '_tooltip'))