Esempio n. 1
0
    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)
Esempio n. 2
0
	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)
Esempio n. 3
0
    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)
Esempio n. 4
0
 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()
Esempio n. 5
0
	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()
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)
Esempio n. 8
0
    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)