ocarina/libsaria/collection/tree.py

49 lines
953 B
Python

# Bryan Schumaker (8 / 12 / 2010)
get = dict.get
class TagNode:
def __init__(self):
pass
def insert(self, tag_list, tags, audio, filepath):
self.artist = tags.artist
self.album = tags.album
self.title = tags.title
self.year = tags.year
self.filepath = filepath
self.playcount = 0
self.length = audio.length
def sort(self, level):
pass
class Tree(dict):
def __init__(self):
dict.__init__(self)
self.sorted_keys = None
def sort(self, level=0):
self.sorted_keys = self.keys()
self.sorted_keys.sort()
space = ' '*level
for key in self.sorted_keys:
self[key].sort(level+1)
def insert(self, tag_list, tags, audio, filepath):
if len(tag_list) == 0:
return
global get
global insert
tag = tag_list[0]
node = get(self, tag, None)
if node == None:
if len(tag_list) == 1:
node = TagNode()
else:
node = Tree()
self[tag] = node
node.insert(tag_list[1:], tags, audio, filepath)