Example #1
0
from devtools.blueprint_files import Header
from devtools.block_config import BlockConfig


if __name__ == "__main__":
    parser = ArgumentParser(description='Show informations about a blueprint',
                            epilog="""pysmade  Copyright (C) 2015, Martin
Billinger. This program comes with ABSOLUTELY NO WARRANTY; This is free
software, and you are welcome to redistribute it under certain conditions; see
the GNU General Public License for more details.""")
    parser.add_argument('PATH_TO_BLUEPRINT')
    parser.add_argument('--starmade', dest='PATH_TO_STARMADE', help='Path to Starmade')
    args = vars(parser.parse_args())

    header = Header.from_file(path.join(args['PATH_TO_BLUEPRINT'],
                                        'header.smbph'))
    print(args['PATH_TO_BLUEPRINT'])
    print('\nHeader\n------')
    print('    Version : {}'.format(header.version))
    print('Entity type : {}'.format(header.type.name))
    print('Bounding box: ({}, {}, {}) - ({}, {}, {})'.format(header.xmin,
                                                             header.ymin,
                                                             header.zmin,
                                                             header.xmax,
                                                             header.ymax,
                                                             header.zmax))

    if args['PATH_TO_STARMADE']:
        blocks = BlockConfig(path.join(args['PATH_TO_STARMADE'],
                                       'data/config/BlockTypes.properties'),
                             path.join(args['PATH_TO_STARMADE'],
def test_header_read_write_consistency():
    original = Header(1, EntityTypes.asteroid, -1, -2, -3, 4, 5, 6, {7: 800, 13: 900, 3: 42})
    original.to_file('test.smbph')
    copied = Header.from_file('test.smbph')
    os.remove('test.smbph')
    assert_headers_equal(original, copied)