def test_changelog(self): """Test changelog methods""" spec_filepath = os.path.join(SPEC_DIR, "gbp-test2.spec") spec = SpecFile(spec_filepath) # Read changelog eq_(spec.get_changelog(), "* Tue Feb 04 2014 Name <email> 1\n- My change\n\n\n") # Set changelog and check again new_text = "* Wed Feb 05 2014 Name <email> 2\n- New entry\n\n\n" spec.set_changelog(new_text) eq_(spec.get_changelog(), new_text)
def test_changelog(self): """Test changelog methods""" spec_filepath = os.path.join(SPEC_DIR, 'gbp-test2.spec') spec = SpecFile(spec_filepath) # Read changelog eq_(spec.get_changelog(), "* Tue Feb 04 2014 Name <email> 1\n- My change\n\n\n") # Set changelog and check again new_text = "* Wed Feb 05 2014 Name <email> 2\n- New entry\n\n\n" spec.set_changelog(new_text) eq_(spec.get_changelog(), new_text)
class ChangelogFile(object): """Container for changelog file, whether it be a standalone changelog or a spec file""" def __init__(self, file_path): parser = ChangelogParser(RpmPkgPolicy) if os.path.splitext(file_path)[1] == '.spec': gbp.log.debug("Using spec file '%s' as changelog" % file_path) self._file = SpecFile(file_path) self.changelog = parser.raw_parse_string(self._file.get_changelog()) else: self._file = os.path.abspath(file_path) if not os.path.exists(file_path): gbp.log.info("Changelog '%s' not found, creating new " "changelog file" % file_path) self.changelog = Changelog(RpmPkgPolicy) else: gbp.log.debug("Using changelog file '%s'" % file_path) self.changelog = parser.raw_parse_file(self._file) # Parse topmost section and try to determine the start commit if self.changelog.sections: self.changelog.sections[0] = parser.parse_section( self.changelog.sections[0]) def write(self): """Write changelog file to disk""" if isinstance(self._file, SpecFile): self._file.set_changelog(str(self.changelog)) self._file.write_spec_file() else: with open(self._file, 'w') as fobj: fobj.write(str(self.changelog)) @property def path(self): """File path""" if isinstance(self._file, SpecFile): return self._file.specpath else: return self._file
class ChangelogFile(object): """Container for changelog file, whether it be a standalone changelog or a spec file""" def __init__(self, file_path): parser = ChangelogParser(RpmPkgPolicy) if os.path.splitext(file_path)[1] == '.spec': gbp.log.debug("Using spec file '%s' as changelog" % file_path) self._file = SpecFile(file_path) self.changelog = parser.raw_parse_string( self._file.get_changelog()) else: self._file = os.path.abspath(file_path) if not os.path.exists(file_path): gbp.log.info("Changelog '%s' not found, creating new " "changelog file" % file_path) self.changelog = Changelog(RpmPkgPolicy) else: gbp.log.debug("Using changelog file '%s'" % file_path) self.changelog = parser.raw_parse_file(self._file) # Parse topmost section and try to determine the start commit if self.changelog.sections: self.changelog.sections[0] = parser.parse_section( self.changelog.sections[0]) def write(self): """Write changelog file to disk""" if isinstance(self._file, SpecFile): self._file.set_changelog(str(self.changelog)) self._file.write_spec_file() else: with open(self._file, 'w') as fobj: fobj.write(str(self.changelog)) @property def path(self): """File path""" if isinstance(self._file, SpecFile): return self._file.specpath else: return self._file