From 9929913a48b4b977bbfb111bfbd375cf708fa4a6 Mon Sep 17 00:00:00 2001 From: Intel1 Date: Tue, 14 Aug 2018 15:47:35 -0500 Subject: [PATCH] Ejecutable en windows Modificaciones para crear el ejecutable en windows --- mediaserver/HTTPAndWSServer.py | 2 ++ mediaserver/alfa.py | 2 ++ mediaserver/genera.bat | 5 +++++ mediaserver/platformcode/config.py | 2 +- .../platformcode/controllers/__init__.py | 4 ++-- mediaserver/setup.py | 18 ++++++++++++++++++ 6 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 mediaserver/genera.bat create mode 100644 mediaserver/setup.py diff --git a/mediaserver/HTTPAndWSServer.py b/mediaserver/HTTPAndWSServer.py index 04529a28..8786a8e7 100644 --- a/mediaserver/HTTPAndWSServer.py +++ b/mediaserver/HTTPAndWSServer.py @@ -1,10 +1,12 @@ # -*- coding: utf-8 -*- +import os import random import re import threading import time import traceback +from platformcode import platformtools from BaseHTTPServer import HTTPServer from HTTPWebSocketsHandler import HTTPWebSocketsHandler diff --git a/mediaserver/alfa.py b/mediaserver/alfa.py index e53fe499..f61ab910 100644 --- a/mediaserver/alfa.py +++ b/mediaserver/alfa.py @@ -8,6 +8,8 @@ import sys import threading import time from functools import wraps +# Requerido para el ejecutable en windows +import SimpleHTTPServer sys.dont_write_bytecode = True from platformcode import config diff --git a/mediaserver/genera.bat b/mediaserver/genera.bat new file mode 100644 index 00000000..648884ce --- /dev/null +++ b/mediaserver/genera.bat @@ -0,0 +1,5 @@ +REM Genera los archivos para el ejecutable en windows de Alfa Mediaserver +python setup.py py2exe -p channels,servers,lib,platformcode +xcopy lib dist\lib /y /s /i +xcopy platformcode dist\platformcode /y /s /i +xcopy resources dist\resources /y /s /i diff --git a/mediaserver/platformcode/config.py b/mediaserver/platformcode/config.py index 835384da..042271fe 100644 --- a/mediaserver/platformcode/config.py +++ b/mediaserver/platformcode/config.py @@ -14,7 +14,7 @@ settings_dic = {} adult_setting = {} -def get_addon_version(linea_inicio=0, total_lineas=2): +def get_addon_version(linea_inicio=0, total_lineas=2, with_fix=False): ''' Devuelve el número de de versión del addon, obtenido desde el archivo addon.xml ''' diff --git a/mediaserver/platformcode/controllers/__init__.py b/mediaserver/platformcode/controllers/__init__.py index bc031b42..41b7e8ae 100644 --- a/mediaserver/platformcode/controllers/__init__.py +++ b/mediaserver/platformcode/controllers/__init__.py @@ -7,12 +7,12 @@ import os from inspect import isclass from controller import Controller -from platformcode import logger +from platformcode import config, logger def load_controllers(): controllers = [] - path = os.path.split(__file__)[0] + path = os.path.join(config.get_runtime_path(),"platformcode\controllers") for fname in os.listdir(path): mod, ext = os.path.splitext(fname) fname = os.path.join(path, fname) diff --git a/mediaserver/setup.py b/mediaserver/setup.py new file mode 100644 index 00000000..34d9a062 --- /dev/null +++ b/mediaserver/setup.py @@ -0,0 +1,18 @@ +# setup.py +# Para crear el ejecutable de Alfa mediaserver en windows +# Se usa py2exe +# Linea de comandos para la creacion: python setup.py py2exe -p channels,servers,lib,platformcode +from distutils.core import setup +import glob +import py2exe + +setup(packages=['channels','servers','lib','platformcode','platformcode/controllers'], + data_files=[("channels",glob.glob("channels\\*.py")), + ("channels",glob.glob("channels\\*.json")), + ("servers",glob.glob("servers\\*.py")), + ("servers",glob.glob("servers\\*.json")), + ("",glob.glob("addon.xml")), + ], + console=["alfa.py"] + ) +