def test_commands_output(self):
        """This test deals with testing whether correct description of
        commands is returned by the server to client.
        """
        commands = [
            """register : To register as a new user,
                    command:register <username> <password> \n""",
            """login : To login,
                    command:login <username> <password>""",
            """quit : To logout,
                    command:quit\n""",
            """change_folder : To change the current path,
                    command:change_folder <name>\n""",
            """list : Lists all files in the current path,
                    command:list\n""",
            """read_file : To read content from the file,
                    command:read_file <name>\n""",
            """write_file : To write content into the file,
                    command:write_file <name> <content>\n""",
            """create_folder : To create new folder,
                    command:create_folder <name>\n"""
        ]
        expected = "".join(commands)

        test_user = CommandHandler()
        actual = test_user.commands()
        self.assertEqual(expected, actual)
    def test_registration(self):
        """This test deals with testing whether register command is working or not!
        """

        test_user = CommandHandler()
        expected = "\nSuccess! Registered test1"
        actual = test_user.register("test1", "17bfdsbgl")
        self.assertEqual(expected, actual)
        test_user.quit()
    def test_registration_with_weak_password(self):
        """This test checks the registretion method sends information
        if the user attempts to register with a weak password
        """

        test_user = CommandHandler()
        expected = "\n Password length should be more than 8 characters."
        actual = test_user.register("test2", "hdfgh")
        self.assertEqual(expected, actual)
        test_user.quit()
Esempio n. 4
0
    def __init__(self, *args, **kwargs):
        super(Portland, self).__init__(*args, **kwargs)
        self.command_handler = CommandHandler()
        self.discoLogger, self.discoLogFile = None, None
        self.init_logger()

        try:
            self.run(Config.discord_token)
        except discord.errors.LoginFailure:
            sys.exit(
                'Token is incorrect. Please use one from a valid bot account on https://discord.com/developers/'
            )
    def test_create_folder(self):
        """Tests if the user able to create a folder
        """

        test_user = CommandHandler()
        test_user.register("test6", "jgldaoghgealg8014")
        test_user.login("test6", "jgldaoghgealg8014")
        expected = "\nSuccessfully created folder movies"
        actual = test_user.create_folder("movies")
        self.assertEqual(expected, actual)
        test_user.quit()
Esempio n. 6
0
def main():
    parser = argparse.ArgumentParser(description="Audio component for ScreenCrash")
    parser.add_argument("--enable-ws-debug", action="store_true", help="Enables debug messages from websocket module")
    parser.add_argument("--no-reconnect", action="store_true", help="Do not reconnect if connection is lost")
    parser.add_argument("--reconnect-time", type=int, default=3000, help="Time (in ms) between disconnect and reconnection attempt. Cannot be used with --no-reconnect flag. Default 3000ms")
    args = parser.parse_args()

    if args.enable_ws_debug:
        websocket.enableTrace(True)

    cmd_handler = CommandHandler()
    core_connection = CoreConnection(cmd_handler.initial_message, cmd_handler.handle_message, not args.no_reconnect, args.reconnect_time)
    cmd_handler.set_event_handler(core_connection.send)
    core_connection.run()
    print("Shutting down audio component...")
    def test_read_non_existing_file(self):
        """Tests if the user is attempting to read content from non-existent
        file
        """

        test_user = CommandHandler()
        test_user.register("test11", "hgrsbbgvngevlohbgvp0")
        test_user.login("test11", "hgrsbbgvngevlohbgvp0")
        filename = "abc.txt"
        test_user.read_file(filename)
        expected = "\nNo Such file " + filename + " exists!"
        actual = test_user.read_file(filename)
async def handle_client(reader, writer):
    """This funtion acknowledges the connection from the client,
    acknowledges the messages from the client
    Parameters
    ----------
    reader : StreamReader
        Reads data from the client socket
    writer : StreamWriter
        Writes data to the client socket
    """

    client_addr = writer.get_extra_info('peername')
    message = f"{client_addr} is connected !!!!"
    print(message)
    commandhandler = CommandHandler()
    while True:
        data = await reader.read(4096)
        message = data.decode().strip()
        if message == 'exit':
            break

        print(f"Received {message} from {client_addr}")
        writer.write(str(client_request(commandhandler, message)).encode())
        await writer.drain()
    print("Close the connection")
    writer.close()
