Example #1
0
 def addTrash(self):
     newItem = NWItem(self)
     newItem.setName("Trash")
     newItem.setType(nwItemType.TRASH)
     newItem.setClass(nwItemClass.TRASH)
     self._appendItem(None, None, newItem)
     return newItem.itemHandle
Example #2
0
 def newFolder(self, folderName, folderClass, pHandle):
     newItem = NWItem(self)
     newItem.setName(folderName)
     newItem.setType(nwItemType.FOLDER)
     newItem.setClass(folderClass)
     newItem.setStatus(0)
     self._appendItem(None, pHandle, newItem)
     return newItem.itemHandle
Example #3
0
 def newRoot(self, rootName, rootClass):
     if not self.checkRootUnique(rootClass):
         self.makeAlert("Duplicate root item detected!", nwAlert.ERROR)
         return None
     newItem = NWItem(self)
     newItem.setName(rootName)
     newItem.setType(nwItemType.ROOT)
     newItem.setClass(rootClass)
     newItem.setStatus(0)
     self._appendItem(None, None, newItem)
     return newItem.itemHandle
Example #4
0
    def _scanProjectFolder(self):

        if self.projPath is None:
            return

        # First, scan the project data folders
        itemList = []
        for subItem in listdir(self.projPath):
            if subItem[:5] != "data_":
                continue
            dataDir = path.join(self.projPath, subItem)
            for subFile in listdir(dataDir):
                if subFile[-4:] == ".nwd":
                    newItem = path.join(subItem, subFile)
                    itemList.append(newItem)

        # Then check the valid files
        orphanFiles = []
        for fileItem in itemList:
            if len(fileItem) != 28:
                # Just to be safe, shouldn't happen
                logger.warning("Skipping file %s" % fileItem)
                continue
            fHandle = fileItem[5] + fileItem[7:19]
            if fHandle in self.treeOrder:
                logger.debug("Checking file %s, handle %s: OK" %
                             (fileItem, fHandle))
            else:
                logger.debug("Checking file %s, handle %s: Orphaned" %
                             (fileItem, fHandle))
                orphanFiles.append(fHandle)

        # Report status
        if len(orphanFiles) > 0:
            self.makeAlert(
                "Found %d orphaned file(s) in project folder!" %
                len(orphanFiles), nwAlert.WARN)
        else:
            logger.debug("File check OK")
            return

        # Handle orphans
        nOrph = 0
        for oHandle in orphanFiles:
            nOrph += 1
            orItem = NWItem(self)
            orItem.setName("Orphaned File %d" % nOrph)
            orItem.setType(nwItemType.FILE)
            orItem.setClass(nwItemClass.NO_CLASS)
            orItem.setLayout(nwItemLayout.NO_LAYOUT)
            self._appendItem(oHandle, None, orItem)

        return
Example #5
0
 def newFile(self, fileName, fileClass, pHandle):
     newItem = NWItem(self)
     newItem.setName(fileName)
     newItem.setType(nwItemType.FILE)
     if fileClass == nwItemClass.NOVEL:
         newItem.setLayout(nwItemLayout.SCENE)
     else:
         newItem.setLayout(nwItemLayout.NOTE)
     newItem.setClass(fileClass)
     newItem.setStatus(0)
     self._appendItem(None, pHandle, newItem)
     return newItem.itemHandle