| OLD | NEW |
| 1 # Copyright (c) 2009, Google Inc. All rights reserved. | 1 # Copyright (c) 2009, Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 for item in lists[i]: | 76 for item in lists[i]: |
| 77 item_index += 1 | 77 item_index += 1 |
| 78 print "%2d. %s" % (item_index, item) | 78 print "%2d. %s" % (item_index, item) |
| 79 cumulated_list += lists[i] | 79 cumulated_list += lists[i] |
| 80 return cls._wait_on_list_response(cumulated_list, can_choose_multiple, r
aw_input) | 80 return cls._wait_on_list_response(cumulated_list, can_choose_multiple, r
aw_input) |
| 81 | 81 |
| 82 @classmethod | 82 @classmethod |
| 83 def _wait_on_list_response(cls, list_items, can_choose_multiple, raw_input): | 83 def _wait_on_list_response(cls, list_items, can_choose_multiple, raw_input): |
| 84 while True: | 84 while True: |
| 85 if can_choose_multiple: | 85 if can_choose_multiple: |
| 86 response = cls.prompt("Enter one or more numbers (comma-separate
d) or ranges (e.g. 3-7), or \"all\": ", raw_input=raw_input) | 86 response = cls.prompt( |
| 87 "Enter one or more numbers (comma-separated) or ranges (e.g.
3-7), or \"all\": ", raw_input=raw_input) |
| 87 if not response.strip() or response == "all": | 88 if not response.strip() or response == "all": |
| 88 return list_items | 89 return list_items |
| 89 | 90 |
| 90 try: | 91 try: |
| 91 indices = [] | 92 indices = [] |
| 92 for value in re.split("\s*,\s*", response): | 93 for value in re.split("\s*,\s*", response): |
| 93 parts = value.split('-') | 94 parts = value.split('-') |
| 94 if len(parts) == 2: | 95 if len(parts) == 2: |
| 95 indices += range(int(parts[0]) - 1, int(parts[1])) | 96 indices += range(int(parts[0]) - 1, int(parts[1])) |
| 96 else: | 97 else: |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 try: | 144 try: |
| 144 webbrowser.get() | 145 webbrowser.get() |
| 145 return True | 146 return True |
| 146 except webbrowser.Error, e: | 147 except webbrowser.Error, e: |
| 147 return False | 148 return False |
| 148 | 149 |
| 149 def open_url(self, url): | 150 def open_url(self, url): |
| 150 if not self.can_open_url(): | 151 if not self.can_open_url(): |
| 151 _log.warn("Failed to open %s" % url) | 152 _log.warn("Failed to open %s" % url) |
| 152 webbrowser.open(url) | 153 webbrowser.open(url) |
| OLD | NEW |