Beispiel #1
0
def main():
    user = "******"
    pwd = "ca$hc0w"
    dataCenter = None

    try:
        opts, args = getopt.getopt(sys.argv[1:], "d:u:p:")
    except getopt.GetoptError:
        Usage("Unknown arguments")

    if len(args) == 0:
        Usage("Host not specified")
    host = args[0]

    for a, v in opts:
        if a == "-d":
            dataCenter = v
        if a == "-u":
            user = v
        if a == "-p":
            pwd = v

    si = connect.Connect(user=user, pwd=pwd)
    atexit.register(connect.Disconnect, si)

    dataCenterName = dataCenter is None and "pyDatacenter" or dataCenter
    if invt.GetDatacenter(dataCenter) is None:
        # No datacenter is specified, or the datacenter specified does not exist.
        print("Creating a new datacenter " + dataCenterName)
        vc.CreateDatacenter(dataCenterName)

    print("Adding host " + host + "...", end='')
    vc.AddHost(host=host, dataCenter=dataCenterName)
    print("Done!")
Beispiel #2
0
    def _get_server(self, method, data):

        ''' Retrieve the Emby server.
        '''
        try:
            if not data.get('ServerId'):
                raise Exception("ServerId undefined.")

            if method != 'LoadServer' and data['ServerId'] not in self.servers:

                try:
                    connect.Connect().register(data['ServerId'])
                    self.server_instance(data['ServerId'])
                except Exception as error:

                    LOG.error(error)
                    dialog("ok", heading="{emby}", line1=_(33142))

                    return

            server = Emby(data['ServerId']).get_client()
        except Exception:
            server = Emby().get_client()

        return server
Beispiel #3
0
def receive(link, limit):
    client = connect.Connect()
    entity = client.get_entity(link)
    posts = client(
        GetHistoryRequest(peer=entity,
                          limit=limit,
                          offset_date=None,
                          offset_id=0,
                          max_id=0,
                          min_id=0,
                          add_offset=0,
                          hash=0))
    index = 0
    for i in posts.messages:
        with open('GetMsg.md', 'a', encoding="utf-8", errors='ignore') as f:
            f.write("\n")
            f.flush()
            count = str(index + 1)
            f.write(count)
            f.write(" ")
            print(i.message)
            f.write(str(i.message))
            # f.write("\n")
            index += 1
    connect.disConnect(client)
Beispiel #4
0
    def service(self):
        ''' Keeps the service monitor going.
            Exit on Kodi shutdown or profile switch.

            if profile switch happens more than once, 
            Threads depending on abortRequest will not trigger.
        '''
        self.monitor = objects.monitor.Monitor()
        self.monitor.service = self
        self.connect = connect.Connect()
        self.player = self['monitor'].player

        self._server()

        while self.running:
            if window('emby_online.bool'):

                if self['profile'] != window('emby_kodiProfile'):
                    LOG.info("[ profile switch ] %s", self['profile'])

                    break

                if self['player'].isPlaying(
                ) and self['player'].is_playing_file(
                        self['player'].get_playing_file()):
                    difference = datetime.today() - self['last_progress']

                    if difference.seconds > 4:
                        self['last_progress'] = datetime.today()

                        update = (datetime.today() -
                                  self['last_progress_report']).seconds > 40
                        event('ReportProgressRequested', {'Report': update})

                        if update:
                            self['last_progress_report'] = datetime.today()

            if not WEBSERVICE.is_alive():

                LOG.info("[ restarting due to socket disconnect ]")
                window('emby.restart.bool', True)

            if window('emby.restart.bool'):
                dialog("notification",
                       heading="{emby}",
                       message=_(33193),
                       icon="{emby}",
                       time=1000,
                       sound=False)

                raise Exception('RestartService')

            if self.waitForAbort(1):
                break

        self.shutdown()

        raise Exception("ExitService")
