예제 #1
0
def getData(acrch=False):
    data = {}
    client = RemotingService('http://dracula.irq.ru/Gateway.aspx')
    service = client.getService('MafiaAMF.AMFService')
    params1 = {
        "userId": "124520",
        "ServerVersion": 11522,
        "SystemID": "1",
        "sig": "d6b9ab24005cf6447de56d505f09b9a9"
    }
    resp = service.dispatch(params1, "AMFService.ClanFightInfoGet",
                            [{
                                "BattleDBID": bid,
                                "IsArchive": acrch
                            }], False)
    to_end = False
    if resp.has_key("data"):
        data = resp["data"]
    if data.has_key("Answer"):
        data = data["Answer"]
    if data.has_key("OtherData"):
        data = data["OtherData"]
    if data.has_key("ClanFightInfo"):
        data = data["ClanFightInfo"]
        to_end = True
    return data, to_end
예제 #2
0
def getClanData():
    data = []
    client = RemotingService('http://dracula.irq.ru/Gateway.aspx')
    service = client.getService('MafiaAMF.AMFService')
    params1 = {
        "userId": "124520",
        "ServerVersion": sid,
        "SystemID": "1",
        "sig": "d6b9ab24005cf6447de56d505f09b9a9"
    }
    resp = service.dispatch(params1, "AMFService.ClanInfoGet", [{
        "ClanDBID": cid
    }], False)
    name = 'none'
    if resp.has_key("data"):
        data = resp["data"]
    if data.has_key("Answer"):
        data = data["Answer"]
    if data.has_key("OtherData"):
        data = data["OtherData"]
    if data.has_key("PublicClanInfo"):
        data = data["PublicClanInfo"]
        name = data["Name"]
    if data.has_key("ClanUsers"):
        data = data["ClanUsers"]
    return name, data
예제 #3
0
파일: cluster.py 프로젝트: bobi5rova/cecog
    def _connect(self):
        self._check_host_url()

        success = False
        msg = 'Error on connecting to cluster control service on %s' % self._host_url
        try:
            client = RemotingService(self._host_url)
            self.dlg = ProgressDialog("connecting to cluster...", None, 0, 0, self)
            func = lambda: client.getService('clustercontrol')
            self.dlg.exec_(func)
            self._service = self.dlg.getTargetResult()
        except:
            exception(self, msg)
        else:
            try:
                self.dlg.exec_(self._service.get_cecog_versions)
                cluster_versions = self.dlg.getTargetResult()
            except Exception as e:
                exception(self, msg + '(%s)' %str(e))
            else:
                if not version in set(cluster_versions):
                    warning(self, 'Cecog version %s not supported by the cluster' %
                            version, 'Valid versions are: %s' \
                                % ', '.join(cluster_versions))
                else:
                    success = True
        return success
예제 #4
0
def get_videos(channel_id):
    videos = []
    client = RemotingService(
        'http://nrl.bigpondvideo.com/App/AmfPhp/gateway.php')
    service = client.getService('Miscellaneous')
    params = {
        'navId': channel_id,
        'startRecord': '0',
        'howMany': '50',
        'platformId': '1',
        'phpFunction': 'getClipList',
        'asFunction': 'publishClipList'
    }

    videos_list = service.getClipList(params)
    if videos_list:
        for video_item in videos_list[0]['items']:
            video = parse_video(video_item)
            videos.append(video)
        return videos
    else:
        d = xbmcgui.Dialog()
        msg = utils.dialog_message("Video list returned no results.")
        d.ok(*msg)
        return
예제 #5
0
    def _resolve_rtmp_playback_url_via_flash(self, key):
        self._addon.log_notice(
            "Resolving rtmp playback url for %s using flash" % key)
        user_agent = getUserAgent()
        self._addon.log_notice("Using user agent '%s'" % user_agent)
        svc = RemotingService(self._AMF_ENDPOINT,
                              amf_version=0,
                              user_agent=user_agent)
        svc.addHTTPHeader('Cookie', 'r=' + self._state['rdio_cookie'])
        svc.addHTTPHeader('Host', 'www.rdio.com')
        rdio_svc = svc.getService('rdio')

        playback_token = self._state['playback_token']
        secret_string = key + playback_token + self._RDIO_PLAYBACK_SECRET
        secret = self._RDIO_PLAYBACK_SECRET_SEED
        for c in secret_string:
            secret = ((secret << 5) + secret + ord(c)) % 65536

        playerName = 'api_%s' % str(int(math.floor(random.random() * 1000000)))

        pi = rdio_svc.getPlaybackInfo({
            'domain': self._RDIO_DOMAIN,
            'playbackToken': playback_token,
            'manualPlay': False,
            'requiresUnlimited': False,
            'playerName': playerName,
            'type': 'flash',
            'secret': secret,
            'key': key
        })
        if not pi:
            raise Exception, 'Failed to get playback info'

        return self._extract_rtmp_url_from_playback_info(pi)