Esempio n. 9
0
def main():
    """Thread that reads messages from the webapp."""
    GoopgLogger()
    handler = CommandHandler()

    # a queue to store bundles received before the 'init' command
    queue = []
    while 1:
        try:
            bundle = read_bundle()
        except struct.error as e:
            logger.error("Error while reading stdin: \"{}\""
                         " - Exit.".format(e.message))
            sys.exit(1)
        if not handler.initialized and bundle['command'] != 'init':
            # send init request
            send_bundle({"command": "request_init"})
            queue.append(bundle)
        else:
            def parse_and_send_result(b):
                result = handler.parse(b)
                if result is not None:
                    b['result'] = result
                    send_bundle(b)

            parse_and_send_result(bundle)

            if len(queue) > 0:
                for bundle in queue:
                    parse_and_send_result(bundle)
                queue = []
    def test_write_file(self):
        """Tests if the user is attempting to create and
        write content into a file
        """

        test_user = CommandHandler()
        test_user.register("test9", "nlndgsvns")
        test_user.login("test9", "nlndgsvns")
        expected = "\nCreated and written data to file k.txt successfully"
        actual = test_user.write_file("k.txt", "Hello World")
        self.assertEqual(expected, actual)
        # Check also if the user able to append new data to the
        # existing file
        expected = "\nSuccess Written data to file k.txt successfully"
        actual = test_user.write_file("k.txt", "Hello Second World")
        self.assertEqual(expected, actual)
        test_user.quit()
    def test_quit(self):
        """Tests if the user able to safely quit from the system.
        """

        test_user = CommandHandler()
        test_user.register("test5", "bdghkga")
        test_user.login("test5", "bdghkga")
        expected = test_user.quit()
        actual = "\nLogged Out"
        self.assertEqual(expected, actual)
    def test_login_with_wrong_password(self):
        """This test deals with testing when a user attempts to login with wrong
        password the system throws an error 'Wrong Password'
        """

        test_user = CommandHandler()
        test_user.register("test4", "jsdlghosd")
        expected = "\nSorry, The password you entered is wrong. Please Try Again"
        actual = test_user.login("test4", "jsdlgholgegl")
        self.assertEqual(expected, actual)
        test_user.quit()
    def test_login(self):
        """This test deals with testing whether a user after a proper registeration is
        able to login into the system or not!
        """

        test_user = CommandHandler()
        test_user.register("test3", "125354nnn3883")
        expected = "Success test3 Logged into the system"
        actual = test_user.login("test3", "125354nnn3883")
        self.assertEqual(expected, actual)
        test_user.quit()
Esempio n. 14
0
import discord
import os
from dotenv import load_dotenv
from commandhandler import CommandHandler, Command

load_dotenv()  # take environment variables from .env

# Setup client, command handler, and get auth token
client = discord.Client()
token = os.environ.get('TOKEN')
c_handler = CommandHandler(client)


def help_func():
    print('help_func')


help_command = Command('help', 0, 'Usage: ;sports help', help_func)
c_handler.add_command(help_command)


# Called when the bot first starts up
@client.event
async def on_ready():
    print(f'{client.user} has connected to Discord!')


# Called everytime there is a new message
@client.event
async def on_message(message):
Esempio n. 15
0
from commandhandler import CommandHandler
from observequantum import ObserveQuantum

# configuring the bot using config.json
with open('config.json') as f:
    data = json.load(f)

token = data["token"]
command_prefix = data["prefix"]
# add this to config.json
observe_arguments = ["star", "wang"]

client = discord.Client()

# assigning external classes to objects
ch = CommandHandler(client)
oq = ObserveQuantum(observe_arguments)


# command functions
def test_command(message, client, args):
    return 'Test'


