diff src/plugins/plugin_misc_radiocol.py @ 718:074970227bc0

plugin tools: turn src/plugin/games.py into a plugin and move it to src/plugins/plugin_misc_room_game.py
author souliane <souliane@mailoo.org>
date Thu, 21 Nov 2013 18:23:08 +0100
parents 358018c5c398
children 539f278bc265
line wrap: on
line diff
--- a/src/plugins/plugin_misc_radiocol.py	Thu Nov 21 15:49:53 2013 +0100
+++ b/src/plugins/plugin_misc_radiocol.py	Thu Nov 21 18:23:08 2013 +0100
@@ -25,7 +25,6 @@
 import os.path
 from os import unlink
 from mutagen.oggvorbis import OggVorbis, OggVorbisHeaderError
-from sat.tools.plugins.games import RoomGame
 
 
 NC_RADIOCOL = 'http://www.goffi.org/protocol/radiocol'
@@ -36,7 +35,7 @@
     "import_name": "Radiocol",
     "type": "Exp",
     "protocols": [],
-    "dependencies": ["XEP-0045", "XEP-0249"],
+    "dependencies": ["XEP-0045", "XEP-0249", "ROOM-GAME"],
     "main": "Radiocol",
     "handler": "yes",
     "description": _("""Implementation of radio collective""")
@@ -45,11 +44,17 @@
 QUEUE_LIMIT = 2
 
 
-class Radiocol(RoomGame):
+class Radiocol(object):
+
+    def inheritFromRoomGame(self, host):
+        global RoomGame
+        RoomGame = host.plugins["ROOM-GAME"].__class__
+        self.__class__ = type(self.__class__.__name__, (self.__class__, RoomGame, object), {})
 
     def __init__(self, host):
         info(_("Radio collective initialization"))
-        RoomGame.__init__(self, host, PLUGIN_INFO, (NC_RADIOCOL, RADIOC_TAG),
+        self.inheritFromRoomGame(host)
+        RoomGame._init_(self, host, PLUGIN_INFO, (NC_RADIOCOL, RADIOC_TAG),
                           game_init={'queue': [], 'upload': True, 'playing': False, 'to_delete': {}})
         self.host = host
         host.bridge.addMethod("radiocolLaunch", ".plugin", in_sign='asss', out_sign='', method=self.prepareRoom)