예제 #6
0
def getData():
    global data
    client = RemotingService('http://dracula.irq.ru/Gateway.aspx')
    service = client.getService('MafiaAMF.AMFService')
    params1 = {
        "userId": "124520",
        "ServerVersion": sid,
        "SystemID": "1",
        "sig": "d6b9ab24005cf6447de56d505f09b9a9"
    }
    resp = service.dispatch(params1, "AMFService.ClanFightInfoGet",
                            [{
                                "BattleDBID": bid,
                                "IsArchive": False
                            }], False)
    if resp.has_key("data"):
        data = resp["data"]
    if data.has_key("Answer"):
        data = data["Answer"]
    if data.has_key("OtherData"):
        data = data["OtherData"]
    if data.has_key("ClanFightInfo"):
        data = data["ClanFightInfo"]
    if data != {}:
        changeInfo("ActorPlayers")
        changeInfo("TargetPlayers")
예제 #7
0
파일: cluster.py 프로젝트: raj347/cecog
    def _connect(self):

        success = False
        try:
            self._check_host_url()
            client = RemotingService(self._host_url)
            self.dlg = ProgressDialog("Connecting to Cluster...", None, 0, 0,
                                      self)
            func = lambda: client.getService('clustercontrol')
            self.dlg.exec_(func)
            self._service = self.dlg.getTargetResult()
            self._check_api_version()
        except ConnectionError as e:
            msg = ("%s\nDo you want to turn off the cluster support?") % str(e)
            ret = QMessageBox.question(self, "Error", msg)
            if ret == QMessageBox.Yes:
                self._turn_off_cluster_support()
        except Exception as e:
            QMessageBox.critical(self, "Error", str(e))
        else:
            try:
                self.dlg.exec_(self._service.get_cecog_versions)
                cluster_versions = self.dlg.getTargetResult()
            except Exception as e:
                QMessageBox.critical(self, "Error", str(e))
            else:
                if not version in set(cluster_versions):
                    QMessageBox.warning(
                        self, "Warning",
                        ("Cluster does not support %s %s"
                         "Available versions: %s" %
                         (appname, version, ', '.join(cluster_versions))))
                else:
                    success = True
        return success
예제 #8
0
파일: cluster.py 프로젝트: imcf/cecog
    def _connect(self):
        self._check_host_url()

        success = False
        msg = 'Error on connecting to cluster control service on %s' % self._host_url
        try:
            client = RemotingService(self._host_url)
            self.dlg = waitingProgressDialog('Please wait for the cluster...',
                                             self)
            self.dlg.setTarget(client.getService, 'clustercontrol')
            self.dlg.exec_()
            self._service = self.dlg.getTargetResult()
        except:
            exception(self, msg)
        else:
            try:
                self.dlg.setTarget(self._service.get_cecog_versions)
                self.dlg.exec_()
                cluster_versions = self.dlg.getTargetResult()
            except:
                exception(self, msg)
            else:
                if not VERSION in set(cluster_versions):
                    warning(self, 'Cecog version %s not supported by the cluster' %
                            VERSION, 'Valid versions are: %s' \
                                % ', '.join(cluster_versions))
                else:
                    success = True
        return success
예제 #9
0
 def __init__(self, acc, settingsmanager):
     self.settingsmanager = settingsmanager
     self.loadsettings()
     self.acc = acc
     self.pyamfhandler = RemotingService(
         'http://www.neopets.com/amfphp/gateway.php')
     self.pyamfhandler.opener = self.acc.opener.open
     self.loghandler = logwriter(acc, settingsmanager)
예제 #10
0
 def get_episode_url(self, url, Id):
     client = RemotingService(url)
     vi = client.getService('Nrj_VideoInfos')
     mi = vi.mediaInfo(Id)
     if self.debug_mode:
         print "url_episode : " + mi["url"]
     url_episode = mi["url"]
     return url_episode
예제 #11
0
    def __init__(self,acc,settingsmanager):
        self.acc = acc
        self.pyamfhandler = RemotingService('http://www.neopets.com/amfphp/gateway.php')
        self.pyamfhandler.opener =self.acc.opener.open



        self.activepetname =self.getactivepet()
