Added some the tree building code, with the help of 3 G&Ts.
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# -*- coding: utf-8 -*
|
||||
"""novelWriter Project Item
|
||||
|
||||
novelWriter – Project Item
|
||||
============================
|
||||
Class holding a project item
|
||||
|
||||
File History:
|
||||
Created: 2018-10-27 [0.1.0]
|
||||
|
||||
"""
|
||||
|
||||
import logging
|
||||
import nw
|
||||
|
||||
from os import path, mkdir
|
||||
from lxml import etree
|
||||
from datetime import datetime
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class NWItem():
|
||||
|
||||
TYPE_ROOT = 0
|
||||
TYPE_FOLDER = 1
|
||||
TYPE_FILE = 2
|
||||
|
||||
CLASS_NONE = 0
|
||||
CLASS_NOVEL = 1
|
||||
CLASS_CHARACTER = 2
|
||||
CLASS_WORLD = 3
|
||||
|
||||
def __init__(self):
|
||||
|
||||
self.itemName = ""
|
||||
self.itemHandle = None
|
||||
self.parHandle = None
|
||||
self.itemOrder = None
|
||||
self.itemType = None
|
||||
self.itemClass = None
|
||||
|
||||
return
|
||||
|
||||
def setName(self, theName):
|
||||
self.itemName = theName.strip()
|
||||
return
|
||||
|
||||
def setHandle(self, theHandle):
|
||||
self.itemHandle = theHandle
|
||||
return
|
||||
|
||||
def setParent(self, theParent):
|
||||
self.parHandle = theParent
|
||||
return
|
||||
|
||||
def setOrder(self, theOrder):
|
||||
self.itemOrder = theOrder
|
||||
return
|
||||
|
||||
def setType(self, theType):
|
||||
if isinstance(theType, int):
|
||||
self.itemType = theType
|
||||
elif theType == "ROOT":
|
||||
self.itemType = self.TYPE_ROOT
|
||||
elif theType == "FOLDER":
|
||||
self.itemType = self.TYPE_FOLDER
|
||||
elif theType == "FILE":
|
||||
self.itemType = self.TYPE_FILE
|
||||
else:
|
||||
logger.error("Unrecognised item type '%s'" % theType)
|
||||
self.itemType = None
|
||||
return
|
||||
|
||||
def setClass(self, theClass):
|
||||
if isinstance(theClass, int):
|
||||
self.itemClass = theClass
|
||||
elif theClass == "NONE":
|
||||
self.itemClass = self.CLASS_NONE
|
||||
elif theClass == "NOVEL":
|
||||
self.itemClass = self.CLASS_NOVEL
|
||||
elif theClass == "CHARACTER":
|
||||
self.itemClass = self.CLASS_CHARACTER
|
||||
elif theClass == "WORLD":
|
||||
self.itemClass = self.CLASS_WORLD
|
||||
else:
|
||||
logger.error("Unrecognised root item '%s'" % theClass)
|
||||
self.itemClass = None
|
||||
return
|
||||
|
||||
def getType(self):
|
||||
if self.itemType == self.TYPE_ROOT: return "ROOT"
|
||||
if self.itemType == self.TYPE_FOLDER: return "FOLDER"
|
||||
if self.itemType == self.TYPE_FILE: return "FILE"
|
||||
return "NONE"
|
||||
|
||||
def getClass(self):
|
||||
if self.itemClass == self.CLASS_NONE: return "NONE"
|
||||
if self.itemClass == self.CLASS_NOVEL: return "NOVEL"
|
||||
if self.itemClass == self.CLASS_CHARACTER: return "CHARACTER"
|
||||
if self.itemClass == self.CLASS_WORLD: return "WORLD"
|
||||
return "NONE"
|
||||
|
||||
# END Class NWItem
|
||||
Reference in New Issue
Block a user