brigas-team team mailing list archive
-
brigas-team team
-
Mailing list archive
-
Message #00066
[Branch ~brigas-team/brigas/trunk] Rev 4: Foram feitas as seguintes blueprints:
------------------------------------------------------------
revno: 4
committer: Diogo Dutra <dda@optimus>
branch nick: trunk
timestamp: Wed 2009-06-03 16:57:05 -0300
message:
Foram feitas as seguintes blueprints:
https://blueprints.launchpad.net/brigas/+spec/brisa-game-server-device
Criado o device do game server
https://blueprints.launchpad.net/brigas/+spec/services-plugin-system
Fiz um código pra adicionar os serviços dentro do diretório games automáticamente.
Ele também cria um vetor com o nome dos jogos.
https://blueprints.launchpad.net/brigas/+spec/game-manager-service
Tá só o esqueleto do game manager, ainda não faz nada.
added:
game-server/bin/
game-server/bin/brisa-game-server
game-server/src/__init__.py
game-server/src/game_server_impl.py
game-server/src/games/
game-server/src/games/__init__.py
game-server/src/services/
game-server/src/services/__init__.py
game-server/src/services/game_manager.py
game-server/src/services/xmls/
game-server/src/services/xmls/__init__.py
=== added directory 'game-server/bin'
=== added file 'game-server/bin/brisa-game-server'
--- game-server/bin/brisa-game-server 1970-01-01 00:00:00 +0000
+++ game-server/bin/brisa-game-server 2009-06-03 19:57:05 +0000
@@ -0,0 +1,7 @@
+#!/usr/bin/python
+
+from brisa_game_server import GameServerDevice
+
+gs = GameServerDevice("JaNu Game Server", '')
+gs.start()
+
=== added file 'game-server/src/__init__.py'
--- game-server/src/__init__.py 1970-01-01 00:00:00 +0000
+++ game-server/src/__init__.py 2009-06-03 19:57:05 +0000
@@ -0,0 +1,5 @@
+
+
+__all__ = ['GameServerDevice']
+
+from brisa_game_server.game_server_impl import GameServerDevice
=== added file 'game-server/src/game_server_impl.py'
--- game-server/src/game_server_impl.py 1970-01-01 00:00:00 +0000
+++ game-server/src/game_server_impl.py 2009-06-03 19:57:05 +0000
@@ -0,0 +1,69 @@
+#
+# Brisa Game Server Implementation
+#
+
+from os import walk
+
+from brisa.core.reactors import install_default_reactor
+reactor = install_default_reactor()
+
+from brisa.core import log
+from brisa.upnp.device import Device
+
+import brisa_game_server
+from brisa_game_server.services import GameManager
+
+class GameServerDevice(object):
+
+ games_folder = brisa_game_server.__path__[0] + "/games"
+ games_module_path = "brisa_game_server.games"
+
+ def __init__(self, server_name, listen_url):
+ self._server_name = server_name
+ self._listen_url = listen_url
+ self._games = []
+ self.device = None
+
+ def _create_device(self):
+ project_page = 'http://launchpad.net/brigas'
+ self.device = Device('urn:schemas-upnp-org:device:GameServer:1',
+ self._server_name,
+ force_listen_url=self._listen_url,
+ manufacturer='BRiGaS Team. UFAL students',
+ manufacturer_url=project_page,
+ model_description='An Opensource UPnP Game Server',
+ model_name = 'BRisa Game Server version 0.1',
+ model_number='0.1',
+ model_url=project_page,
+ serial_number='01'.rjust(7, '0'))
+
+ def _add_games(self):
+ for root, dirs, files in walk(self.games_folder):
+ if root.endswith("games"):
+ break
+
+ for dir in dirs:
+ try:
+ module_path = "%s.%s" % (self.games_module_path, dir)
+ __import__(module_path)
+ self._games.append(eval("%s.service.id" % module_path))
+ self.device.add_service(eval("%s.service" % module_path))
+ except Exception, e:
+ msg = 'Error while importing %s game. The module '\
+ 'path used to load was: %s. Error: %s' % \
+ (dir, self.games_folder, e)
+ log.error(msg)
+
+ print self._games
+
+ def _add_services(self):
+ self._add_games()
+ self.device.add_service(GameManager())
+
+ def start(self):
+ self._create_device()
+ self._add_services()
+ self.device.start()
+ reactor.add_after_stop_func(self.device.stop)
+ reactor.main()
+
=== added directory 'game-server/src/games'
=== added file 'game-server/src/games/__init__.py'
=== added directory 'game-server/src/services'
=== added file 'game-server/src/services/__init__.py'
--- game-server/src/services/__init__.py 1970-01-01 00:00:00 +0000
+++ game-server/src/services/__init__.py 2009-06-03 19:57:05 +0000
@@ -0,0 +1,4 @@
+
+__all__ = ['GameManager']
+
+from brisa_game_server.services.game_manager import GameManager
=== added file 'game-server/src/services/game_manager.py'
--- game-server/src/services/game_manager.py 1970-01-01 00:00:00 +0000
+++ game-server/src/services/game_manager.py 2009-06-03 19:57:05 +0000
@@ -0,0 +1,19 @@
+
+from brisa.core import log
+from brisa.upnp.device.service import Service
+from brisa.upnp.device.action import Action, Argument
+from brisa.upnp.device.service import StateVariable
+
+log = log.getLogger('services.gm')
+
+service_name = 'GameManager'
+service_type = 'urn:schemas-upnp-org:service:GameManager:1'
+
+class GameManager(Service):
+ def __init__(self):
+ Service.__init__(self, service_name, service_type, '')
+ self._create_methods()
+
+ def _create_methods(self):
+ pass
+
=== added directory 'game-server/src/services/xmls'
=== added file 'game-server/src/services/xmls/__init__.py'
--- game-server/src/services/xmls/__init__.py 1970-01-01 00:00:00 +0000
+++ game-server/src/services/xmls/__init__.py 2009-06-03 19:57:05 +0000
@@ -0,0 +1,6 @@
+
+
+
+from os import path
+xml_path = path.dirname(__file__)
+
--
lp:brigas
https://code.launchpad.net/~brigas-team/brigas/trunk
Your team Brisa Game Server Team is subscribed to branch lp:brigas.
To unsubscribe from this branch go to https://code.launchpad.net/~brigas-team/brigas/trunk/+edit-subscription.