def test_compatibility_with_timestamps(self): the_time = float(floor(time.time())) iso = from_timestamp_to_iso8601(the_time) old_contents = '{"revisions": [{"revision": "rev1", "time": %s}, ' \ '{"revision": "rev2", "time": "%s"}]}' % (the_time, the_time) r_list = RevisionList.loads(old_contents) when = r_list.get_time("rev1") self.assertEqual(when, iso)
def _get_revisions_list(self, rev_file_path): if self._storage_adapter.path_exists(rev_file_path): rev_file = self._storage_adapter.read_file( rev_file_path, lock_file=rev_file_path + ".lock") rev_list = RevisionList.loads(rev_file) return rev_list else: return RevisionList()
def _remove_revision(self, rev_file_path, revision): rev_file = self._storage_adapter.read_file(rev_file_path, lock_file=rev_file_path + ".lock") rev_list = RevisionList.loads(rev_file) rev_list.remove_revision(revision) self._storage_adapter.write_file(rev_file_path, rev_list.dumps(), lock_file=rev_file_path + ".lock")
def test_remove_non_latest(self): rev = RevisionList() rev.add_revision("rev1") rev.add_revision("rev2") dumped = rev.dumps() loaded = RevisionList.loads(dumped) loaded.remove_revision("rev1") self.assertEqual(loaded.latest_revision().revision, "rev2")
def _update_last_revision(self, rev_file_path, ref): if self._storage_adapter.path_exists(rev_file_path): rev_file = self._storage_adapter.read_file( rev_file_path, lock_file=rev_file_path + ".lock") rev_list = RevisionList.loads(rev_file) else: rev_list = RevisionList() if ref.revision is None: raise ConanException("Invalid revision for: %s" % ref.full_repr()) rev_list.add_revision(ref.revision) self._storage_adapter.write_file(rev_file_path, rev_list.dumps(), lock_file=rev_file_path + ".lock")
def test_remove_latest(self): rev = RevisionList() rev.add_revision("rev1") rev.add_revision("rev2") dumped = rev.dumps() loaded = RevisionList.loads(dumped) self.assertEquals(rev, loaded) self.assertEquals(loaded.latest_revision().revision, "rev2") loaded.remove_revision("rev2") self.assertEquals(loaded.latest_revision().revision, "rev1") self.assertIsNotNone(loaded.latest_revision().time)
def _load_package_revision_list(self, pref): path = self._package_revisions_file(pref) rev_file = self._storage_adapter.read_file(path, lock_file=path + ".lock") return RevisionList.loads(rev_file)
def _load_revision_list(self, reference): path = self._recipe_revisions_file(reference) rev_file = self._storage_adapter.read_file(path, lock_file=path + ".lock") return RevisionList.loads(rev_file)