コード例 #1
0
def write_items_TW_B(basename, nr):
    # use new store object for each write
    for i in range(nr):
        store = wikStore_tw(NAME + '.html')
        w = WikklyItem('%s-%d' % (basename, i),
                       '%s item #%d (B)' % (basename, i))
        store.saveitem(w)
コード例 #2
0
def write_items_TW_A(basename, nr):
    # use same store object for all writes
    store = wikStore_tw(NAME + '.html')
    for i in range(nr):
        w = WikklyItem('%s-%d' % (basename, i),
                       '%s item #%d (A)' % (basename, i))
        store.saveitem(w)
コード例 #3
0
    def do_C_TWTest(self, version):
        from wikklytext.store import wikStore_tw
        import wikklytext.base
        import shutil, os

        FILENAME = 'testtiddly_C%s.htm' % version

        if os.path.isfile(FILENAME):
            os.unlink(FILENAME)

        store = wikStore_tw(FILENAME, version)
        self.doSearchWords(store)
コード例 #4
0
ファイル: test_store_rw.py プロジェクト: dvorberg/wikklytext
	def doCachedTiddlyWikiTest(self, version):
		from wikklytext.store import wikStore_tw
		import wikklytext.base
		import shutil, os
		
		FILENAME = 'testtiddly_C%s.htm' % version
		
		if os.path.isfile(FILENAME):
			os.unlink(FILENAME)
			
		store = wikStore_tw(FILENAME, version)
		self.doStoreTests(store, u'TiddlyWiki')
コード例 #5
0
    def testTiddlyWiki_B(self):
        if os.path.isfile(NAME + '.html'):
            os.unlink(NAME + '.html')

        run_processes_TW_B()

        store = wikStore_tw(NAME + '.html')
        names = store.names()
        #print "%d names (expect %d)" % (len(names),NR_PROCESSES * ITEMS_PER_WRITER)
        #print names

        self.failIf(len(names) != NR_PROCESSES * ITEMS_PER_WRITER)
コード例 #6
0
	def testTiddlyWiki_B(self):
		if os.path.isfile(NAME+'.html'):
			os.unlink(NAME+'.html')
			
		run_processes_TW_B()	
		
		store = wikStore_tw(NAME+'.html')
		names = store.names()
		#print "%d names (expect %d)" % (len(names),NR_PROCESSES * ITEMS_PER_WRITER)
		#print names
		
		self.failIf(len(names) != NR_PROCESSES * ITEMS_PER_WRITER)
コード例 #7
0
	def do_C_TWTest(self, version):
		from wikklytext.store import wikStore_tw
		import wikklytext.base
		import shutil, os
		
		FILENAME = 'testtiddly_C%s.htm' % version
		
		if os.path.isfile(FILENAME):
			os.unlink(FILENAME)
			
		store = wikStore_tw(FILENAME, version)
		self.doSearchWords(store)
コード例 #8
0
ファイル: wikStore_Q.py プロジェクト: dvorberg/wikklytext
	def run(self):
		#print "** StoreWorker thread starting"
		while 1:
			try:
				# wait for next command
				cmd = StoreCmdQueue.get()
				
				if cmd[0] == 'quit':
					#print "** StoreWorker thread exiting"
					names = list(self.storemap.keys())
					# close all stores explicitly
					for name in names:
						del self.storemap[name]
						
					return
					
				elif cmd[0] == 'open_store':
					#print "open_store",cmd[1:]
					Q, kind, pathname = cmd[1:]
					if kind == 'text':
						store = wikStore_files(pathname)
					elif kind == 'tiddlywiki':
						store = wikStore_tw(pathname)
					elif kind == 'sqlite':
						store = wikStore_sqlite(pathname)
			
					sid = makeGUID('%s:%s' % (kind, pathname))
					self.storemap[sid] = store
	
					Q.put(sid)
		
				elif cmd[0] == 'info':
					#print "info",cmd[1:]
					Q, storeID = cmd[1:]
					Q.put(self.storemap[storeID].info())
				
				elif cmd[0] == 'getpath':
					#print "getpath",cmd[1:]
					Q, storeID = cmd[1:]
					Q.put(self.storemap[storeID].getpath())
				
				elif cmd[0] == 'names':
					Q, storeID = cmd[1:]
					Q.put(self.storemap[storeID].names())
		
				elif cmd[0] == 'getitem':
					Q, storeID, name = cmd[1:]
					Q.put(self.storemap[storeID].getitem(name))
		
				elif cmd[0] == 'getall':
					Q, storeID = cmd[1:]
					Q.put(self.storemap[storeID].getall())
		
				elif cmd[0] == 'saveitem':
					Q, storeID, item, oldname = cmd[1:]
					self.storemap[storeID].saveitem(item, oldname)
					Q.put(0)
		
				elif cmd[0] == 'delete':
					Q, storeID, item = cmd[1:]
					self.storemap[storeID].delete(item)
					Q.put(0)
		
				elif cmd[0] == 'search':
					Q, storeID, query = cmd[1:]
					Q.put(self.storemap[storeID].search(query))
			
			# catch ALL unhandled exceptions and pass to caller
			# keep thread alive though in case caller wants to continue
			# (this is nicer since it gives a single exit point)
			except Exception, exc:
				# I'm not sure that exceptions can be passed between threads
				# so for now I'm just passing the text dump of it
				Q.put(StoreWorkerError(cgitb.text(sys.exc_info())))
コード例 #9
0
def write_items_TW_A(basename, nr):
	# use same store object for all writes
	store = wikStore_tw(NAME+'.html')
	for i in range(nr):
		w = WikklyItem('%s-%d' % (basename,i), '%s item #%d (A)' % (basename,i))
		store.saveitem(w)
コード例 #10
0
def write_items_TW_B(basename, nr):
	# use new store object for each write
	for i in range(nr):
		store = wikStore_tw(NAME+'.html')
		w = WikklyItem('%s-%d' % (basename,i), '%s item #%d (B)' % (basename,i))
		store.saveitem(w)