예제 #12
0
def getAmfInfo(url, userAgent, serviceName, methodName):
    import pyamf
    from pyamf.remoting.client import RemotingService
    from pyamf import remoting, amf3, util
    client = RemotingService(url, user_agent=userAgent)
    service = client.getService(serviceName)
    methodCall = getattr(service, methodName)
    return service.methodCall()
예제 #13
0
def main():
    """
    Entry point for this client script.
    """
    url = 'http://%s:%d' % (host_info[0], host_info[1])
    client = RemotingService(url, logger=logging)
    print "Client running - pointing to server at %s" % url

    # at this point, calling the service gets us a dict of values
    user_service = client.getService('user')
    lenards = user_service.get_user('lenards')

    # in case you don't believe me - this shows I'm not lying
    logging.debug("isinstance(lenards, dict): %s" % isinstance(lenards, dict))

    # the User class attributes are not present at this point
    logging.debug("not hasattr(lenards, 'username'): %s" %
                  (not hasattr(lenards, 'username')))
    logging.debug("not hasattr(lenards, 'email'): %s" %
                  (not hasattr(lenards, 'email')))
    logging.debug("not hasattr(lenards, 'password'): %s" %
                  (not hasattr(lenards, 'password')))

    # but the values are there
    logging.debug("lenards['username'] == 'lenards': %s" %
                  (lenards['username'] == 'lenards'))
    logging.debug("lenards['email'] == '*****@*****.**': %s" %
                  (lenards['email'] == '*****@*****.**'))

    logging.debug("Output 'lenards': %s" % lenards)

    # if we register the class and the namespace, we get an object ref
    # (complete with attributes and such)
    logging.debug("Register UserDataTransferObject class...")
    pyamf.register_class(UserDataTransferObject, '%s.User' % AMF_NAMESPACE)

    logging.debug("Get a user from the server...")
    usr = user_service.get_user('lisa')

    # ensure it's the class we expect
    logging.debug("Ensure the class we got is our DTO, " +
                  "isinstance(usr, UserDataTransferObject): %s" %
                  isinstance(usr, UserDataTransferObject))

    # verify it has expected attributes
    logging.debug("Verify attributes present...")
    logging.debug("usr.username: %s" % usr.username)
    logging.debug("usr.email == '*****@*****.**': %s" %
                  (usr.email == '*****@*****.**'))
    logging.debug("usr.password == 'h1k3r': %s" % (usr.password == 'h1k3r'))

    logging.debug("Output user returned: %s" % usr)

    # request an unknown user
    logging.debug("Try to get a user that does not exist...")
    george = user_service.get_user('george')

    logging.debug("Output returned: %s" % george)
예제 #14
0
def get_url(video_id):
    utils.log("Fetching video URL for content ID %s..." % video_id)
    client = RemotingService(
        'http://nrl.bigpondvideo.com/App/AmfPhp/gateway.php')
    service = client.getService('SEOPlayer')
    base_url = service.getMediaURL({'cid': video_id})
    base_url = get_javascript_url(base_url)
    utils.log("Base URL found: %s" % base_url)
    return base_url
 def __init__(self, service, url):
     if service == 'amf':
         self.service = service
         from pyamf.remoting.client import RemotingService
         self.svcGateway = RemotingService(url)
     elif service == 'xmlrpc':
         self.service = service
         from xmlrpclib import ServerProxy
         self.svcGateway = ServerProxy(url, allow_none=True)
     else:
         raise Exception, 'Valid services are "amf" and "xmlrpc"'
예제 #16
0
    def __init__(self, acc, settingsmanager):
        self.usemobileservices = settingsmanager.getvalue(
            "Settings", "usemobileservices")

        if self.usemobileservices == 'on':
            self.acc = acc
            self.pyamfhandler = RemotingService(
                'http://www.neopets.com/amfphp/gateway.php')
            self.pyamfhandler.opener = self.acc.opener.open
            self.token = self.domobilelogin()
            print "Mobile login token = " + str(self.token)
예제 #17
0
def getsmil(vid):
    gw = RemotingService(url='http://video.nbcuni.com/amfphp/gateway.php',
            referer='http://www.nbc.com/assets/video/3-0/swf/NBCVideoApp.swf',
            user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7)',
        )
    ClipAll_service = gw.getService('getClipInfo.getClipAll')
    geo  ="US"
    num1 = "632"
    num2 = "-1"
    response = ClipAll_service(vid,geo,num1,num2)
    url = 'http://video.nbcuni.com/' + response['clipurl']
    return url
