+bkmk_attrs = {
+ "charset": "Charset",
+ "error": "Error",
+ "icon": "Icon",
+ "icon_href": "IconURI",
+ "md5": "Md5",
+ "moved": "Moved",
+ "no_error": "NoError",
+ "real_title": "RealTitle",
+ "size": "Size",
+ "test_time": "TestTime",
+}
+
+
+bkmk_attrs_sentinel = object()
+
+
+def copy_bkmk(old_bkmk, new_bkmk):
+ for attr in bkmk_attrs.keys():
+ value = getattr(old_bkmk, attr, bkmk_attrs_sentinel)
+ if value is not bkmk_attrs_sentinel:
+ setattr(new_bkmk, attr, value)
+
+