lib/xbelimp.py
branchxbelweb
changeset 25 777bcb36f7be
parent 24 f3a926c13ce0
child 26 17b0cd274530
equal deleted inserted replaced
24:f3a926c13ce0 25:777bcb36f7be
    16 def import_bookmarks(db, bms):
    16 def import_bookmarks(db, bms):
    17 	global _keywords
    17 	global _keywords
    18 	_keywords = {}
    18 	_keywords = {}
    19 	for elem in db.get_all_keywords():
    19 	for elem in db.get_all_keywords():
    20 		_keywords[elem[1]] = elem[0]
    20 		_keywords[elem[1]] = elem[0]
    21 	for folder in bms.folders:
    21 	for child in bms.folders:
    22 		import_folder(db,folder)
    22 		if isinstance(child, bookmark.Bookmark):
       
    23 			import_bookmark(db, child)
       
    24 		else:
       
    25 			import_folder(db, child)
    23 
    26 
    24 def import_folder(db, folder, keywords = []):
    27 def import_folder(db, folder, keywords = []):
    25 	global _keywords
    28 	global _keywords
    26 	kw = folder.title.strip()
    29 	kw = folder.title.strip().encode('utf-8')
    27 	if _keywords.has_key(kw):
    30 	if _keywords.has_key(kw):
    28 		id = _keywords[kw]
    31 		id = _keywords[kw]
    29 	else:
    32 	else:
    30 		#id = db.add_keyword(kw)
    33 		#id = db.add_keyword(kw)
    31 		print "add keyword '" +  kw + "'"
    34 		print "add keyword '" +  kw + "'" 
    32 		id = len(_keywords)+100
    35 		id = len(_keywords)+100
    33 		_keywords[kw] = id
    36 		_keywords[kw] = id
    34 	for child in folder.children:
    37 	for child in folder.children:
    35 		if isinstance(child, bookmark.Bookmark):
    38 		if isinstance(child, bookmark.Bookmark):
    36 			import_bookmark(db, child, keywords+[id])
    39 			import_bookmark(db, child, keywords+[id])
    37 		else:
    40 		else:
    38 			import_folder(db, child, keywords+[id])
    41 			import_folder(db, child, keywords+[id])
    39 
    42 
    40 def import_bookmark(db, bookmark, keywords):
    43 def import_bookmark(db, bookmark, keywords = []):
    41 	bk = bkmark.Bookmark()
    44 	bk = bkmark.Bookmark()
    42 	bk.name = bookmark.title
    45 	bk.name = bookmark.title.encode('utf-8')
    43 	bk.url = bookmark.href
    46 	bk.url = bookmark.href.encode('utf-8')
    44 	if has_attr(bookmark, 'desc'):
    47 	if hasattr(bookmark, 'desc'):
    45 		bk.desc = bookmark.desc
    48 		bk.desc = bookmark.desc.encode('utf-8')
    46 	try:
    49 	print "add bookmark '" + bk.name + "'",
    47 		print "add bookmark '" + bk.name + "'"
    50 	# id = db.add_bookmark(bk)
    48 		# id = db.add_bookmark(bk)
    51 	print " with keywords '" + ','.join(map(str,keywords)) + "'"
    49 		print "with keywords '" + join(',',keywords)[-1] + "'"
    52 	# db.update_keywords(id, keywords)
    50 		# db.update_keywords(id, keywords)
       
    51 	except:
       
    52 		pass
       
    53 	
    53