예제 #18
0
    def GetRemotingService(self, key, serviceName):
        #logger.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)-5.5s [%(name)s] %(message)s')

        headers = self.GetHeaders()
        client = RemotingService(c_brightcove + "/services/messagebroker/amf?playerKey=" + key.encode("ascii"), amf_version=3,logger=logger, user_agent=headers['User-Agent'])

        if self.httpManager.GetIsForwardedForIP():
             forwardedIP = self.httpManager.GetForwardedForIP()
             client.addHeader(u'X-Forwarded-For', forwardedIP)

        # Connect to the Brightcove AMF service
        service = client.getService(serviceName)
  
        return service
예제 #19
0
  def RemotingService(self, *args, **kwargs):
    # Fix for code that interacted with the older PyAMF.
    if 'client_type' in kwargs:
      self._core.log.warn("The 'client_type' argument of AMF.RemotingService is deprecated. Please use 'amf_version' instead.")
      if 'amf_version' not in kwargs:
        kwargs['amf_version'] = kwargs['client_type']
      del kwargs['client_type']

    # If no AMF version is specified, default to 3, since this will work for more cases than 0.
    if 'amf_version' not in kwargs:
      self._core.log.warn("No 'amf_version' argument provided to AMF.RemotingService - defaulting to 3.")
      kwargs['amf_version'] = 3
      
    return RemotingService(*args, **kwargs)
예제 #20
0
def getBattlesData():
    data = []
    client = RemotingService('http://dracula.irq.ru/Gateway.aspx')
    service = client.getService('MafiaAMF.AMFService')
    resp = service.dispatch(params1,"AMFService.ClanFightListGet",[{}],False)
    if resp.has_key("data"):
        data = resp["data"]
    if data.has_key("Answer"):
        data = data["Answer"]
    if data.has_key("OtherData"):
        data = data["OtherData"]
    if data.has_key("ClanWarsList"):
        data = data["ClanWarsList"]
    return data
예제 #21
0
def getrtmp():
        #rtmpurl = 'rtmp://cp37307.edgefcs.net:443/ondemand'
        gw = RemotingService(url='http://video.nbcuni.com/amfphp/gateway.php',
                     referer='http://video.nbcuni.com/embed/player_3-x/External.swf',
                     user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7)',
                     )
        ClipAll_service = gw.getService('getConfigInfo.getConfigAll')
        #Not sure where this number is coming from need to look further at action script.
        num1 = "19100"
        response = ClipAll_service(num1)
        rtmphost= response['akamaiHostName'] 
        app = response['akamaiAppName']
        rtmpurl = 'rtmp://'+rtmphost+':443/'+app
        return rtmpurl
예제 #22
0
 def getBrightCoveData(self,
                       playerId,
                       userAgent,
                       amfVersion=pyamf.AMF3,
                       **kwargs):
     client = RemotingService(self._amfUrl,
                              user_agent=userAgent,
                              amf_version=amfVersion)
     for k, v in kwargs.iteritems():
         if k == 'headers':
             for header in v:
                 client.addHTTPHeader(header[0], header[1])
         if k == 'proxy':
             client.setProxy(v)
     service = client.getService(self._serviceName)
     return service.getProgrammingForExperience(self._token, playerId)
예제 #23
0
def getClanList():
    data = {}
    client = RemotingService('http://odnvamp.irq.ru/Gateway.aspx')
    service = client.getService('MafiaAMF.AMFService')
    resp = service.dispatch(params1, "AMFService.ClanListGet",
                            [{
                                "IsFight": False
                            }], False)
    if resp.has_key("data"):
        data = resp["data"]
    if data.has_key("Answer"):
        data = data["Answer"]
    if data.has_key("OtherData"):
        data = data["OtherData"]
    if data.has_key("ClanList"):
        data = data["ClanList"]
    return data
예제 #24
0
파일: nbc.py 프로젝트: lukewiersma/redcop
def getrtmpOLD():
    gw = RemotingService(
        url='http://video.nbcuni.com/amfphp/gateway.php',
        referer='http://www.nbc.com/assets/video/3-0/swf/NBCVideoApp.swf',
        user_agent=
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7)',
    )
    ClipAll_service = gw.getService('getConfigInfo.getConfigAll')
    num1 = "17010"
    response = ClipAll_service(num1)
    rtmphost = response['akamaiHostName']
    app = response['akamaiAppName']
    identurl = 'http://' + rtmphost + '/fcs/ident'
    ident = common.getURL(identurl)
    ip = re.compile('<fcs><ip>(.+?)</ip></fcs>').findall(ident)[0]
    rtmpurl = 'rtmp://' + ip + ':1935/' + app + '?_fcs_vhost=' + rtmphost
    return str(rtmpurl)