Beispiel #5
0
    def service(self):
        ''' Keeps the service monitor going.
            Exit on Kodi shutdown or profile switch.

            if profile switch happens more than once,
            Threads depending on abortRequest will not trigger.
        '''
        self.monitor = monitor.Monitor()
        player = self.monitor.player
        self.connect = connect.Connect()
        self.start_default()

        self.settings['mode'] = settings('useDirectPaths')

        while self.running:
            if window('jellyfin_online.bool'):

                if self.settings['profile'] != window('jellyfin_kodiProfile'):
                    LOG.info("[ profile switch ] %s", self.settings['profile'])

                    break

                if player.isPlaying() and player.is_playing_file(
                        player.get_playing_file()):
                    difference = datetime.today(
                    ) - self.settings['last_progress']

                    if difference.seconds > 10:
                        self.settings['last_progress'] = datetime.today()

                        update = (datetime.today() -
                                  self.settings['last_progress_report']
                                  ).seconds > 250
                        event('ReportProgressRequested', {'Report': update})

                        if update:
                            self.settings[
                                'last_progress_report'] = datetime.today()

            if window('jellyfin.restart.bool'):

                window('jellyfin.restart', clear=True)
                dialog("notification",
                       heading="{jellyfin}",
                       message=translate(33193),
                       icon="{jellyfin}",
                       time=1000,
                       sound=False)

                raise Exception('RestartService')

            if self.waitForAbort(1):
                break

        self.shutdown()

        raise Exception("ExitService")
    def test_insertdb(self):
        obj = connect.Connect()
        c, conn = obj.connection()

        with open("../dept_emp.txt", 'r') as a:
            b = a.read()
            obj1 = dbpython.Db()
            d = obj1.mycode(c)
            self.assertEqual(d, b)
Beispiel #7
0
 def get_trailer_url(self):
     # set the video key in youtube by API database
     youtube_string = "https://www.youtube.com/watch?v="
     query_string = "/3/movie/" + \
         str(self.id) + "/videos?language=en-US&api_key="
     video_results = connect.Connect("GET", query_string, 'results')
     for x in video_results.decoded_list:
         self.trailer_youtube_url = youtube_string + x["key"]
         # Ending loop before continue because we need only one URL
         break
Beispiel #8
0
    def updateError(self,massageid):
        try:
            massageDb = connect.Connect()
            db = massageDb.getConn()
            curser = db.cursor()
            sql = "UPDATE massage SET massage.type = 3 WHERE massage.massageid = "+massageid
            curser.execute(sql)
            db.commit()

            # print(sql)
        except Exception as ex:
            print(ex)
Beispiel #9
0
 def _init_main(self, user: str, password: str):
     self.ui.form.show()
     self.connection = connect.Connect(self.HOSTNAME, user, password)
     try:
         self.connection.get_token()
     except connect.requests.ConnectionError:
         self.error('Не удалось подключиться к серверу')
     self.update_threads()
     # Цикл обновления
     self.timer = main_ui.QtCore.QTimer(self.ui.form)
     self.timer.start(1000)
     self.timer.timeout.connect(self.update_loop)
Beispiel #10
0
 def gettoken(self, email):
     connectDb = connect.Connect()
     db = connectDb.getConn()
     curser = db.cursor()
     try:
         sql = "SELECT channel_access_token FROM line WHERE email = '" + email + "'"
         curser.execute(sql)
         result = curser.fetchall()
         # print(result[0][0])
         return result[0][0]
     except Exception as ex:
         print(ex)
         return None
Beispiel #11
0
 def resetpassword(self, email, newpassword):
     try:
         userDb = connect.Connect()
         db = userDb.getConn()
         curser = db.cursor()
         query = "UPDATE user SET password = '******' WHERE email = '" + str(email) + "'"
         # print(query)
         curser.execute(query)
         db.commit()
         return True
     except Exception as ex:
         return str(ex)
Beispiel #12
0
 def mycode(self, cb):
     str1 = ""
     x = connect.Connect()
     c, conn = x.connection()
     c = cb
     try:
         cb.execute('SELECT * FROM dept_emp')
         for row in cb:
             p = ','.join(row)
             str1 = str1 + p + '\n'
         l = log_file.Log()
         l.logging.info("Data selected from the Table")
         return (str1)
     except Exception as e:
         print("Error:", e)
         return False
