Refector: moved some class methods to module functions

svn: r15696
This commit is contained in:
Doug Blank 2010-08-09 20:04:48 +00:00
parent 634453708f
commit 981cda7c19

View File

@ -91,12 +91,56 @@ for (name, file) in (
_image = os.path.join(const.IMAGE_DIR, '16x16', file) _image = os.path.join(const.IMAGE_DIR, '16x16', file)
ICONS[name] = gtk.gdk.pixbuf_new_from_file(_image) ICONS[name] = gtk.gdk.pixbuf_new_from_file(_image)
#-------------------------------------------------------------------------
#
# Local functions
#
#-------------------------------------------------------------------------
def map2class(target):
d = {"person-link": ScratchPersonLink,
"family-link": ScratchFamilyLink,
'personref': ScratchPadPersonRef,
'source-link': ScratchSourceLink,
'srcref': ScratchPadSourceRef,
'repo-link': ScratchRepositoryLink,
'pevent': ScratchPadEvent,
'eventref': ScratchPadEventRef,
'mediaobj': ScratchMediaObj,
'mediaref': ScratchPadMediaRef,
'place-link': ScratchPadPlace,
'note-link': ScratchPadNote,
}
return d[target] if target in d else None
def obj2class(target):
d= {"Person": ScratchPersonLink,
"Family": ScratchFamilyLink,
'Source': ScratchSourceLink,
'Repository': ScratchRepositoryLink,
'Event': ScratchPadEvent,
'Media': ScratchMediaObj,
'Place': ScratchPadPlace,
'Note': ScratchPadNote,
}
return d[target] if target in d else None
def obj2target(target):
d = {"Person": 'person-link',
"Family": 'family-link',
'Source': 'source-link',
'Repository': 'repo-link',
'Event': 'pevent',
'Media': 'mediaobj',
'Place': 'place-link',
'Note': 'note-link',
}
return d[target] if target in d else None
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# wrapper classes to provide object specific listing in the ListView # wrapper classes to provide object specific listing in the ListView
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
class ScratchPadWrapper(object): class ScratchPadWrapper(object):
def __init__(self,dbstate, obj): def __init__(self,dbstate, obj):
@ -932,48 +976,11 @@ class ScratchDropList(object):
# ('person-link', handle), ...), 0) # ('person-link', handle), ...), 0)
self._obj_list = pickle.loads(obj_list) self._obj_list = pickle.loads(obj_list)
def map2class(self, target):
return {"person-link": ScratchPersonLink,
"family-link": ScratchFamilyLink,
'personref': ScratchPadPersonRef,
'source-link': ScratchSourceLink,
'srcref': ScratchPadSourceRef,
'repo-link': ScratchRepositoryLink,
'pevent': ScratchPadEvent,
'eventref': ScratchPadEventRef,
'mediaobj': ScratchMediaObj,
'mediaref': ScratchPadMediaRef,
'place-link': ScratchPadPlace,
'note-link': ScratchPadNote,
}[target]
def obj2class(self, target):
return {"Person": ScratchPersonLink,
"Family": ScratchFamilyLink,
'Source': ScratchSourceLink,
'Repository': ScratchRepositoryLink,
'Event': ScratchPadEvent,
'Media': ScratchMediaObj,
'Place': ScratchPadPlace,
'Note': ScratchPadNote,
}[target]
def obj2target(self, target):
return {"Person": 'person-link',
"Family": 'family-link',
'Source': 'source-link',
'Repository': 'repo-link',
'Event': 'pevent',
'Media': 'mediaobj',
'Place': 'place-link',
'Note': 'note-link',
}[target]
def get_objects(self): def get_objects(self):
list_type, id, handles, timestamp = self._obj_list list_type, id, handles, timestamp = self._obj_list
retval = [] retval = []
for (target, handle) in handles: for (target, handle) in handles:
_class = self.map2class(target) _class = map2class(target)
obj = _class(self._dbstate, pickle.dumps((target, id, handle, timestamp))) obj = _class(self._dbstate, pickle.dumps((target, id, handle, timestamp)))
retval.append(obj) retval.append(obj)
return retval return retval
@ -991,7 +998,7 @@ class ScratchDropRawList(ScratchDropList):
retval = [] retval = []
for item in self._obj_list: for item in self._obj_list:
target = pickle.loads(item)[0] target = pickle.loads(item)[0]
_class = self.map2class(target) _class = map2class(target)
obj = _class(self._dbstate, item) obj = _class(self._dbstate, item)
retval.append(obj) retval.append(obj)
return retval return retval
@ -1010,8 +1017,8 @@ class ScratchDropHandleList(ScratchDropList):
def get_objects(self): def get_objects(self):
retval = [] retval = []
for (objclass, handle) in self._obj_list: for (objclass, handle) in self._obj_list:
_class = self.obj2class(objclass) _class = obj2class(objclass)
target = self.obj2target(objclass) target = obj2target(objclass)
# outgoing: # outgoing:
# (drag_type, idval, self._handle, val) = pickle.loads(self._obj) # (drag_type, idval, self._handle, val) = pickle.loads(self._obj)
data = (target, id(self), handle, 0) data = (target, id(self), handle, 0)