Changeset 800


Ignore:
Timestamp:
03/07/11 18:23:14 (8 years ago)
Author:
aspidites
Message:

Patch by Aspidites:

  • removed optionparser.py
  • replaced with builtin optparse module, except in tools/pychan_designer
Location:
branches/active/character_customization/game
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • branches/active/character_customization/game/dialogue_demo.py

    r736 r800  
    2121import os 
    2222import sys 
     23from optparse import OptionParser 
    2324 
    24 from parpg.common.optionparser import OptionParser, OptionError 
    2525from parpg.dialogueparsers import YamlDialogueParser 
    2626from parpg.dialogueprocessor import DialogueProcessor 
    2727from parpg.quest_engine import QuestEngine 
    28  
    29 def setupLogging(): 
    30     """Set various logging parameters for this module.""" 
    31     logging.basicConfig(filename='dialogue_demo.log') 
    32 setupLogging() 
    33  
    34 PARPG_ROOT_DIR = os.path.dirname(__file__) 
    35 """Absolute path to the root of the PARPG installation.""" 
    36 DIALOGUE_DIR = os.path.join(PARPG_ROOT_DIR, 'dialogue') 
    37 """Absolute path to the dialogue directory of the PARPG installation.""" 
    38 USAGE_MESSAGE = '''\ 
    39 usage: dialogue_demo.py [-h] [dialogue_file] 
    40 Script for testing dialogue files. 
    41  
    42 -h, --help                  Show this help message. 
    43 dialogue_file               YAML file containing a dialogue; if not specified, 
    44                                 the user will be prompted to choose a dialogue 
    45                                 file from the dialogue directory. 
    46 ''' 
     28from parpg.settings import Settings 
    4729 
    4830class MockPlayerCharacter(object): 
     
    9981 
    10082 
    101 def selectDialogueFile(): 
     83def selectDialogueFile(settings): 
    10284    """ 
    10385    List all YAML dialogue files in the dialogue directory and prompt the user 
    10486    to select one for testing. 
    10587    """ 
    106     dialogue_files = [file_name for file_name in os.listdir(DIALOGUE_DIR)  
     88    dialogue_dir = os.path.join(settings.fife.DataDirectory,  
     89                                settings.parpg.DialoguesDirectory) 
     90    dialogue_files = [file_name for file_name in os.listdir(dialogue_dir)  
    10791                      if file_name.endswith('.yaml')] 
    10892    for index, file_name in enumerate(dialogue_files): 
     
    121105            break 
    122106     
    123     selected_file_path = os.path.join(DIALOGUE_DIR, selected_file_name) 
     107    selected_file_path = os.path.join(dialogue_dir, selected_file_name) 
    124108    return selected_file_path 
    125109 
     
    171155        dialogue_processor.reply(chosen_reply) 
    172156 
    173 def main(argv=sys.argv): 
    174     option_parser = OptionParser(usage=USAGE_MESSAGE) 
    175     for option in option_parser: 
    176         if (option in ['-h', '--help']): 
    177             print(option_parser.usage) 
    178             sys.exit(0) 
    179         else: 
    180             option_parser.error('unrecognized option "{0}"'.format(option)) 
     157def main(): 
     158    parser = OptionParser(description='Script for testing dialogue files') 
     159    parser.add_option('-s', '--settings', nargs=2, 
     160                      dest='paths', default=['.'], 
     161                      help='One or more paths to load settings from') 
     162    parser.add_option('-f', '--logfile', 
     163                        help='Name of log file to save to') 
     164    parser.add_option('-l', '--loglevel', default='critical', 
     165                    help='desired output level for log file') 
     166     
     167    opts, args = parser.parse_args() 
     168 
     169    settings = Settings(*opts.paths) 
     170 
     171    levels = {'debug': logging.DEBUG, 
     172              'info': logging.INFO, 
     173              'warning': logging.WARNING, 
     174              'error': logging.ERROR, 
     175              'critical': logging.CRITICAL} 
     176 
     177    #TODO: setup formating 
     178    logging.basicConfig(filename=opts.logfile, level=levels[opts.loglevel]) 
     179    logger = logging.getLogger('dialogue_demo') 
     180 
    181181    try: 
    182         dialogue_file_path = option_parser.get_next_prog_arg() 
    183     except OptionError: 
    184         dialogue_file_path = selectDialogueFile() 
     182        dialogue_file_path = args[0] 
     183    except IndexError: 
     184        logger.info('No dialogue file provided, generating a list..') 
     185        dialogue_file_path = selectDialogueFile(settings) 
     186 
    185187    game_state = { 
    186188        'quest': QuestEngine('quests'), 
  • branches/active/character_customization/game/run.py

    r798 r800  
    2222# Python 2.6 or lower 
    2323parser = OptionParser(description='PARPG Launcher Script') 
    24 parser.add_option('-s', '--settings', nargs='+', 
    25                     dest='paths', metavar='paths', 
    26                     default=['.'], 
     24parser.add_option('-s', '--settings', nargs=2, 
     25                    dest='paths', default=['.'], 
    2726                    help='One or more paths to load settings from') 
    2827parser.add_option('-f', '--logfile', 
     
    3029parser.add_option('-l', '--loglevel', default='critical', 
    3130                    help='desired output level for log file') 
    32 args, _ = parser.parse_args() 
     31opts, args = parser.parse_args() 
    3332 
    3433 
    3534# initialize settings 
    36 settings = Settings('.') 
     35settings = Settings(*opts.paths) 
    3736 
    3837levels = {'debug': logging.DEBUG, 
     
    4342 
    4443#TODO: setup formating 
    45 logging.basicConfig(filename=args.logfile, level=levels[args.loglevel]) 
     44logging.basicConfig(filename=opts.logfile, level=levels[opts.loglevel]) 
    4645logger = logging.getLogger('parpg') 
    4746 
  • branches/active/character_customization/game/utilities/convert_dialogue.py

    r736 r800  
    77import os.path 
    88import sys 
    9 sys.path.append(os.path.realpath(os.path.join(os.path.dirname(sys.argv[0]), 
    10                                  os.path.pardir))) 
     9sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), 
     10                                                 os.path.pardir))) 
    1111import shutil 
    1212import logging 
     13from optparse import OptionParser 
    1314 
    14 from parpg.common.optionparser import OptionParser 
    15 from parpg.dialogueparser import (OldYamlDialogueParser, YamlDialogueParser, 
    16     DialogueFormatError) 
     15from parpg.dialogueparsers import (OldYamlDialogueParser, YamlDialogueParser, 
     16                                   DialogueFormatError) 
    1717 
    1818def backup_file(filepath): 
     
    5252syntax. 
    5353 
    54     -h, --help             show this help message 
    55     -n, --no-backup        don't backup files before converting them 
    56     -v, --verbose          increase the verbosity of the script logger; may be 
    57                                specified multiple times to increase the logger 
    58                                output 
    59     -q, --quiet            decrease the verbosity of the script logger; may be 
    60                               specified multiple times to decrease the logger 
    61                               output 
    62  
    6354If the file_or_dir argument is a directory, then this script will attempt to 
    6455convert all .yaml files in the directory that contain valid dialogues. 
     
    7465    logging_level = logging.WARNING 
    7566     
    76     option_parser = OptionParser(usage=usage_message, args=argv[1:]) 
    77     for option in option_parser: 
    78         if (option == '-h' or option == '--help'): 
    79             print(option_parser.usage) 
    80             sys.exit(0) 
    81         elif (option == '-n' or option == '--no-backup'): 
    82             backup = False 
    83         elif (option == '-v' or option == '--verbose'): 
    84             logging_level -= 10 
    85         elif (option == '-q' or option == '--quiet'): 
    86             logging_level += 10 
    87         else: 
    88             # invalid option 
    89             message = '"{0}" is not a valid argument or option'.format(option) 
    90             option_parser.error(message) 
    91     logging.basicConfig(format='%(message)s', level=logging_level, 
    92                         stream=sys.stdout) 
     67    parser = OptionParser(usage=usage_message, 
     68                          description="Convert YAML dialogue files written " 
     69                                      "in Techdemo1 syntax to the new " 
     70                                      "Techdemo2 syntax.") 
     71    parser.add_option('-n', '--no-backup', default=True) 
     72    parser.add_option('-v', '--verbose', action='count', default=0) 
     73    parser.add_option('-q', '--quiet', action='count', default=0) 
     74    opts, args = parser.parse_args() 
     75 
    9376     
    94     path = option_parser.get_next_prog_arg() 
     77    verbosity = opts.verbose * 10 
     78    quietness = - (opts.quiet * 10) 
     79    logging_level += (verbosity + quietness) 
     80    logging.basicConfig(format='%(message)s', level=logging_level) 
     81 
     82    try: 
     83        path = args[0] 
     84    except IndexError: 
     85        parser.print_help() 
     86        sys.exit(1) 
     87         
    9588    if (os.path.isdir(path)): 
    9689        for filepath in os.listdir(path): 
Note: See TracChangeset for help on using the changeset viewer.