def main(sys_args=None): parser = argparse.ArgumentParser() parser.add_argument( "-s", "--settings_path", dest="settings_path", default=None) parser.add_argument("-d", "--directory", dest="directory", default=None) parser.add_argument( "-c", "--changelog", help="also generate debian/changelog", dest="changelog", action="store_true", default=False) sys_args = sys_args if sys_args is not None else sys.argv[1:] args = parser.parse_args(sys_args) directory = args.directory or os.getcwd() settings_path = args.settings_path or os.path.join(directory, "deb.json") with open(settings_path, "rb") as settings_fp: settings = json.loads(settings_fp.read().decode("utf8")) initialize_debian_folder(settings, directory) if args.changelog: from debfolder import git_helpers project = settings["project"] changelog = [] for commit in git_helpers.parse_commits(cwd=directory): log_line = git_helpers.generate_changelog_entry(project, commit) changelog.append(log_line) changelog_path = os.path.join(directory, "debian", "changelog") with open(changelog_path, "wb") as changelog_fp: changelog_fp.write("\n".join(changelog).encode("utf8"))
def test_generate_changelog_allows_overriding(self): entry = git_helpers.generate_changelog_entry( "project", TEST_COMMIT, upload_target="UPLOAD", urgency="high", version=lambda x: "1.0.1-1") expected = EXPECTED_ENTRIES[0].replace("UNRELEASED", "UPLOAD") expected = expected.replace("urgency=low", "urgency=high") expected = expected.replace("2015.0815.160741-hash", "1.0.1-1") self.assertEqual(expected, entry)
def test_generate_changelog_allows_overriding(self): entry = git_helpers.generate_changelog_entry( "project", TEST_COMMIT, upload_target="UPLOAD", urgency="high", version=lambda x: "1.0.1-1") expected = EXPECTED_ENTRIES[0].replace("UNRELEASED", "UPLOAD") expected = expected.replace("urgency=low", "urgency=high") expected = expected.replace("2015.0815.160741-hash", "1.0.1-1") self.assertEqual(expected, entry)
def test_generate_changelog_entry_formats_to_debian_specification(self): entry = git_helpers.generate_changelog_entry("project", TEST_COMMIT) self.assertEqual(EXPECTED_ENTRIES[0], entry)
def test_generate_changelog_entry_formats_to_debian_specification(self): entry = git_helpers.generate_changelog_entry("project", TEST_COMMIT) self.assertEqual(EXPECTED_ENTRIES[0], entry)