def observe_command(message, client, args):
    """
    Checks if user inputted guess matches the state of a qubit after observation.
    """
    guess = message.content.lower()
    if (observe_arguments[0] in guess) or (observe_arguments[1] in guess):
        if oq.observed(guess) == True:
Esempio n. 16
0
from __init__ import *
from window import Window
from player import Player
from commandhandler import CommandHandler
#(chr(ord(gch())))

p = Player(
    input(('\n' * 11) + (' ' * 20) +
          'Please enter the player character\'s name' + ('\n' * 12) +
          (' ' * 32) + '> '), 2, 3, 23, 4)
os.system('cls')
w = Window(p)
ch = CommandHandler(p, w.p3.tile_map.m, w.p1.tile_map.m)

is_command_being_entered = False
while True:
    w.p2.content[4].set_chars(f"({p.local_x}, {p.local_y})")
    w.Print()  #Output
    is_command_being_entered = False
    t_char = chr(ord(gch()))  # Input

    if t_char == '\r':
        is_command_being_entered = True
        w.p5.e = True

    while is_command_being_entered:
        w.Print()

        t_char = chr(ord(gch()))  # Input
        returned_text = w.p5.Add_Char(0, t_char + "")
        if not returned_text == None:
Esempio n. 17
0
 def __init__(self, host, request_handler):
     self.handler = CommandHandler()
     self.logger = logging.getLogger('http-main')
     HTTPServer.__init__(self, host, request_handler)
    def test_read_file(self):
        """Tests if the user is attempting to read content from already 
        existing file
        """

        test_user = CommandHandler()
        test_user.register("test10", "brsgvegveiotyq39ty")
        test_user.login("test10", "brsgvegveiotyq39ty")
        test_user.write_file("z.txt", "Hello World!n")
        expected = "\nReading file from 0 bytes to 100 bytes\nHello World!n"
        actual = test_user.read_file("z.txt")
        self.assertEqual(expected, actual)
        test_user.quit()
Esempio n. 19
0
class Portland(discord.Client):
    def __init__(self, *args, **kwargs):
        super(Portland, self).__init__(*args, **kwargs)
        self.command_handler = CommandHandler()
        self.discoLogger, self.discoLogFile = None, None
        self.init_logger()

        try:
            self.run(Config.discord_token)
        except discord.errors.LoginFailure:
            sys.exit(
                'Token is incorrect. Please use one from a valid bot account on https://discord.com/developers/'
            )

    def init_logger(self):
        self.discoLogger = logging.getLogger('discord')
        self.discoLogger.setLevel(logging.INFO)
        self.discoLogFile = logging.FileHandler(filename='portland.log',
                                                encoding='utf-8',
                                                mode='w')
        self.discoLogger.addHandler(self.discoLogFile)

    async def on_ready(self):
        print('Portland is connected to Discord and logged in as {}'.format(
            self.user.name))
        self.command_handler.start_voice_info_loop(self)
        if not Config.voice_auto_join or not self.command_handler.voice.voice_enabled:
            return
        channel = self.get_channel(Config.voice_auto_join_channel_id)
        while 1:
            member_count = len(
                [a for a in channel.members if not a.id == self.user.id])
            if channel.guild.voice_client is None and member_count > 0 and Config.voice_auto_join:
                channel = self.get_channel(Config.voice_auto_join_channel_id)
                self.command_handler.voice.voice_channels[
                    channel.guild.id] = await channel.connect(timeout=15,
                                                              reconnect=True)
                if not self.command_handler.voice.voice_channels[
                        channel.guild.id].is_playing():
                    self.command_handler.voice.voice_channels[
                        channel.guild.id].play(
                            self.command_handler.voice.audio_source)

            elif channel.guild.voice_client is not None and not member_count and Config.voice_auto_join:
                self.command_handler.voice.voice_channels[
                    channel.guild.id].stop()
                await self.command_handler.voice.voice_channels[
                    channel.guild.id].disconnect()
                for proc in psutil.Process().children(recursive=True):
                    if 'ffmpeg' in proc.name():
                        proc.kill()
                self.command_handler.voice.voice_channels.pop(channel.guild.id)
                self.command_handler.voice.restart_source()
            await asyncio.sleep(5)

    async def on_message(self, msg):
        if not msg.content.startswith(Config.default_prefix) or msg.author.bot:
            return
        try:
            command, arguments = msg.content.split(' ', 1)
        except ValueError:
            command, arguments = msg.content, ''
        await self.command_handler.resolve(command[1:], arguments, msg, self)
