Пример #1
0
 def __init__(self, game, cfg='RI.yml'):
     self.cfg = load_config(cfg)
     self.game = game
     self._setup_env()
     self._setup_pygame()
     self.action_meaning = {
         0: "NOOP",
         1: "FIRE",
         2: "UP",
         3: "RIGHT",
         4: "LEFT",
         5: "DOWN",
         6: "UPRIGHT",
         7: "UPLEFT",
         8: "DOWNRIGHT",
         9: "DOWNLEFT",
         10: "UPFIRE",
         11: "RIGHTFIRE",
         12: "LEFTFIRE",
         13: "DOWNFIRE",
         14: "UPRIGHTFIRE",
         15: "UPLEFTFIRE",
         16: "DOWNRIGHTFIRE",
         17: "DOWNLEFTFIRE",
     }
     self.font = pygame.font.SysFont(self.cfg['Setting']['Font']['Family'],
                                     self.cfg['Setting']['Font']['Size'])
     self.font_height = self.font.get_height() * 1.2
     self.fps = self.cfg['Setting']['FPS']
Пример #2
0
requests.packages.urllib3.disable_warnings(
    requests.packages.urllib3.exceptions.InsecurePlatformWarning
)
requests.packages.urllib3.disable_warnings(
    requests.packages.urllib3.exceptions.SNIMissingWarning
)
sys.path.append("/".join((os.path.split(os.path.realpath(__file__))[0]).split('/')[:-2]))

from util import util  # noqa: E402

UCSM_CONFIG = json.loads(os.getenv('UCSCONFIG'))

UCSM_IP = UCSM_CONFIG.get("ucs-host")
UCSM_USER = UCSM_CONFIG.get("ucs-user")
UCSM_PASS = UCSM_CONFIG.get("ucs-pass")
UCS_SERVICE_CONFIG = util.load_config()

if UCS_SERVICE_CONFIG["httpsEnabled"]:
    UCS_SERVICE_URI = "https://{}:{}".format(
        UCS_SERVICE_CONFIG["address"],
        UCS_SERVICE_CONFIG["port"]
    )
else:
    UCS_SERVICE_URI = "http://{}:{}".format(
        UCS_SERVICE_CONFIG["address"],
        UCS_SERVICE_CONFIG["port"]
    )


def request(method, api, query=None, payload=None, headers=None):
    """
Пример #3
0
 def __init__(self, game=None, cfg='HI.yml'):
     self.cfg = load_config(cfg)
     self.game = game
     self._setup_env()
     self._setup_pygame()
     self.key_map = (
         0,  # 00000 none
         2,  # 00001 up
         5,  # 00010 down
         2,  # 00011 up/down (invalid)
         4,  # 00100 left
         7,  # 00101 up/left
         9,  # 00110 down/left
         7,  # 00111 up/down/left (invalid)
         3,  # 01000 right
         6,  # 01001 up/right
         8,  # 01010 down/right
         6,  # 01011 up/down/right (invalid)
         3,  # 01100 left/right (invalid)
         6,  # 01101 left/right/up (invalid)
         8,  # 01110 left/right/down (invalid)
         6,  # 01111 up/down/left/right (invalid)
         1,  # 10000 fire
         10,  # 10001 fire up
         13,  # 10010 fire down
         10,  # 10011 fire up/down (invalid)
         12,  # 10100 fire left
         15,  # 10101 fire up/left
         17,  # 10110 fire down/left
         15,  # 10111 fire up/down/left (invalid)
         11,  # 11000 fire right
         14,  # 11001 fire up/right
         16,  # 11010 fire down/right
         14,  # 11011 fire up/down/right (invalid)
         11,  # 11100 fire left/right (invalid)
         14,  # 11101 fire left/right/up (invalid)
         16,  # 11110 fire left/right/down (invalid)
         14  # 11111 fire up/down/left/right (invalid)
     )
     self.action_meaning = {
         0: "NOOP",
         1: "FIRE",
         2: "UP",
         3: "RIGHT",
         4: "LEFT",
         5: "DOWN",
         6: "UPRIGHT",
         7: "UPLEFT",
         8: "DOWNRIGHT",
         9: "DOWNLEFT",
         10: "UPFIRE",
         11: "RIGHTFIRE",
         12: "LEFTFIRE",
         13: "DOWNFIRE",
         14: "UPRIGHTFIRE",
         15: "UPLEFTFIRE",
         16: "DOWNRIGHTFIRE",
         17: "DOWNLEFTFIRE",
     }
     self.font = pygame.font.SysFont(self.cfg['Setting']['Font']['Family'],
                                     self.cfg['Setting']['Font']['Size'])
     self.font_height = self.font.get_height() * 1.2
     self.control_tick = 0
     self.fps = self.cfg['Setting']['FPS']
Пример #4
0
 def testLoadConfigSuccess(self, mock_json):
     """Test load config file successfully"""
     mock_json.load.return_value = MOCK_CONFIG
     result = util.load_config()
     self.assertEqual(result, MOCK_CONFIG)
Пример #5
0
# Copyright 2017, Dell EMC, Inc.

import requests
from service.ucs import Ucs
from celery import Celery
from celery.signals import worker_process_shutdown
from util.decorator import status_handler
from util import util

# Work process level global handlers to minimize UCSM login/logout actions
handlers = {}
config = util.load_config()
callbackUrl = config['callbackUrl']
amqp = config["amqp"]
app = Celery("tasks", broker=amqp)
app.conf.update(worker_concurrency=config.get("concurrency", 2))


def worker_process_cleanup(**kwargs):
    """
    Cleanup UCS handler before work processes are shutdown
    """
    util.cleanup_ucs_handler(handlers)
    print "Global handlers for celery worker process {} are cleared".format(
        kwargs["pid"])


# TODO: Enhance cleanup with more stable methods
worker_process_shutdown.connect(worker_process_cleanup)

Пример #6
0
#  Copyright 2017, Dell EMC, Inc.
import re
import time
from util import util
from ucsmsdk.ucsexception import UcsException
from ucsmsdk.mometa.ls.LsPower import LsPowerConsts
from ucsmsdk.mometa.ls.LsPower import LsPower
from ucsmsdk.ucshandle import UcsHandle

SESSION_DURATION = util.load_config().get("session", 60)


class Ucs:
    """Representation of UCS methods collection"""
    @staticmethod
    def login_get(headers):
        authInfo = Ucs._getUcsAuthInfo(headers)
        handle = UcsHandle(*authInfo, secure=False)
        if handle.login():
            return handle.cookie

    @staticmethod
    def systemGetAll(headers, handlers=None):
        handle = Ucs._getHandler(headers, handlers)
        if not handle:
            return {"error": "Forbidden"}
        elements = [{
            "ciscoXmlName": "EquipmentChassis",
            "humanReadableName": "Chassis"
        }, {
            "ciscoXmlName": "NetworkElement",