Showing the changes to python (1 of 1 file). Show all
Unified · Split
| @@ -129,17 +129,29 @@ def analyze_cpp_output(cpp_objects, cpp_output): · 128 unmodified lines | ||
| 129 | 129 | lib = {} |
| 130 | 130 | |
| 131 | 131 | for o in cpp_objects: |
| 132 | − if o[:6] != 'aubio_': | |
| 133 | − continue | |
| 134 | − shortname = o[6:-2] | |
| 132 | + shortname = '' | |
| 133 | + if o[:6] == 'aubio_': | |
| 134 | + shortname = o[6:-2] # without aubio_ | |
| 135 | + longname = o[:-2] # without _t | |
| 136 | + else: # support object not starting with aubio_ (fvec...) | |
| 137 | + shortname = o | |
| 138 | + longname = shortname | |
| 139 | + | |
| 135 | 140 | if shortname in skip_objects: |
| 136 | 141 | continue |
| 137 | 142 | lib[shortname] = {'struct': [], 'new': [], 'del': [], 'do': [], 'get': [], 'set': [], 'other': []} |
| 138 | 143 | lib[shortname]['longname'] = o |
| 139 | 144 | lib[shortname]['shortname'] = shortname |
| 145 | + valid_funcname_part = ['_'+longname,longname+'_'] | |
| 146 | + | |
| 140 | 147 | for fn in cpp_output: |
| 141 | − if o[:-1] in fn: | |
| 142 | − #print "found", o[:-1], "in", fn | |
| 148 | + func_name = fn.split('(')[0].strip().split(' ')[1:] | |
| 149 | + if func_name: | |
| 150 | + func_name = func_name[-1] | |
| 151 | + else: | |
| 152 | + raise NameError('Warning : error while parsing : unexpected line %s' % fn) | |
| 153 | + if any(x in func_name for x in valid_funcname_part): | |
| 154 | + # print "found", shortname, "in", fn | |
| 143 | 155 | if 'typedef struct ' in fn: |
| 144 | 156 | lib[shortname]['struct'].append(fn) |
| 145 | 157 | elif '_do' in fn: |