예제 #25
0
def getsmil(vid):
        gw = RemotingService(url='http://video.nbcuni.com/amfphp/gateway.php',
                     referer='http://video.nbcuni.com/embed/player_3-x/External.swf',
                     user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7)',
                     )
        ClipAll_service = gw.getService('getClipInfo.getClipAll')
        geo  ="US"
        num1 = " "
        #num2 = "-1"
        response = ClipAll_service(vid,geo,num1)#,num2)
        print response
        if 'errordis' in response.keys():
                xbmcgui.Dialog().ok(xbmc.getLocalizedString(30005), xbmc.getLocalizedString(30005))
                return
        else:
                url = 'http://video.nbcuni.com/' + response['clipurl']
                return url
예제 #26
0
def task_request(obj, domain, method):
    if method == 'register':
        try:
            gw = RemotingService(domain + 'sync/', amf_version=AMF3)
            service = gw.getService('SyncService')
            http_data = service.register(obj)

            return http_data
        except Exception, e:
            # set the admin phone nos as global variable in the settings and make message_as_sms() loop over the nos.
            data = {
                'subject': 'Offline Registration Error',
                'message': e,
                'phone': '08137474080'
            }
            message_as_email(data)
            return
예제 #27
0
    def handle(self, *args, **options):

        url = 'http://%s:%d/gateway' % (settings.HOST_INFO[0],
                                        settings.HOST_INFO[1])
        client = RemotingService(url, logger=logging)
        print "Client running - pointing to server at %s" % url

        #import ipdb; ipdb.set_trace()

        user_service = client.getService('user')
        map_service = client.getService('map')
        testerA = user_service.put_user('tester1', 'test', '*****@*****.**')
        testerB = user_service.get_user('tester1')

        map = map_service.put_map("tester1", "test map 1",
                                  datetime.datetime.now(), "test data", 1,
                                  False)

        map_1 = map_service.get_map('tester1', map['id'])
예제 #28
0
 def findMediaById(self,
                   playerId,
                   videoPlayer,
                   publisherId,
                   userAgent,
                   amfVersion=pyamf.AMF3,
                   **kwargs):
     client = RemotingService(self._amfUrl,
                              user_agent=userAgent,
                              amf_version=amfVersion)
     for k, v in kwargs.iteritems():
         if k == 'headers':
             for header in v:
                 client.addHTTPHeader(header[0], header[1])
         if k == 'proxy':
             client.setProxy(v)
     service = client.getService(self._serviceName)
     return service.findMediaById(self._token, playerId, videoPlayer,
                                  publisherId)
예제 #29
0
def getrtmp():
    #rtmpurl = 'rtmp://8.18.43.101/ondemand?_fcs_vhost=cp35588.edgefcs.net'
    gw = RemotingService(
        url='http://video.nbcuni.com/amfphp/gateway.php',
        referer=
        'http://www.usanetwork.com/[[IMPORT]]/video.nbcuni.com/outlet/extensions/inext_video_player/video_player_extension.swf',
        user_agent=
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7)',
    )
    ClipAll_service = gw.getService('getConfigInfo.getConfigAll')
    #Not sure where this number is coming from need to look further at action script.
    num1 = "23012"
    response = ClipAll_service(num1)
    rtmphost = response['akamaiHostName']
    app = response['akamaiAppName']
    identurl = 'http://' + rtmphost + '/fcs/ident'
    ident = getHTML(identurl)
    ip = re.compile('<fcs><ip>(.+?)</ip></fcs>').findall(ident)[0]
    rtmpurl = 'rtmp://' + ip + '/' + app + '?_fcs_vhost=' + rtmphost
    return rtmpurl
예제 #30
0
def getClanData():
    data = []
    client = RemotingService('http://odnvamp.irq.ru/Gateway.aspx')
    service = client.getService('MafiaAMF.AMFService')
    resp = service.dispatch(params1, "AMFService.ClanInfoGet", [{
        "ClanDBID": cid
    }], False)
    name = 'none'
    if resp.has_key("data"):
        data = resp["data"]
    if data.has_key("Answer"):
        data = data["Answer"]
    if data.has_key("OtherData"):
        data = data["OtherData"]
    if data.has_key("PublicClanInfo"):
        data = data["PublicClanInfo"]
        name = data["Name"]
    if data.has_key("ClanUsers"):
        data = data["ClanUsers"]
    return name, data