Splits out the main part of the version number from any beta tags, and the beta number >>> get_version_parts('1.0') ('1.0', None, None) >>> get_version_parts('1.0.1') ('1.0.1', None, None) >>> get_version_parts('1.0-beta') ('1.0', 'beta', 1) >>> g
(version)
| 37 | return False |
| 38 | |
| 39 | def get_version_parts(version): |
| 40 | ''' |
| 41 | Splits out the main part of the version number from any beta tags, and the beta number |
| 42 | |
| 43 | >>> get_version_parts('1.0') |
| 44 | ('1.0', None, None) |
| 45 | |
| 46 | >>> get_version_parts('1.0.1') |
| 47 | ('1.0.1', None, None) |
| 48 | |
| 49 | >>> get_version_parts('1.0-beta') |
| 50 | ('1.0', 'beta', 1) |
| 51 | |
| 52 | >>> get_version_parts('1.0.1-beta') |
| 53 | ('1.0.1', 'beta', 1) |
| 54 | |
| 55 | >>> get_version_parts('1.0-beta1') |
| 56 | ('1.0', 'beta', 1) |
| 57 | |
| 58 | >>> get_version_parts('1.0.2-beta1') |
| 59 | ('1.0.2', 'beta', 1) |
| 60 | |
| 61 | ''' |
| 62 | |
| 63 | matches = re.match(r'(?P<version_num>[\d\.]+)\-?(?P<beta>\D+)?(?P<beta_num>\d+)?', version) |
| 64 | version_num = matches.group('version_num') |
| 65 | beta_tag = matches.group('beta') |
| 66 | beta_num = matches.group('beta_num') |
| 67 | |
| 68 | beta_num = (int(beta_num or 1)) if beta_tag else None |
| 69 | |
| 70 | return (version_num, beta_tag, beta_num) |
| 71 | |
| 72 | def get_version_notes(version_num, changes): |
| 73 | r''' |
no outgoing calls
no test coverage detected