adding the Gemini3 Wizard
authorubunutu <rico@ubuntu.(none)>
Fri, 4 Feb 2011 18:29:56 +0000 (10:29 -0800)
committerubunutu <rico@ubuntu.(none)>
Fri, 4 Feb 2011 18:29:56 +0000 (10:29 -0800)
geminiwizard/CONTROL/control [new file with mode: 0644]
geminiwizard/Makefile.am [new file with mode: 0755]
geminiwizard/meta/Makefile.am [new file with mode: 0644]
geminiwizard/meta/g3wizard.jpg [new file with mode: 0644]
geminiwizard/meta/plugin_geminiwizard.xml [new file with mode: 0644]
geminiwizard/src/Makefile.am [new file with mode: 0755]
geminiwizard/src/__init__.py [new file with mode: 0644]
geminiwizard/src/gp3wizard.png [new file with mode: 0644]
geminiwizard/src/plugin.py [new file with mode: 0644]

diff --git a/geminiwizard/CONTROL/control b/geminiwizard/CONTROL/control
new file mode 100644 (file)
index 0000000..505c9b0
--- /dev/null
@@ -0,0 +1,6 @@
+Package: enigma2-plugin-extensions-gp3wizard
+Version: 0.14
+Description: Gemini3 Wizard, installs the Gemini3 Plugin
+Maintainer: GeminiTeam
+Homepage: http://www.i-have-a-dreambox.com
+Depends: enigma2 (>> 2.6git20102010)
diff --git a/geminiwizard/Makefile.am b/geminiwizard/Makefile.am
new file mode 100755 (executable)
index 0000000..2c031c7
--- /dev/null
@@ -0,0 +1,14 @@
+SUBDIRS = src meta
+
+PWD=$(shell pwd)
+
+ipkg: enigma2-plugin-extensions-gp3wizard.ipk
+
+enigma2-plugin-extensions-gp3wizard.ipk:
+       make install DESTDIR=${PWD}/ipkg/INSTALL
+       tar czf ipkg/data.tar.gz -C ipkg/INSTALL/ .
+       echo 2.0 > ipkg/debian-binary
+       tar czf ipkg/control.tar.gz -C CONTROL/ ./control
+       rm -f $@
+       ar q $@ ipkg/control.tar.gz ipkg/debian-binary ipkg/data.tar.gz
+       rm -rf ipkg/
diff --git a/geminiwizard/meta/Makefile.am b/geminiwizard/meta/Makefile.am
new file mode 100644 (file)
index 0000000..7555190
--- /dev/null
@@ -0,0 +1,5 @@
+installdir = $(datadir)/meta/
+
+dist_install_DATA = plugin_geminiwizard.xml
+
+EXTRA_DIST = geminiwizard.jpg
diff --git a/geminiwizard/meta/g3wizard.jpg b/geminiwizard/meta/g3wizard.jpg
new file mode 100644 (file)
index 0000000..97666fd
Binary files /dev/null and b/geminiwizard/meta/g3wizard.jpg differ
diff --git a/geminiwizard/meta/plugin_geminiwizard.xml b/geminiwizard/meta/plugin_geminiwizard.xml
new file mode 100644 (file)
index 0000000..48a07f1
--- /dev/null
@@ -0,0 +1,16 @@
+<default>
+         <prerequisites>
+                    <tag type="System" />
+         </prerequisites>
+          <info>
+                    <author>IhaD Team</author>
+                    <name>Gemini3 Wizard</name>
+                    <packagename>enigma2-plugin-extensions-gp3wizard</packagename>
+                    <shortdescription>Gemini3 Installation Wizard</shortdescription>
+                    <description>the Gemini3 Wizard helps you with the Installation of the Gemini Tools</description>
+                    <screenshot src="http://www.i-have-a-dreambox.com" />                  
+          </info>
+         <files type="package"> <!-- without version, without .ipk -->
+               <file type="package" name="enigma2-plugin-extensions-gp3wizard" />
+         </files>
+</default>
diff --git a/geminiwizard/src/Makefile.am b/geminiwizard/src/Makefile.am
new file mode 100755 (executable)
index 0000000..c2e2b43
--- /dev/null
@@ -0,0 +1,4 @@
+
+installdir = /usr/lib/enigma2/python/Plugins/Extensions/Gp3Wizard
+
+install_DATA = *.py *.png
diff --git a/geminiwizard/src/__init__.py b/geminiwizard/src/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/geminiwizard/src/gp3wizard.png b/geminiwizard/src/gp3wizard.png
new file mode 100644 (file)
index 0000000..a623c4e
Binary files /dev/null and b/geminiwizard/src/gp3wizard.png differ
diff --git a/geminiwizard/src/plugin.py b/geminiwizard/src/plugin.py
new file mode 100644 (file)
index 0000000..fb40f84
--- /dev/null
@@ -0,0 +1,99 @@
+# -*- coding: utf-8 -*-
+from enigma import quitMainloop
+from Screens.Screen import Screen
+from Screens.ChoiceBox import ChoiceBox
+from Screens.MessageBox import MessageBox
+from Plugins.Plugin import PluginDescriptor
+from Tools.HardwareInfo import HardwareInfo
+from Components.Ipkg import IpkgComponent as OpkgComponent
+from os import path as os_path, system as os_system
+
+#-------------------------------------------------------------------------------------------------
+
+def setFeed():
+       def _createFeedConf(type):
+               wfile = open("/etc/opkg/gemini-%s-feed.conf" % (type), 'w')
+               wfile.write("src/gz gemini-%s http://download.blue-panel.com/gemini3/%s\n" % (type, type))
+               wfile.close()
+               
+       device = HardwareInfo()
+       _createFeedConf('mipsel')
+       _createFeedConf(device.get_device_name())
+       _createFeedConf('all')
+       return 1
+
+#-------------------------------------------------------------------------------------------------
+def checkForUgly():
+       for x in ["/etc/MultiQuickButton", "/etc/init.d/CCcam", "/usr/lib/enigma2/python/Plugins/Extensions/Quickbutton"]:
+               if os_path.exists(x):
+                       if x == "/etc/MultiQuickButton":
+                               return "Multiquickbutton plugin"
+                       elif x == "/etc/init.d/CCcam":
+                               return "pimp plugin (CCcam)"
+                       elif x == "/usr/lib/enigma2/python/Plugins/Extensions/Quickbutton":
+                               return "Quickbutton plugin"
+               return ""
+
+#-------------------------------------------------------------------------------------------------
+
+def main(session, **kwargs):
+       list =[
+               (_("Install") + " Gemini Plugin", {"package": "geminiplugin"}),
+               (_("Install") + " Gemini Plugin " + " ( + " + _("Plugins") + ")", {"package": "g3install-full"})
+               ]
+       session.STATE=-1
+       session.GP3PACKAGE=None
+       session.info = None
+       session.opkg = OpkgComponent()
+       ugly = checkForUgly()
+       
+       def Exit(arg):
+               exit(None)
+       
+       if ugly != "":
+               session.openWithCallback(Exit, MessageBox, _("Gemini3 Wizard Installation stoped\nPlease remove '%s' first!") % ugly, MessageBox.TYPE_ERROR, timeout=15)
+               
+       def _reboot(val=None):
+               FINALE = "depmod -a && update-modules"
+               if session.GP3PACKAGE["package"] == "g3install-full":
+                       FINALE +=" && opkg remove g3install-full"
+               os_system(FINALE)
+               quitMainloop(2)
+               
+       def _opkgCallback(event, param):
+               if event == OpkgComponent.EVENT_DONE:
+                       if session.STATE == 0:
+                               session.STATE=1
+                               session.opkg.startCmd(OpkgComponent.CMD_INSTALL, session.GP3PACKAGE)
+                               
+                       elif session.STATE == 1:
+                               session.info.close(True)
+                               
+               elif event == OpkgComponent.EVENT_ERROR:
+                       session.open(MessageBox, _("Gemini3 Wizard: %s") % param, MessageBox.TYPE_ERROR, timeout=5)
+                       
+       session.opkg.addCallback(_opkgCallback)
+       
+       def _closeInfo(val=None):
+               if val is not None:
+                       session.openWithCallback(_reboot, MessageBox, _("Restart"), MessageBox.TYPE_INFO, timeout=5)
+       
+       def _selectPackage(pack):
+               if pack is not None:
+                       session.info = session.openWithCallback(_closeInfo, MessageBox, _("Install") + " Gemini plugin...", type = MessageBox.TYPE_INFO, enable_input = False)
+                       session.GP3PACKAGE = pack[1]
+                       if setFeed():
+                               session.STATE=0
+                               session.opkg.startCmd(OpkgComponent.CMD_UPDATE)
+               
+       session.openWithCallback(_selectPackage, ChoiceBox, title = "Gemini3 Wizard", list = list)
+
+#-------------------------------------------------------------------------------------------------
+
+def Plugins(**kwargs):
+       return PluginDescriptor(
+                       name=_("Gemini3 Wizard"),
+                       description=_("the Gemini3 plugin Wizard"),
+                       where = [PluginDescriptor.WHERE_PLUGINMENU, PluginDescriptor.WHERE_EXTENSIONSMENU],
+                       icon="gp3wizard.png",
+                       fnc=main)