ocarina/src/base/bt/map.py

56 lines
979 B
Python

#! /usr/bin/python
# To change this template, choose Tools | Templates
# and open the template in the editor.
__author__="bjschuma"
__date__ ="$Jan 19, 2010 11:10:07 PM$"
from collections import deque
class Map(dict):
def __init__(self):
dict.__init__(self)
def set(self,key,item):
key = key.upper()
# Make a new deque if the key doesn't exist
if self.has(key) == False:
self[key] = [item]
else:
self[key] = self[key] + [item]
self[key].sort()
def get(self,key,all=False):
key = key.upper()
# Return none if the key doesn't exist
if self.has(key) == False:
return None
if all==False:
return self[key][0]
else:
return self[key]
def has(self,key):
return (key.upper() in self.keys())
def remove(self,key,item):
if self.has(key) == False:
return
items = self.get(key,True)
if (item in items) == True:
items.remove(item)
def delete(self,key):
key = key.upper()
if self.has(key) == True:
del self[key]