def __init__(self, revs, parent=None): super(RevisionTab, self).__init__(parent) layout = QtGui.QGridLayout() layout.addWidget(QtGui.QLabel("Type:"), 1, 0) layout.addWidget(QtGui.QLabel("Modification time:"), 2, 0) layout.addWidget(QtGui.QLabel("Size:"), 3, 0) layout.addWidget(QtGui.QLabel("Stores:"), 4, 0) col = 1 for rev in revs: stat = Connector().stat(rev) layout.addWidget(RevButton(rev, True), 0, col) layout.addWidget(QtGui.QLabel(Registry().getDisplayString(stat.type())), 1, col) layout.addWidget(QtGui.QLabel(str(stat.mtime())), 2, col) size = 0 for part in stat.parts(): size += stat.size(part) for unit in ["Bytes", "KiB", "MiB", "GiB"]: if size < (1 << 10): break else: size = size >> 10 sizeText = "%d %s (%d parts)" % (size, unit, len(stat.parts())) layout.addWidget(QtGui.QLabel(sizeText), 3, col) storeLayout = QtGui.QVBoxLayout() for store in Connector().lookup_rev(rev): storeLayout.addWidget(DocButton(store, True)) layout.addLayout(storeLayout, 4, col) col += 1 self.setLayout(layout)
def assertRevContent(self, rev, content): with Connector().peek(rev) as r: for (part, data) in content.items(): revData = r.readAll(part) self.assertEqual(revData, data) s = Connector().stat(rev) for part in s.parts(): self.assertTrue(part in content)
def __doCreate(self, sourceRev): info = Connector().stat(sourceRev) destStores = Connector().lookup_rev(self.rev()) with Connector().create(info.type(), info.creator(), destStores) as w: with Connector().peek(sourceRev) as r: for part in info.parts(): w.write(part, r.readAll(part)) w.commit() destDoc = w.getDoc() # add link self.model().insertLink(struct.DocLink(destDoc)) # save immediately self.save()
def __init__(self, revs, parent=None): super(RevisionTab, self).__init__(parent) layout = QtGui.QGridLayout() layout.addWidget(QtGui.QLabel("Type:"), 1, 0) layout.addWidget(QtGui.QLabel("Modification time:"), 2, 0) layout.addWidget(QtGui.QLabel("Size:"), 3, 0) layout.addWidget(QtGui.QLabel("Stores:"), 4, 0) col = 1 for rev in revs: stat = Connector().stat(rev) layout.addWidget(RevButton(rev, True), 0, col) layout.addWidget( QtGui.QLabel(Registry().getDisplayString(stat.type())), 1, col) layout.addWidget(QtGui.QLabel(str(stat.mtime())), 2, col) size = 0 for part in stat.parts(): size += stat.size(part) for unit in ['Bytes', 'KiB', 'MiB', 'GiB']: if size < (1 << 10): break else: size = size >> 10 sizeText = "%d %s (%d parts)" % (size, unit, len(stat.parts())) layout.addWidget(QtGui.QLabel(sizeText), 3, col) storeLayout = QtGui.QVBoxLayout() for store in Connector().lookup_rev(rev): storeLayout.addWidget(DocButton(store, True)) layout.addLayout(storeLayout, 4, col) col += 1 self.setLayout(layout)
def __init__(self, revs, parent=None): super(HistoryTab, self).__init__(parent) # TODO: implement something nice gitk like... self.__historyList = [] self.__historyRevs = [] heads = revs[:] while len(heads) > 0: newHeads = [] for rev in heads: try: if rev not in self.__historyRevs: stat = Connector().stat(rev) mtime = str(stat.mtime()) comment = "" if 'META' in stat.parts(): try: with Connector().peek(rev) as r: metaData = struct.loads(r.readAll('META')) comment = extractMetaData( metaData, [ "org.hotchpotch.annotation", "comment" ], "") except IOError: pass self.__historyList.append(mtime + " - " + comment) self.__historyRevs.append(rev) newHeads.extend(stat.parents()) except IOError: pass heads = newHeads self.__historyListBox = QtGui.QListWidget() self.__historyListBox.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.__historyListBox.insertItems(0, self.__historyList) QtCore.QObject.connect( self.__historyListBox, QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"), self.__open) layout = QtGui.QVBoxLayout() layout.addWidget(self.__historyListBox) self.setLayout(layout)
def __init__(self, revs, parent=None): super(HistoryTab, self).__init__(parent) # TODO: implement something nice gitk like... self.__historyList = [] self.__historyRevs = [] heads = revs[:] while len(heads) > 0: newHeads = [] for rev in heads: try: if rev not in self.__historyRevs: stat = Connector().stat(rev) mtime = str(stat.mtime()) comment = "" if "META" in stat.parts(): try: with Connector().peek(rev) as r: metaData = struct.loads(r.readAll("META")) comment = extractMetaData(metaData, ["org.hotchpotch.annotation", "comment"], "") except IOError: pass self.__historyList.append(mtime + " - " + comment) self.__historyRevs.append(rev) newHeads.extend(stat.parents()) except IOError: pass heads = newHeads self.__historyListBox = QtGui.QListWidget() self.__historyListBox.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.__historyListBox.insertItems(0, self.__historyList) QtCore.QObject.connect( self.__historyListBox, QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"), self.__open ) layout = QtGui.QVBoxLayout() layout.addWidget(self.__historyListBox) self.setLayout(layout)