Beispiel #13
0
 def sign_in_up(self):
     """Функция для регистрации или входа"""
     login = self.login_ui.login_login.text()
     password = self.login_ui.login_pass.text()
     self.connection = connect.Connect(self.HOSTNAME, login, password)
     if not self.HOSTNAME:
         self.error('Настройте адрес сервера')
         return
     try:
         if self.login_ui.form.sender().objectName() == 'login_btn':
             self.connection.get_token()
         else:
             self.connection.register()
     except connect.requests.ConnectionError or connect.requests.exceptions.MissingSchema as e:
         self.error('Ошибка', e.__str__())
         return
     self._login(password, login)
Beispiel #14
0
 def showMassageDontSent(self):
     try:
         massageDb = connect.Connect()
         db = massageDb.getConn()
         curser = db.cursor()
         # curser.execute("SELECT massageid,email, REPLACE(massage,'\\n','s'),datein,typemassage,type,timeline,target,recipient,dateout FROM `massage` WHERE massage.type = 1 ORDER BY `massage`.`datein` DESC")
         curser.execute("SELECT * FROM `massage` WHERE massage.type = 1 ORDER BY `massage`.`datein` DESC")
         result = curser.fetchall()
         colum = len(result[0])
         # print("colum ==", colum)
         # print("row == ", curser.rowcount)
         # for row in result:
             # for c in range(0,colum):
             # print("massage : ",row[2])
         if result != None:
             return result
         else:
             return None
     except Exception as ex:
         # print(ex)
         return None
Beispiel #15
0
def play():
    cols = 5
    rows = 3
    n = 3

    print(f"Let's play connect {n}!")
    game = connect.Connect(num_cols=cols,
                           num_rows=rows,
                           num_connect=n,
                           verbose=False)
    again = True
    while again:
        response = yes_no_input("Would you like to play first?")
        if response:
            run_game(game=game, player1=HumanAgent(), player2=ConnectAgent())
        else:
            run_game(game=game, player1=ConnectAgent(), player2=HumanAgent())

        again = yes_no_input("Would you like to play again?")
        if again:
            game.reset()
def playGames(QTable, m):
    env = connect.Connect(verbose=False)
    gamesWon = 0

    for i in range(m):
        env.reset(first_player='x')

        while True:
            env.act(action=opponentMove(env))
            if env.was_winning_move() or env.grid_is_full():
                break

            env.change_turn()

            env.act(action=agentMove(env, QTable))
            if env.was_winning_move():
                gamesWon += 1
                break
            elif env.grid_is_full():
                break
            else:
                env.change_turn()

    return gamesWon / m
def client_only():
    loop.create_task(wrapper_wait_for_fetch_ip(SSIDpass))


def peer_to_peer():
    loop.create_task(wait_for_run_server_socket(15))
    loop.create_task(wrapper_wait_for_fetch_ip(SSIDpass))


if __name__ == '__main__':

    #instance loop
    loop = asyncio.get_event_loop()

    #instanse class Connect
    Connect = connect.Connect()

    #instanse class ServSocket
    ServSocket = run_socket.serverSocketClass()

    #instanse class Cl_Socket
    Cl_Socket = client_socket.clientSocketClass()

    #instanse class voltageWriter
    V_Writer = vol_writer.voltageWriter()

    #instanse class ctl_Relay
    Ctl_Relay = ctl_Relay.control_Relay()

    #instance class SSIDpass
    SSIDpass = extract_credential.SSIDpass()
Beispiel #18
0
    def ConUi(self):  # Открытие окна настроек

        self.conwin = conctwin.Connect()  # Окно соеденения
        self.conwin.show()
Beispiel #19
0
#!usr/bin/env python
import connect

# 获取配置
config = connect.Config('../config.ini').getConfig();
mysql_config = config['mysql'];

