mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
split the tests to a seporate module; minor tweeks...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
661d738735
commit
72e467fae0
82
tags.py
82
tags.py
@ -1,7 +1,7 @@
|
|||||||
#=======================================================================
|
#=======================================================================
|
||||||
|
|
||||||
__version__ = '''0.0.01'''
|
__version__ = '''0.0.01'''
|
||||||
__sub_version__ = '''20111004190928'''
|
__sub_version__ = '''20111004222341'''
|
||||||
__copyright__ = '''(c) Alex A. Naanou 2011'''
|
__copyright__ = '''(c) Alex A. Naanou 2011'''
|
||||||
|
|
||||||
|
|
||||||
@ -220,6 +220,11 @@ class TagSetWithObjectIndex(object):
|
|||||||
return self._index.tags(*(cache[obj] for obj in objs))
|
return self._index.tags(*(cache[obj] for obj in objs))
|
||||||
def objects(self):
|
def objects(self):
|
||||||
return self._objects.values()
|
return self._objects.values()
|
||||||
|
|
||||||
|
putils.proxymethods((
|
||||||
|
'relatedtags',
|
||||||
|
), '_index')
|
||||||
|
|
||||||
def getuid(self, obj):
|
def getuid(self, obj):
|
||||||
'''
|
'''
|
||||||
'''
|
'''
|
||||||
@ -231,81 +236,6 @@ class TagSetWithObjectIndex(object):
|
|||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
pass
|
pass
|
||||||
|
|
||||||
from time import time
|
|
||||||
import cPickle as pickle
|
|
||||||
|
|
||||||
ts = TagSet()
|
|
||||||
## ts = TagSetWithObjectIndex()
|
|
||||||
|
|
||||||
|
|
||||||
## N = 100000
|
|
||||||
N = 1000
|
|
||||||
obj_tpl = 'image%010d'
|
|
||||||
|
|
||||||
def populate_tagset():
|
|
||||||
for i in xrange(N):
|
|
||||||
n = obj_tpl % i
|
|
||||||
ts.tag(n, 'image')
|
|
||||||
if n.endswith('0'):
|
|
||||||
ts.tag(n, '0')
|
|
||||||
if n.endswith('5'):
|
|
||||||
ts.tag(n, '5')
|
|
||||||
if n.endswith('10'):
|
|
||||||
ts.tag(n, '10')
|
|
||||||
|
|
||||||
def save_tagset():
|
|
||||||
pickle.dump(ts, open('tags.db', 'w'))
|
|
||||||
|
|
||||||
def load_tagset():
|
|
||||||
print 'loading tagset...',
|
|
||||||
t0 = time()
|
|
||||||
ts = pickle.load(open('tags.db'))
|
|
||||||
t1 = time()
|
|
||||||
print 'done (%.3fs).' % (t1-t0)
|
|
||||||
return ts
|
|
||||||
|
|
||||||
|
|
||||||
## populate_tagset()
|
|
||||||
ts = load_tagset()
|
|
||||||
|
|
||||||
print len(ts.tags())
|
|
||||||
print len(ts.objects())
|
|
||||||
print len(ts.all('10'))
|
|
||||||
print len(ts.all('10', '0'))
|
|
||||||
print len(ts.any('10', '5'))
|
|
||||||
print len(ts.none('10', '5'))
|
|
||||||
|
|
||||||
print ts.tags(obj_tpl % 0)
|
|
||||||
print ts.tags(obj_tpl % 10)
|
|
||||||
|
|
||||||
print ts.relatedtags('image')
|
|
||||||
print ts.relatedtags('image', '0')
|
|
||||||
print ts.relatedtags('10')
|
|
||||||
|
|
||||||
|
|
||||||
print 'selecting (all)...',
|
|
||||||
t0 = time()
|
|
||||||
ts.all('10', '0')
|
|
||||||
t1 = time()
|
|
||||||
print 'done (%.3fs).' % (t1-t0)
|
|
||||||
print 'selecting (any)...',
|
|
||||||
t0 = time()
|
|
||||||
ts.any('10', '5')
|
|
||||||
t1 = time()
|
|
||||||
print 'done (%.3fs).' % (t1-t0)
|
|
||||||
print 'selecting (none)...',
|
|
||||||
t0 = time()
|
|
||||||
ts.none('10', '5')
|
|
||||||
t1 = time()
|
|
||||||
print 'done (%.3fs).' % (t1-t0)
|
|
||||||
|
|
||||||
print 'getting object tags...',
|
|
||||||
t0 = time()
|
|
||||||
res = ts.tags(obj_tpl % 10)
|
|
||||||
t1 = time()
|
|
||||||
print 'done (%.3fs).' % (t1-t0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
|
|||||||
152
tags_test.py
Executable file
152
tags_test.py
Executable file
@ -0,0 +1,152 @@
|
|||||||
|
#=======================================================================
|
||||||
|
|
||||||
|
__version__ = '''0.0.01'''
|
||||||
|
__sub_version__ = '''20111004222027'''
|
||||||
|
__copyright__ = '''(c) Alex A. Naanou 2011'''
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
from time import time
|
||||||
|
import cPickle as pickle
|
||||||
|
import os
|
||||||
|
|
||||||
|
from pli.testlog import logstr
|
||||||
|
|
||||||
|
import tags
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
TEST_DIR = 'test'
|
||||||
|
N = 100000
|
||||||
|
OBG_TPL = 'image%010d'
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
#-----------------------------------------------------populate_tagset---
|
||||||
|
def populate_tagset(ts, count=N):
|
||||||
|
for i in xrange(count):
|
||||||
|
n = OBG_TPL % i
|
||||||
|
ts.tag(n, 'image')
|
||||||
|
if n.endswith('0'):
|
||||||
|
ts.tag(n, '0')
|
||||||
|
if n.endswith('5'):
|
||||||
|
ts.tag(n, '5')
|
||||||
|
if n.endswith('10'):
|
||||||
|
ts.tag(n, '10')
|
||||||
|
return ts
|
||||||
|
|
||||||
|
#---------------------------------------------------------save_tagset---
|
||||||
|
def save_tagset(ts, name='tags.db'):
|
||||||
|
pickle.dump(ts, open(os.path.join(TEST_DIR, name), 'w'))
|
||||||
|
return ts
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------------------------load_tagset---
|
||||||
|
def load_tagset(name='tags.db'):
|
||||||
|
print 'loading tagset...',
|
||||||
|
t0 = time()
|
||||||
|
ts = pickle.load(open(os.path.join(TEST_DIR, name)))
|
||||||
|
t1 = time()
|
||||||
|
print 'done (%.3fs).' % (t1-t0)
|
||||||
|
return ts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
## ts = tags.TagSetWithObjectIndex()
|
||||||
|
|
||||||
|
test_code = '''
|
||||||
|
len(ts.tags())
|
||||||
|
-> 4
|
||||||
|
|
||||||
|
len(ts.objects())
|
||||||
|
-> 100000
|
||||||
|
|
||||||
|
len(ts.all('10'))
|
||||||
|
-> 1000
|
||||||
|
|
||||||
|
len(ts.all('10', '0'))
|
||||||
|
-> 1000
|
||||||
|
|
||||||
|
len(ts.any('10', '5'))
|
||||||
|
-> 11000
|
||||||
|
|
||||||
|
len(ts.none('10', '5'))
|
||||||
|
-> 89000
|
||||||
|
|
||||||
|
|
||||||
|
ts.tags(OBG_TPL % 0)
|
||||||
|
-> set(['0', 'image'])
|
||||||
|
|
||||||
|
ts.tags(OBG_TPL % 10)
|
||||||
|
-> set(['0', 'image', '10'])
|
||||||
|
|
||||||
|
|
||||||
|
ts.relatedtags('image')
|
||||||
|
-> set(['0', '5', '10'])
|
||||||
|
|
||||||
|
ts.relatedtags('image', '0')
|
||||||
|
-> set(['10'])
|
||||||
|
|
||||||
|
ts.relatedtags('10')
|
||||||
|
-> set(['0', 'image'])
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
test_code2 = '''
|
||||||
|
|
||||||
|
print 'selecting (all)...',
|
||||||
|
t0 = time()
|
||||||
|
ts.all('10', '0')
|
||||||
|
t1 = time()
|
||||||
|
print 'done (%.3fs).' % (t1-t0)
|
||||||
|
print 'selecting (any)...',
|
||||||
|
t0 = time()
|
||||||
|
ts.any('10', '5')
|
||||||
|
t1 = time()
|
||||||
|
print 'done (%.3fs).' % (t1-t0)
|
||||||
|
print 'selecting (none)...',
|
||||||
|
t0 = time()
|
||||||
|
ts.none('10', '5')
|
||||||
|
t1 = time()
|
||||||
|
print 'done (%.3fs).' % (t1-t0)
|
||||||
|
|
||||||
|
print 'getting object tags...',
|
||||||
|
t0 = time()
|
||||||
|
res = ts.tags(OBG_TPL % 10)
|
||||||
|
t1 = time()
|
||||||
|
print 'done (%.3fs).' % (t1-t0)
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
logstr('''
|
||||||
|
ts = tags.TagSet()
|
||||||
|
|
||||||
|
populate_tagset(ts)
|
||||||
|
save_tagset(ts)
|
||||||
|
|
||||||
|
ts = load_tagset()
|
||||||
|
|
||||||
|
''')
|
||||||
|
|
||||||
|
logstr(test_code)
|
||||||
|
|
||||||
|
|
||||||
|
logstr('''
|
||||||
|
ts = tags.TagSetWithObjectIndex()
|
||||||
|
|
||||||
|
populate_tagset(ts)
|
||||||
|
## save_tagset(ts)
|
||||||
|
''')
|
||||||
|
|
||||||
|
logstr(test_code)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# vim:set ts=4 sw=4 nowrap :
|
||||||
0
test/README
Executable file
0
test/README
Executable file
Loading…
x
Reference in New Issue
Block a user