+import vbcfg
+
class BookmarkData:
- def __init__(self, _id, _title, _url, _parent):
+ def __init__(self, _id, _title, _url, _parent, _type):
self.mId = _id
self.mTitle = _title
self.mUrl = _url
self.mParent = _parent
+ self.mType = _type
def dump(self, _intent=' '):
- print "%s-> %d, %s, %s, %d" % (_intent, self.mId, self.mTitle, self.mUrl, self.mParent)
+ print "%s-> %d, %s, %s, %d, %d" % (_intent, self.mId, self.mTitle, self.mUrl, self.mParent, self.mType)
class CategoryData:
def __init__(self, _id, _name):
def _read(self):
if self.mDataValid:
return
- print "populate!!"
self.mConfig.read(self.mFileName)
self.mCategoryCurrentIdx = self.getNumber('__SYS__', 'category_current_idx')
self.mPopulateValid = False
def _del(self, _section, _option=None):
- #print _section, ' :', _option
if _option is None:
if not self.exist(_section):
return
try:
data = self.mConfig.get(_section, _option)
except Exception, e:
- #print e
+ vbcfg.ERR(e)
return _default
else : return data
class BookmarkManager(SimpleConfigParser):
_instance = None
- def __new__(cls, *args, **kwargs):
- if not cls._instance:
- cls._instance = super(Singleton, cls).__new__(
- cls, *args, **kwargs)
- return cls._instance
+ def __new__(cls, *args, **kwargs):
+ if not cls._instance:
+ cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
+ return cls._instance
def __init__(self, _dbFileName):
SimpleConfigParser.__init__(self)
-
self.mBookmarkRoot = None
- self.mDebugEnable = False
+ self.mDebugEnable = True
import os
if not os.path.exists(_dbFileName):
+ f = file('/proc/stb/info/vumodel')
+ model = f.read().strip()
+ f.close()
+ manualmode = (model == "solo2" or model == "duo2" or model == "solose")
+
os.system('echo "[__SYS__]" > %s'%(_dbFileName))
os.system('echo "category_current_idx = 1" >> %s'%(_dbFileName))
- os.system('echo "bookmark_current_idx = 1" >> %s'%(_dbFileName))
+ if manualmode :
+ os.system('echo "bookmark_current_idx = 2" >> %s'%(_dbFileName))
+ else: os.system('echo "bookmark_current_idx = 1" >> %s'%(_dbFileName))
os.system('echo "[c-1]" >> %s'%(_dbFileName))
os.system('echo "id = 1" >> %s'%(_dbFileName))
os.system('echo "name = My favorite" >> %s'%(_dbFileName))
os.system('echo "[b-1]" >> %s'%(_dbFileName))
- os.system('echo "url = http://www2.vuplus.com/" >> %s'%(_dbFileName))
+ os.system('echo "url = http://www.vuplus.com/" >> %s'%(_dbFileName))
os.system('echo "id = 1" >> %s'%(_dbFileName))
os.system('echo "parent = 1" >> %s'%(_dbFileName))
os.system('echo "title = Vuplus Home" >> %s'%(_dbFileName))
-
+ os.system('echo "type = 0" >> %s'%(_dbFileName))
+ if manualmode :
+ os.system('echo "[b-2]" >> %s'%(_dbFileName))
+ os.system('echo "url = file:///usr/local/manual/main.html" >> %s'%(_dbFileName))
+ os.system('echo "id = 2" >> %s'%(_dbFileName))
+ os.system('echo "parent = 1" >> %s'%(_dbFileName))
+ os.system('echo "title = User Manual" >> %s'%(_dbFileName))
+ os.system('echo "type = 1" >> %s'%(_dbFileName))
self.init(_dbFileName)
def message(self, format, params=None):
if not self.mDebugEnable:
return
if params is None:
- print format
- else: print format % (params)
+ vbcfg.DEBUG(format)
+ else:
+ vbcfg.DEBUG(format % (params))
def getBookmark(self, _title):
self.populate()
return 'b-%d' % (self.mBookmarkRoot[key].mBookmarks[key2].mId)
return None
- def addBookmark(self, _title, _url, _parent):
+ def addBookmark(self, _title, _url, _parent, _type):
if self.getBookmark(_title) is not None:
return False
i = self.mBookmarkCurrentIdx + 1
s = "b-%d" % (i,)
- self.message("add bookmark : %s, %s, %d", (_title, _url, _parent,))
+ self.message("add bookmark : %s, %s, %d, %d", (_title, _url, _parent, _type,))
self.mConfig.add_section(s)
self.setNumber(s, 'id', i)
self.setString(s, 'title', _title)
self.setString(s, 'url', _url)
self.setNumber(s, 'parent', _parent)
+ self.setNumber(s, 'type', _type)
self.setNumber('__SYS__', 'bookmark_current_idx', i)
self._save()
def updateBookmark(self, _bookmark):
self.populate()
s = "b-%d" % (_bookmark.mId)
- self.message("update bookmark : %s, %s, %d", (_bookmark.mTitle, _bookmark.mUrl, _bookmark.mParent,))
+ self.message("update bookmark : %s, %s, %d, %d", (_bookmark.mTitle, _bookmark.mUrl, _bookmark.mParent, _bookmark.mType,))
self.setString(s, 'title', _bookmark.mTitle)
self.setString(s, 'url', _bookmark.mUrl)
self.setNumber(s, 'parent', _bookmark.mParent)
+ self.setNumber(s, 'type', _bookmark.mType)
self._save()
def getCategory(self, _name):
t = self.getString(s, 'title')
u = self.getString(s, 'url')
p = self.getNumber(s, 'parent')
+ e = self.getNumber(s, 'type')
try:
- categoryList[p].appendBookmark(BookmarkData(i, t, u, p))
+ categoryList[p].appendBookmark(BookmarkData(i, t, u, p, e))
except Exception, e: self._del(s)
bx += 1
for key in categoryList.iterkeys():
@staticmethod
def getInstance():
- return BookmarkManager('/usr/lib/enigma2/python/Plugins/Extensions/HbbTV/bookmark.ini')
+ return BookmarkManager(vbcfg.PLUGINROOT + "/bookmark.ini")