-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathconverter.py
102 lines (86 loc) · 2.25 KB
/
converter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#-*- coding: utf-8 -*-
# Colobot Model Converter
# Version 1.6
# Copyright (c) 2014 Tomasz Kapuściński
import sys
import geometry
import modelformat
# put libraries with model format implementations here
import objformat
import colobotformat
#import colladaformat
# parse arguments
i = 1
n = len(sys.argv)
batch_mode = False
file_list = []
in_filename = None
in_format = 'default'
in_params = {}
out_filename = None
out_format = 'default'
out_params = {}
while i < n:
arg = sys.argv[i]
if arg == '-i':
in_filename = sys.argv[i+1]
i = i + 2
elif arg == '-if':
in_format = sys.argv[i+1]
i = i + 2
elif arg == '-id':
in_params['directory'] = sys.argv[i+1]
i = i + 2
elif arg == '-ip':
text = sys.argv[i+1]
if '=' in text:
pair = text.split('=')
in_params[pair[0]] = pair[1]
else:
in_params[text] = 'none'
i = i + 2
elif arg == '-o':
out_filename = sys.argv[i+1]
i = i + 2
elif arg == '-of':
out_format = sys.argv[i+1]
i = i + 2
elif arg == '-od':
out_params['directory'] = sys.argv[i+1]
i = i + 2
elif arg == '-op':
text = sys.argv[i+1]
if '=' in text:
pair = text.split('=')
out_params[pair[0]] = pair[1]
else:
out_params[text] = 'none'
i = i + 2
elif arg == '-batch':
batch_mode = True
i = i + 1
elif arg == '-add':
file_list.append(sys.argv[i+1])
i = i + 2
elif arg == '-addlist':
listfile = open(sys.argv[i+1], 'r')
for line in listfile.readlines():
if len(line) == 0: continue
if line[-1] == '\n': line = line[:-1]
file_list.append(line)
listfile.close();
i = i + 2
elif arg == '-f':
modelformat.print_formats()
exit()
elif arg == '-ext':
modelformat.print_extensions()
exit()
else:
print('Unknown switch: {}'.format(arg))
exit()
# convert file
if batch_mode:
modelformat.convert_list(file_list, in_format, in_params, out_format, out_params)
else:
modelformat.convert(in_format, in_filename, in_params, out_format, out_filename, out_params)