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):
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")
+
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 "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):
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():
from Screens.HelpMenu import HelpableScreen
from Screens.ChannelSelection import service_types_tv
+from Components.Language import language
from Components.PluginComponent import plugins
from Components.Button import Button
from Components.Sources.StaticText import StaticText
def __init__(self):
self._settingFileName = '/usr/local/hbb-browser/home/setting.ini'
self._start = None
+ self._type = None
self._read()
def _read(self):
f = open(self._settingFileName)
for line in f.readlines():
if line.startswith('start='):
- self._start = line[6:len(line)-1]
+ tmp = line[6:len(line)-1].split()
+ self._start = tmp[0]
+ if len(tmp) > 1:
+ self._type = int(tmp[1])
+ else: self._type = 0
f.close()
def _write(self):
tmpstr = []
- tmpstr.append('start=%s\n' % (self._start))
+ tmpstr.append('start=%s %d\n' % (self._start, self._type))
f = open(self._settingFileName, 'w')
f.writelines(tmpstr)
f.close()
- def setData(self, start):
+ def setData(self, start, types=0):
self._start = start
+ self._type = types
self._write()
def getData(self):
return {
- 'start':self._start
+ 'start':self._start,
+ 'type':self._type,
}
class OperaBrowserPreferenceWindow(ConfigListScreen, Screen):
skin= """
- <screen position="center,center" size="600,350" title="Proference">
+ <screen position="center,center" size="600,350" title="Preference">
<widget name="url" position="5,0" size="590,100" valign="center" font="Regular;20" />
<widget name="config" position="0,100" size="600,200" scrollbarMode="showOnDemand" />
def layoutFinished(self):
try:
- self._startPageUrl = OperaBrowserSetting().getData()['start']
+ d = OperaBrowserSetting().getData()
+ self._startPageUrl = d['start']
+ #d['type']
except: self._startPageUrl = 'http://vuplus.com'
self.updateStartPageUrl()
if strIsEmpty(url):
self.session.open(MessageBox, 'Invalid URL!!(Empty)\nPlease, Input to the URL.', type = MessageBox.TYPE_INFO)
return
- OperaBrowserSetting().setData(url)
+ mode = 0
+ if url.find('/usr/local/manual') > 0:
+ mode = 1
+ OperaBrowserSetting().setData(url, mode)
self.close()
def keyRed(self):
if strIsEmpty(bookmarkUrl):
self["config"].setCurrentIndex(1)
return self.showMessageBox("Bookmark URL")
- self.mBookmarkManager.addBookmark(bookmarkTitle, bookmarkUrl, self.mData.mParent)
+ self.mBookmarkManager.addBookmark(bookmarkTitle, bookmarkUrl, self.mData.mParent, 0)
else:
if strIsEmpty(self.menuItemTitle.value):
self["config"].setCurrentIndex(0)
if ret is None: return
if ret:
data = self["bookmarklist"].getCurrent()[1]
- OperaBrowserSetting().setData(data.mUrl)
+ OperaBrowserSetting().setData(data.mUrl, data.mType)
msg = "Do you want to set selected url to the Startpage?"
self.mSession.openWithCallback(cbSetStartpage, MessageBox, msg, MessageBox.TYPE_YESNO, default=True)
return
if strIsEmpty(self.mTitle):
return
- retAdd = self.mBookmarkManager.addBookmark(self.mTitle, self.mUrl, parent.mId)
+ retAdd = self.mBookmarkManager.addBookmark(self.mTitle, self.mUrl, parent.mId, 0)
if not retAdd:
msg = "Current page is already exist."
self.mSession.open(MessageBox, msg, MessageBox.TYPE_INFO)
parent = self.getParentCategory()
if parent is None:
return
- b = BookmarkData(0, '', '', parent.mId)
+ b = BookmarkData(0, '', '', parent.mId, 0)
self.mSession.openWithCallback(self.cbEditWindow, BookmarkEditWindow, 'Add', BookmarkEditWindow.BOOKMARK, b, self.mBookmarkManager)
elif data[1] == 3:
c = CategoryData(0, '')
if len(url) == 0:
self.session.open(MessageBox, "Can't open selected bookmark.\n - URL data is empty!!", type = MessageBox.TYPE_INFO)
return
- self.close(url)
+ mode = data.mType
+ if mode:
+ lang = language.getLanguage()
+ if lang == 'ru_RU' and os.path.exists('/usr/local/manual/ru_RU'):
+ url = '/usr/local/manual/ru_RU/main.html'
+ elif lang == 'de_DE' and os.path.exists('/usr/local/manual/de_DE'):
+ url = '/usr/local/manual/de_DE/main.html'
+ self.close((url, mode))
def keyRed(self):
self.keyCancel()
def keyCancel(self):
self._enableKeyEvent = True
#if not self.toggleListViewFlag:
# self.keyDown()
+ self._currentPageUrl = ''
self.keyRight()
self.keyLeft()
return
self.setTitle(title)
- def cbUrlText(self, data=None):
- print "Inputed Url :", data
+ def cbUrlText(self, data=None, mode=0):
+ print "Inputed Url :", data, mode
if strIsEmpty(data):
return
#self.hideSubmenu()
fbClass.getInstance().lock()
eRCInput.getInstance().lock()
command_util = getCommandUtil()
- command_util.sendCommand('OP_BROWSER_OPEN_URL', data)
+ command_util.sendCommand('OP_BROWSER_OPEN_URL', data, mode)
self._terminatedBrowser = False
self._enableKeyEvent = False
def _cb_bookmarkWindowClosed(self, data=None):
if data is None:
return
- self.cbUrlText(data)
+ (url, mode) = data
+ self.cbUrlText(url, mode)
def _cmd_on_OpenUrl(self):
global _g_helper
message = "Opera Browser was not running.\nPlease running browser using [File]>[Start/Stop] menu."
self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
return
+ mode = 0
start = 'http://vuplus.com'
try:
- start = OperaBrowserSetting().getData()['start']
+ d = OperaBrowserSetting().getData()
+ start = d['start']
+ mode = d['type']
except: pass
- self.cbUrlText(start)
+ self.cbUrlText(start, mode)
def _cmd_on_ReturnToBrowser(self):
self.keyCancel()