Esempio n. 20
0
class ConfConverter:
    def __init__(self, gGator):
        self.logger = gGator.logger
        self.conversionConf = gGator.conversionConf
        self.commandHandler = CommandHandler(gGator)
        # self.outputDir = gGator.outputDir
        # self.useGenreSubFolders = gGator.useGenreSubFolders
        # self.conversionType = gGator.conversionType
        # self.conversionConf = gGator.conversionConf
        # self.collectionVersion = gGator.collectionVersion
        # self.commandHandler = CommandHandler(gGator)

    # Handle Parameter in ExpertMod
    def getExpertParam(self, parameter, defaultValue):
        if self.conversionConf['useExpertMode']:
            return self.conversionConf[parameter]
        else:
            return defaultValue

    # Converts exo collection dosbox.conf to dosbox.cfg and dosbox.bat
    def process(self, gGator):
        self.logger.log("  create dosbox.bat")
        exoDosboxConf = open(
            os.path.join(gGator.getLocalGameDataOutputDir(), "dosbox.conf"),
            'r')  # original
        retroDosboxCfg = open(
            os.path.join(gGator.getLocalGameOutputDir(), "dosbox.cfg"),
            'w')  # retroarch dosbox.cfg
        retroDosboxBat = open(
            os.path.join(gGator.getLocalGameOutputDir(), "dosbox.bat"),
            'w')  # retroarch dosbox.bat

        count = 0
        lines = exoDosboxConf.readlines()
        for cmdline in lines:
            if cmdline.startswith("fullscreen"):
                retroDosboxCfg.write("fullscreen=true\n")
            elif cmdline.startswith("fullresolution"):
                if gGator.conversionType == util.retrobat:
                    retroDosboxCfg.write(cmdline)
                else:
                    retroDosboxCfg.write(
                        "fullresolution=" +
                        self.getExpertParam("fullresolutionCfg", "desktop") +
                        "\n")
            elif cmdline.startswith("output"):
                if gGator.conversionType == util.retrobat:
                    retroDosboxCfg.write(cmdline)
                else:
                    retroDosboxCfg.write(
                        "output=" +
                        self.getExpertParam("outputCfg", "texture") + "\n")
                retroDosboxCfg.write(
                    "renderer=" + self.getExpertParam("rendererCfg", "auto") +
                    "\n")
                if gGator.conversionConf['vsyncCfg']:
                    retroDosboxCfg.write("vsync=true\n")
                else:
                    retroDosboxCfg.write("vsync=false\n")

            # Always write these
            elif cmdline.startswith("aspect"):
                retroDosboxCfg.write("aspect=true\n")
            elif cmdline.startswith("buttonwrap"):
                retroDosboxCfg.write("buttonwrap=false\n")
            elif cmdline.startswith("mapperfile"):
                retroDosboxCfg.write("mapperfile=mapper.map\n")
            elif cmdline.startswith("ultradir"):
                retroDosboxCfg.write(r"ultradir=C:\ULTRASND")
                retroDosboxCfg.write("\n")
            elif cmdline.startswith("[autoexec]"):
                retroDosboxCfg.write(cmdline)
                self.createDosboxBat(lines[count + 1:], retroDosboxBat,
                                     retroDosboxCfg, gGator)
                break
            else:
                retroDosboxCfg.write(cmdline)

            count = count + 1

        exoDosboxConf.close()
        os.remove(
            os.path.join(gGator.getLocalGameDataOutputDir(), "dosbox.conf"))
        retroDosboxCfg.close()
        retroDosboxBat.close()

    # Creates dosbox.bat from dosbox.conf [autoexec] part
    def createDosboxBat(self, cmdlines, retroDosboxBat, retroDosboxCfg,
                        gGator):
        for cmdline in cmdlines:
            # keep conf in dosbox.cfg but comment it
            if self.conversionConf['useDebugMode']:
                retroDosboxCfg.write("# " + cmdline)
            self.convertLine(cmdline, retroDosboxBat, gGator)

    # Convert command line to dosbox.bat
    def convertLine(self, cmdline, retroDosboxBat, gGator):
        cutLines = [
            "cd ..", "cls", "mount c", "#", "exit", "echo off", "echo on"
        ]
        # always remove @
        cmdline = cmdline.lstrip('@ ')
        # TODO whereWeAt identifies where we are in the game tree based on instructions, use in the future ?
        whereWeAt = ['c:', '.']
        if self.commandHandler.useLine(cmdline, cutLines):
            if cmdline.lower().startswith("c:"):
                retroDosboxBat.write(cmdline)
                if not gGator.isWin3x():
                    # First add move into game subdir
                    retroDosboxBat.write("cd %s\n" % gGator.game)
                    whereWeAt.append('game')
            # remove cd to gamedir as it is already done, but keep others cd
            elif cmdline.lower().startswith("cd "):
                path = self.commandHandler.reducePath(
                    cmdline.rstrip('\n\r ').split(" ")[-1].rstrip('\n\r '))
                if path.lower() == gGator.game.lower() and not os.path.exists(
                        os.path.join(gGator.getLocalGameDataOutputDir(),
                                     path)):
                    self.logger.log(
                        "    cd command: '%s' -> path is game name and no existing subpath, removed"
                        % cmdline.rstrip('\n\r '))
                else:
                    self.logger.log("    cd command: '%s' -> kept" %
                                    cmdline.rstrip('\n\r '))
                    retroDosboxBat.write(cmdline)
                    whereWeAt.append(path)
            elif cmdline.lower().startswith("imgmount "):
                retroDosboxBat.write(
                    self.commandHandler.handleImgmount(
                        cmdline.rstrip('\n\r ')))
                if self.conversionConf['useDebugMode']:
                    retroDosboxBat.write("\npause\n")
                else:
                    retroDosboxBat.write("\n")
            elif cmdline.lower().startswith("mount "):
                retroDosboxBat.write(
                    self.commandHandler.handleMount(cmdline.rstrip('\n\r ')))
                if self.conversionConf['useDebugMode']:
                    retroDosboxBat.write("\npause\n")
                else:
                    retroDosboxBat.write("\n")
            elif cmdline.lower().startswith("boot "):
                retroDosboxBat.write(
                    self.commandHandler.handleBoot(cmdline.rstrip('\n\r ')))
            elif cmdline.lower().rstrip(
                    ' \n\r') == 'call run' or cmdline.lower().rstrip(
                        ' \n\r') == 'call run.bat':
                self.logger.log("    <WARNING> game uses call run.bat",
                                self.logger.WARNING)
                if gGator.game in [
                        'bisle2', 'Blood', 'Carmaged', 'comcon', 'comconra',
                        'CrypticP', 'lemm3', 'LewLeon', 'MechW2', 'rarkani1',
                        'Resurrec', 'stjudgec', 'heromm2d'
                ]:
                    self.handleRunBat(gGator)
                self.handlePotentialSubFile(cmdline, gGator)
                retroDosboxBat.write(cmdline)
            else:
                self.handlePotentialSubFile(cmdline, gGator)
                retroDosboxBat.write(cmdline)

    # Handle potential sub files and problems in it
    def handlePotentialSubFile(self, subPath, gGator, handledSubFiles=[]):
        subPath = subPath.lstrip('@ ').lower().replace(
            'call ', '') if subPath.lstrip('@ ').lower().startswith(
                "call ") else subPath
        subBat = os.path.join(gGator.getLocalGameDataOutputDir(),
                              subPath.rstrip(' \n\r') + '.bat')
        if os.path.exists(subBat) and not os.path.isdir(
                subBat) and subBat.lower() not in handledSubFiles:
            self.logger.log('    Handle Bat File %s' % subBat,
                            self.logger.WARNING)
            handledSubFiles.append(subBat.lower())
            subBatFile = open(subBat, 'r')
            subBatFileClone = open(subBat + '1', 'w', newline='\r\n')
            for cmdline in subBatFile.readlines():
                # always remove @
                cmdline = cmdline.lstrip('@ ')
                if cmdline.lower().rstrip(
                        ' \n\r'
                ) == 'c:' and gGator.conversionType == util.mister:
                    self.logger.log('      Remove c: for MiSTeR',
                                    self.logger.WARNING)
                else:
                    if 'c:\\' in cmdline.lower():
                        if gGator.conversionType == util.mister:
                            # TODO might need win3x fix
                            cmdline = cmdline.replace(
                                'c:', 'E:\\GAMES\\' + gGator.game).replace(
                                    'C:', 'E:\\GAMES\\' + gGator.game)
                        else:
                            if not gGator.isWin3x():
                                cmdline = cmdline.replace(
                                    'c:', 'c:\\' + gGator.game).replace(
                                        'C:', 'C:\\' + gGator.game)
                    else:
                        self.handlePotentialSubFile(cmdline, gGator,
                                                    handledSubFiles)
                    subBatFileClone.write(cmdline)
            subBatFileClone.close()
            subBatFile.close()
            # Delete runbat and rename runbat clone to runbat
            os.remove(subBat)
            os.rename(subBat + '1', subBat)

    # Treat run.bat command inside game directory
    def handleRunBat(self, gGator):
        runBat = os.path.join(gGator.getLocalGameDataOutputDir(), 'run.bat')
        if os.path.exists(runBat):
            runFile = open(runBat, 'r')
            runFileClone = open(runBat + '1', 'w', newline='\r\n')
            # Clone run.bat and only modify imgmount lines
            # Add some hardcoded lines which are impossible to handle
            handled = {
                'imgmount d ".\\eXoDOS\\comcon\\cd\\Command & Conquer CD-2.iso" ".\\eXoDOS\\comcon\\cd\\Command & Conquer CD-1.iso" ".\\eXoDOS\\comcon\\cd\\Covert Operations.cue" -t cdrom \n':
                'imgmount d ".\\cd\\comma2.iso" ".\\cd\\comma1.iso" ".\\cd\\cover3.cue" -t cdrom',
                'imgmount d ".\\eXoDOS\\comcon\\cd\\Covert Operations.cue" ".\\eXoDOS\\comcon\\cd\\Command & Conquer CD-2.iso" ".\\eXoDOS\\comcon\\cd\\Command & Conquer CD-1.iso" -t cdrom \n':
                'imgmount d ".\\cd\\cover3.cue" ".\\cd\\comma2.iso" ".\\cd\\comma1.iso" -t cdrom',
                'imgmount d ".\\eXoDOS\\comconra\\cd\\Red Alert CD2.iso" ".\\eXoDOS\\comconra\\cd\\Red Alert CD1.iso" ".\\eXoDOS\\comconra\\cd\\Red Alert Counterstrike CD3.cue" ".\\eXoDOS\\comconra\\cd\\Red Alert Aftermath CD4.cue" -t cdrom \n':
                'imgmount d ".\\cd\\redal2.iso" ".\\cd\\redal1.iso" ".\\cd\\redal3.cue" ".\\cd\\redal4.cue" -t cdrom',
                'imgmount d ".\\eXoDOS\\comconra\\cd\\Red Alert Aftermath CD4.cue" ".\\eXoDOS\\comconra\\cd\\Red Alert CD1.iso" ".\\eXoDOS\\comconra\\cd\\Red Alert CD2.iso" ".\\eXoDOS\\comconra\\cd\\Red Alert Counterstrike CD3.cue" -t cdrom \n':
                'imgmount d ".\\cd\\redal4.cue" ".\\cd\\redal1.iso" ".\\cd\\redal2.iso" ".\\cd\\redal3.cue" -t cdrom',
                'imgmount d ".\\eXoDOS\\comconra\\cd\\Red Alert Counterstrike CD3.cue" ".\\eXoDOS\\comconra\\cd\\Red Alert CD1.iso" ".\\eXoDOS\\comconra\\cd\\Red Alert CD2.iso" ".\\eXoDOS\\comconra\\cd\\Red Alert Aftermath CD4.cue" -t cdrom \n':
                'imgmount d ".\\cd\\redal3.cue" ".\\cd\\redal1.iso" ".\\cd\\redal2.iso" ".\\cd\\redal4.cue" -t cdrom',
                'imgmount d ".\\eXoDOS\\comconra\\cd\\Red Alert Aftermath CD4.cue" -t cdrom \n':
                'imgmount d .\\cd\\redal4.cue -t cdrom',
                'imgmount -u d\n':
                '\n'
            }
            for cmdline in runFile.readlines():
                # always remove @
                cmdline = cmdline.lstrip('@ ')
                if cmdline.lower().startswith("imgmount "):
                    if cmdline not in handled:
                        handled[cmdline] = self.commandHandler.handleImgmount(
                            cmdline, True)
                    runFileClone.write(handled[cmdline])
                    if self.conversionConf['useDebugMode']:
                        runFileClone.write("\npause\n")
                    else:
                        runFileClone.write("\n")
                else:
                    runFileClone.write(cmdline)
            runFileClone.close()
            runFile.close()
            # Delete runbat and rename runbat clone to runbat
            os.remove(
                os.path.join(gGator.getLocalGameDataOutputDir(), 'run.bat'))
            os.rename(
                os.path.join(gGator.getLocalGameDataOutputDir(), 'run.bat1'),
                os.path.join(gGator.getLocalGameDataOutputDir(), 'run.bat'))
        else:
            self.logger.log('      <ERROR> run.bat not found',
                            self.logger.ERROR)
    def test_change_folder(self):
        """Tests if the user is attempting to move the location
        of the directory tree.
        """

        test_user = CommandHandler()
        test_user.register("test8", "rgglherglse9421-4")
        test_user.login("test8", "rgglherglse9421-4")
        test_user.create_folder("movies")
        expected = "\nSuccessfully Moved to folder Root/test8\movies"
        actual = test_user.change_folder("movies")
        self.assertEqual(expected, actual)
        test_user.quit()
    def test_create_already_existing_folder(self):
        """Tests if the user is attempting to create
        a folder which is already existing.
        """

        test_user = CommandHandler()
        test_user.register("test7", "lognslb402193570")
        test_user.login("test7", "lognslb402193570")
        test_user.create_folder("movies")
        expected = "\nThe folder already exists!"
        actual = test_user.create_folder("movies")
        self.assertEqual(expected, actual)
        test_user.quit()
Esempio n. 23
0
from rollhandler import RollHandler

if __name__ == '__main__':
    client = discord.Client()

    rocks_db_location = os.getenv('ROCKS_DB_LOCATION', 'anathema.db')
    kv = KV(DB(rocks_db_location, Options(create_if_missing=True)))

    handlers = [
        RollHandler(kv),
        InspireHandler(),
        CharacterHandler(kv),
        ConditionHandler()
    ]

    command_handler = CommandHandler(kv, handlers.copy())

    handlers.append(command_handler)

    @client.event
    async def on_ready():
        """Handles bot start"""
        print('We have logged in as {0.user}'.format(client))

    @client.event
    async def on_message(message):
        """Entry point for all message handling"""
        if message.author == client.user:
            return

        for handler in handlers:
Esempio n. 24
0
 def __init__(self, gGator):
     self.logger = gGator.logger
     self.conversionConf = gGator.conversionConf
     self.commandHandler = CommandHandler(gGator)