# 连接数据库
con = connect.Connect(mysql_config['db_host'],mysql_config['db_port'],mysql_config['db_table'],mysql_config['db_user'],mysql_config['db_pwd']);

con.run()

# con.cursor()con
# print(con.execute('SELECT * FROM users'))
Beispiel #20
0
import numpy as np
import random
import connect
import math

env = connect.Connect(verbose=False)
Q = {}
setup_game()
print(Q)
Epsilon = 0.5
Alpha = 0.5


def setup_game():
    env.reset(first_player='o')
    env.act(action=2)
    start_grid = np.array_str(env.grid)
    for i in range(0, 5):
        Q[(start_grid, i)] = 0


def make_random_move(state):
    possible_moves = env.available_actions
    return random.choice(possible_moves)


def make_q_move(state):
    possible_moves = env.available_actions
    act = get_best_action(state, possible_moves)
    env.act(action=act)
    if (not check_win(state)):
import connect
env = connect.Connect(verbose=True)
env.reset(first_player='o')

# Player 'o' plays
print("Current player at turn:", env.player_at_turn)
env.act(action=2)

# Player 'x' plays
env.change_turn()
print("Current player at turn:", env.player_at_turn)
env.act(action=2)

# Player 'o' plays
env.change_turn()
print("Current player at turn:", env.player_at_turn)
env.act(action=2)

# Print grid
print("Printing grid")
current_grid = env.grid
print(current_grid)

# Print available actions
print("Available actions:")
print(env.available_actions)

# Was last game move a win?
print("Winning move?", env.was_winning_move())

# Make some moves
                default=True,
                help="rotate sent image",
                type=str2bool)
ap.add_argument("-c",
                "--cam",
                required=False,
                default=0,
                type=int,
                help="Enter camera to be used")

args = vars(ap.parse_args())
ROTATE_IMAGE = args["rotate"]
TEST_BOOL = args["test"]
READING_SERIAL = args["read_serial"]

connect = conn.Connect()
if READING_SERIAL:
    rs = readserial.ReadSerial()
STREAM = 0
notification_push = False
SECRET = ".YSWORD-DROWSY"
manager = Manager()
trip_data = manager.dict()
TRACKER_ID = "TLO12017000971"  # TER'S TRACKER
if TEST_BOOL:
    TRACKER_ID = "60000003"
print(f"TRACKER ID: {TRACKER_ID}")
IS_AUTH = False
ear = 0
CO = 0
LPG = 0
Beispiel #23
0
import connect
import time
from multiprocessing import Process
import os

name = 'room'
address = ('lancatserver.ddns.net', 8122)
'''
server = Process(target = os.system, args = ('nodejs app.js',))
server.start()
server.join(1)
'''
c1 = connect.Connect(address)
print(c1.search(name))
result = c1.create(name, ('server', 8877), lambda data: print(data))
print(result)
c2 = connect.Connect(address)
print(c2.search(name))
print(c2.join(name, ('client', 1234)))
time.sleep(1)
c1.close()
time.sleep(5)
print(c2.search(name))
c2.close()
#server.terminate()

Beispiel #24
0
 def __init__(self):
     self.game=connect.Connect(verbose=False)
     self.game.reset(first_player='o')
Beispiel #25
0
                if action_value >= beta:
                    return action_value
            else:
                beta = min(beta, action_value)
                if action_value <= alpha:
                    return action_value

            if maxPlayer:
                best_value = max(action_value, best_value)
            else:
                best_value = min(action_value, best_value)

        return best_value


connect = connect.Connect(num_cols=5)
humanAgent = HumanAgent()
connectAgent = ConnectAgent()
game_over = False

while not game_over:
    move = humanAgent.next_move(connect)
    reward, game_over = connect.act(action=move)
    if game_over and reward == 1:
        print("Player one wins!")
        break
    elif game_over and reward == -1:
        print("It's a draw.")
        break

    move = connectAgent.next_move(connect)
Beispiel #26
0
 def test_connection(self):
     obj1 = connect.Connect()
     c = obj1.connection()
     self.assertNotEqual((c, c), ("False,False"))
