Mercurial > repos > iuc > ncbi_eutils_einfo
comparison __efetch_build_options.py @ 1:5b1dc5936af2 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_eutils commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
| author | iuc |
|---|---|
| date | Tue, 30 Oct 2018 19:10:17 -0400 |
| parents | 32ac58827a97 |
| children | cd5a82a16bbf |
comparison
equal
deleted
inserted
replaced
| 0:32ac58827a97 | 1:5b1dc5936af2 |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Daniel Blankenberg | 2 # Daniel Blankenberg |
| 3 # Creates the options for tool interface | 3 # Creates the options for tool interface |
| 4 from __future__ import print_function | |
| 5 | |
| 4 import re | 6 import re |
| 5 | 7 |
| 6 # http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi | 8 # http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi |
| 7 db_list = ''' | 9 db_list = ''' |
| 8 <DbName>annotinfo</DbName> | 10 <DbName>annotinfo</DbName> |
| 162 for db_name in db_list: | 164 for db_name in db_list: |
| 163 db[db_name] = [] | 165 db[db_name] = [] |
| 164 | 166 |
| 165 section = None | 167 section = None |
| 166 for line in help: | 168 for line in help: |
| 167 line = re.split('\s{2,}', line.strip()) | 169 line = re.split(r'\s{2,}', line.strip()) |
| 168 # Ignore empties | 170 # Ignore empties |
| 169 if len(line) == 0: | 171 if len(line) == 0: |
| 170 continue | 172 continue |
| 171 # Section headers have one item | 173 # Section headers have one item |
| 172 elif len(line) == 1: | 174 elif len(line) == 1: |
| 212 | 214 |
| 213 FORMAT_OPTION_TPL = '''<option value="{name_type}">{name_type_human}</option>''' | 215 FORMAT_OPTION_TPL = '''<option value="{name_type}">{name_type_human}</option>''' |
| 214 | 216 |
| 215 format_names = {} | 217 format_names = {} |
| 216 | 218 |
| 217 print ''' <xml name="db"> | 219 print(''' <xml name="db"> |
| 218 <conditional name="db"> | 220 <conditional name="db"> |
| 219 <expand macro="dbselect" />''' | 221 <expand macro="dbselect" />''') |
| 220 for key in sorted(db): | 222 for key in sorted(db): |
| 221 format_options = [] | 223 format_options = [] |
| 222 | 224 |
| 223 for (parent_format, format_modifier, description) in sorted(db[key]): | 225 for (parent_format, format_modifier, description) in sorted(db[key]): |
| 224 name_human = description | 226 name_human = description |
| 231 name_type_human=name_human, | 233 name_type_human=name_human, |
| 232 )) | 234 )) |
| 233 | 235 |
| 234 format_names[format_string] = format_modifier | 236 format_names[format_string] = format_modifier |
| 235 | 237 |
| 236 print WHEN_TPL.format( | 238 print(WHEN_TPL.format( |
| 237 format=key, | 239 format=key, |
| 238 format_options='\n '.join(format_options) | 240 format_options='\n '.join(format_options) |
| 239 ) | 241 )) |
| 240 | 242 |
| 241 print ''' </conditional> | 243 print(''' </conditional> |
| 242 </xml>''' | 244 </xml>''') |
| 243 | 245 |
| 244 CHANGE_FORMAT_TPL = ''' | 246 CHANGE_FORMAT_TPL = ''' |
| 245 <xml name="efetch_formats"> | 247 <xml name="efetch_formats"> |
| 246 <change_format> | 248 <change_format> |
| 247 {formats} | 249 {formats} |
| 262 | 264 |
| 263 whens.append(CHANGE_FORMAT_WHEN_TPL.format( | 265 whens.append(CHANGE_FORMAT_WHEN_TPL.format( |
| 264 key=k, value=v | 266 key=k, value=v |
| 265 )) | 267 )) |
| 266 | 268 |
| 267 print CHANGE_FORMAT_TPL.format(formats='\n '.join(whens)) | 269 print(CHANGE_FORMAT_TPL.format(formats='\n '.join(whens))) |