Beispiel #27
0
def send(link, msg):
    client = connect.Connect()
    entity = client.get_entity(link)
    client.send_message(entity, msg)
    connect.disConnect(client)
Beispiel #28
0
 def __init__(self):
     obj = connect.Connect()
     c, conn = obj.connection()
     self.c = c
     self.conn = conn
Beispiel #29
0
    def onNotification(self, sender, method, data):

        if sender.lower() not in ('plugin.video.jellyfin', 'xbmc',
                                  'upnextprovider.signal'):
            return

        if sender == 'plugin.video.jellyfin':
            method = method.split('.')[1]

            if method not in ('GetItem', 'ReportProgressRequested',
                              'LoadServer', 'RandomItems', 'Recommended',
                              'GetServerAddress', 'GetPlaybackInfo', 'Browse',
                              'GetImages', 'GetToken', 'PlayPlaylist', 'Play',
                              'GetIntros', 'GetAdditionalParts', 'RefreshItem',
                              'Genres', 'FavoriteItem', 'DeleteItem',
                              'AddUser', 'GetSession', 'GetUsers', 'GetThemes',
                              'GetTheme', 'Playstate', 'GeneralCommand',
                              'GetTranscodeOptions', 'RecentlyAdded',
                              'BrowseSeason', 'LiveTV', 'GetLiveStream'):
                return

            data = json.loads(data)[0]

        elif sender.startswith('upnextprovider'):
            LOG.info('Attempting to play the next episode via upnext')
            method = method.split('.', 1)[1]

            if method not in ('plugin.video.jellyfin_play_action', ):
                LOG.info('Received invalid upnext method: %s', method)
                return

            data = json.loads(data)
            method = "Play"

            if data:
                data = json.loads(binascii.unhexlify(data[0]))
        else:
            if method not in ('Player.OnPlay', 'VideoLibrary.OnUpdate',
                              'Player.OnAVChange'):
                ''' We have to clear the playlist if it was stopped before it has been played completely.
                    Otherwise the next played item will be added the previous queue.
                '''
                if method == "Player.OnStop":
                    xbmc.sleep(
                        3000
                    )  # let's wait for the player so we don't clear the canceled playlist by mistake.

                    if xbmc.getCondVisibility(
                            "!Player.HasMedia + !Window.IsVisible(busydialog)"
                    ):

                        xbmc.executebuiltin("Playlist.Clear")
                        LOG.info("[ playlist ] cleared")

                return

            data = json.loads(data)

        LOG.debug("[ %s: %s ] %s", sender, method, JsonDebugPrinter(data))

        if self.sleep:
            LOG.info("System.OnSleep detected, ignore monitor request.")

            return

        try:
            if not data.get('ServerId'):
                server = Jellyfin()
            else:
                if method != 'LoadServer' and data[
                        'ServerId'] not in self.servers:

                    try:
                        connect.Connect().register(data['ServerId'])
                        self.server_instance(data['ServerId'])
                    except Exception as error:

                        LOG.exception(error)
                        dialog("ok",
                               heading="{jellyfin}",
                               line1=translate(33142))

                        return

                server = Jellyfin(data['ServerId'])
        except Exception as error:
            LOG.exception(error)
            server = Jellyfin()

        if method == 'GetItem':

            item = server.jellyfin.get_item(data['Id'])
            self.void_responder(data, item)

        elif method == 'GetAdditionalParts':

            item = server.jellyfin.get_additional_parts(data['Id'])
            self.void_responder(data, item)

        elif method == 'GetIntros':

            item = server.jellyfin.get_intros(data['Id'])
            self.void_responder(data, item)

        elif method == 'GetImages':

            item = server.jellyfin.get_images(data['Id'])
            self.void_responder(data, item)

        elif method == 'GetServerAddress':

            server_address = server.auth.get_server_info(
                server.auth.server_id)['address']
            self.void_responder(data, server_address)

        elif method == 'GetPlaybackInfo':

            sources = server.jellyfin.get_play_info(data['Id'],
                                                    data['Profile'])
            self.void_responder(data, sources)

        elif method == 'GetLiveStream':

            sources = server.jellyfin.get_live_stream(data['Id'],
                                                      data['PlaySessionId'],
                                                      data['Token'],
                                                      data['Profile'])
            self.void_responder(data, sources)

        elif method == 'GetToken':

            token = server.auth.jellyfin_token()
            self.void_responder(data, token)

        elif method == 'GetSession':

            session = server.jellyfin.get_device(self.device_id)
            self.void_responder(data, session)

        elif method == 'GetUsers':

            users = server.jellyfin.get_users()
            self.void_responder(data, users)

        elif method == 'GetTranscodeOptions':

            result = server.jellyfin.get_transcode_settings()
            self.void_responder(data, result)

        elif method == 'GetThemes':

            if data['Type'] == 'Video':
                theme = server.jellyfin.get_items_theme_video(data['Id'])
            else:
                theme = server.jellyfin.get_items_theme_song(data['Id'])

            self.void_responder(data, theme)

        elif method == 'GetTheme':

            theme = server.jellyfin.get_themes(data['Id'])
            self.void_responder(data, theme)

        elif method == 'Browse':

            result = downloader.get_filtered_section(data.get('Id'),
                                                     data.get('Media'),
                                                     data.get('Limit'),
                                                     data.get('Recursive'),
                                                     data.get('Sort'),
                                                     data.get('SortOrder'),
                                                     data.get('Filters'),
                                                     data.get('Params'),
                                                     data.get('ServerId'))
            self.void_responder(data, result)

        elif method == 'BrowseSeason':

            result = server.jellyfin.get_seasons(data['Id'])
            self.void_responder(data, result)

        elif method == 'LiveTV':

            result = server.jellyfin.get_channels()
            self.void_responder(data, result)

        elif method == 'RecentlyAdded':

            result = server.jellyfin.get_recently_added(
                data.get('Media'), data.get('Id'), data.get('Limit'))
            self.void_responder(data, result)

        elif method == 'Genres':

            result = server.jellyfin.get_genres(data.get('Id'))
            self.void_responder(data, result)

        elif method == 'Recommended':

            result = server.jellyfin.get_recommendation(
                data.get('Id'), data.get('Limit'))
            self.void_responder(data, result)

        elif method == 'RefreshItem':
            server.jellyfin.refresh_item(data['Id'])

        elif method == 'FavoriteItem':
            server.jellyfin.favorite(data['Id'], data['Favorite'])

        elif method == 'DeleteItem':
            server.jellyfin.delete_item(data['Id'])

        elif method == 'PlayPlaylist':

            server.jellyfin.post_session(
                server.config.data['app.session'], "Playing", {
                    'PlayCommand': "PlayNow",
                    'ItemIds': data['Id'],
                    'StartPositionTicks': 0
                })

        elif method == 'Play':

            items = server.jellyfin.get_items(data['ItemIds'])

            PlaylistWorker(data.get('ServerId'), items,
                           data['PlayCommand'] == 'PlayNow',
                           data.get('StartPositionTicks', 0),
                           data.get('AudioStreamIndex'),
                           data.get('SubtitleStreamIndex')).start()

        elif method in ('ReportProgressRequested', 'Player.OnAVChange'):
            self.player.report_playback(data.get('Report', True))

        elif method == 'Playstate':
            self.playstate(data)

        elif method == 'GeneralCommand':
            self.general_commands(data)

        elif method == 'LoadServer':
            self.server_instance(data['ServerId'])

        elif method == 'AddUser':
            server.jellyfin.session_add_user(server.config.data['app.session'],
                                             data['Id'], data['Add'])
            self.additional_users(server)

        elif method == 'Player.OnPlay':
            on_play(data, server)

        elif method == 'VideoLibrary.OnUpdate':
            on_update(data, server)
def newEnv():
    env = connect.Connect(verbose=False)
    env.reset(first_player='x')
    return env