Beispiel #1
0
    def delete(cls, url, params=None, retries=None, proxies=None, verify=None):
        """
        Send a DELETE request.

        :param url: The URL to send the DELETE request to.
        :type url: str
        :param params: The DELETE parameters to send in the request.
        :type params: dict
        :param retries: Number of retries before stopping.
        :type retries: int
        :param proxies: proxy info for requests.
        :type proxies: dict
        :param verify: verify info for requests.
        :type verify: bool, str
        :returns: dict (using json.loads())
        """

        if not params:
            params = dict()
        if proxies is None:
            proxies = get_proxies()
        if verify is None:
            verify = get_verify()

        params[t.ACCESS_TOKEN] = get_access_token()
        session = cls.build_session(retries)
        resp = session.delete(url,
                              params=params,
                              proxies=proxies,
                              verify=verify)
        return cls.handle_results(resp)
Beispiel #2
0
    def delete(cls, url, params=None, retries=None, headers=None, proxies=None, verify=None):
        """
        Send a DELETE request.

        :param url: The URL to send the DELETE request to.
        :type url: str
        :param params: The DELETE parameters to send in the request.
        :type params: dict
        :param retries: Number of retries before stopping.
        :type retries: int
        :param headers: header info for requests.
        :type headers: dict
        :param proxies: proxy info for requests.
        :type proxies: dict
        :param verify: verify info for requests.
        :type verify: bool, str
        :returns: dict (using json.loads())
        """

        if not params:
            params = dict()
        if headers is None:
            headers = get_headers()
        if proxies is None:
            proxies = get_proxies()
        if verify is None:
            verify = get_verify()

        params[t.ACCESS_TOKEN] = get_access_token()
        session = cls.build_session(retries)
        resp = session.delete(url, params=params, headers=headers, proxies=proxies, verify=verify)
        return cls.handle_results(resp)
Beispiel #3
0
def download_voice(VoiceMsg, filename):
    url = 'https://api.weixin.qq.com/cgi-bin/media/get'
    token = access_token.get_access_token()
    print('MediaId:' + VoiceMsg.MediaId)
    params = {'access_token': token, 'media_id': VoiceMsg.MediaId}
    r = requests.get(url, params=params)
    new_filename = 'SpeakerRecognition/audio/tmp/' + filename + '.amr'
    with open(new_filename, 'wb') as file:
        file.write(r.content)
    return new_filename
Beispiel #4
0
def upload_temp_image(filename):
    token = access_token.get_access_token()
    url = 'https://api.weixin.qq.com/cgi-bin/media/upload'

    file = open(filename, 'rb')
    params = {'access_token': token, 'type': 'image'}
    files = {'media': file}

    r = requests.post(url, params=params, files=files)
    #print(r.text)
    mediaId = json.loads(r.text)['media_id']

    return mediaId
    def get(cls, url, params=None):
        """
        Send a GET request.

        :param url: The URL to send the GET request to.
        :type url: str
        :param params: The GET parameters to send in the request.
        :type params: dict
        :returns: dict (using json.loads())
        """
        if not params:
            params = dict()

        params[t.ACCESS_TOKEN] = get_access_token()
        resp = requests.get(url, params=params)
        return cls.handle_results(resp)
Beispiel #6
0
    def get(cls, url, params=None):
        """
        Send a GET request.

        :param url: The URL to send the GET request to.
        :type url: str
        :param params: The GET parameters to send in the request.
        :type params: dict
        :returns: dict (using json.loads())
        """
        if not params:
            params = dict()

        params[t.ACCESS_TOKEN] = get_access_token()
        resp = requests.get(url, params=params)
        return cls.handle_results(resp)
Beispiel #7
0
def spark_pool_metrics_by_workspace(workspace_config, workspace_context):
    if not workspace_config.enable_spark_pools_metadata_metrics:
        return

    if not workspace_context or time.time() - workspace_context.get(
            'spark_pool_metrics_token_refresh_time',
            0) >= workspace_config.token_refresh_interval_sec:
        try:
            print('refreshing token for spark pool metrics...')
            bearer_token = access_token.get_access_token(
                workspace_config.service_principal_name,
                workspace_config.service_principal_password,
                workspace_config.tenant_id,
                workspace_config.azure_management_resource_uri)
            workspace_context['spark_pool_metrics_token_refresh_time'] = int(
                time.time())
            workspace_context['spark_pool_metrics_bearer_token'] = bearer_token
            print('token refreshed for spark pool metrics.')
        except:
            traceback.print_exc()

    bearer_token = workspace_context.get('spark_pool_metrics_bearer_token')
    if bearer_token and time.time() - workspace_context.get(
            'spark_pool_metrics_time', 0) >= 300:
        workspace_context['spark_pool_metrics_time'] = int(time.time())
        try:
            spark_pools_info = spark_pools.get_spark_pools(
                workspace_config.subscription_id,
                workspace_config.resource_group,
                workspace_config.workspace_name, bearer_token)
            for sp in spark_pools_info:
                metrics.spark_pool_info.labels(
                    workspace_name=workspace_config.workspace_name,
                    spark_pool_name=sp.name,
                    location=sp.location,
                    spark_version=sp.spark_version,
                    node_count=str(sp.node_count),
                    node_size=str(sp.node_size),
                    provisioning_state=str(sp.provisioning_state),
                    auto_scale_enabled=str(sp.auto_scale_enabled),
                    node_cpu_cores=str(sp.node_cpu_cores),
                    node_memory_size=str(sp.node_memory_size),
                ).set(1)
        except:
            traceback.print_exc()
Beispiel #8
0
    def get(cls, url, params=None, retries=None):
        """
        Send a GET request.

        :param url: The URL to send the GET request to.
        :type url: str
        :param params: The GET parameters to send in the request.
        :type params: dict
        :param retries: Number of retries before stopping.
        :type retries: int
        :returns: dict (using json.loads())
        """
        if not params:
            params = dict()

        params[t.ACCESS_TOKEN] = get_access_token()
        session = cls.build_session(retries)
        resp = session.get(url, params=params)
        return cls.handle_results(resp)
Beispiel #9
0
def token_refresh_by_workspace(workspace_config, workspace_context):
    if not workspace_context or time.time() - workspace_context.get(
            'token_refresh_time',
            0) >= workspace_config.token_refresh_interval_sec:
        metrics.token_refresh_count.labels(
            workspace_name=workspace_config.workspace_name).inc()
        try:
            print('refreshing token...')
            bearer_token = access_token.get_access_token(
                workspace_config.service_principal_name,
                workspace_config.service_principal_password,
                workspace_config.tenant_id, workspace_config.resource_uri)
            workspace_context['token_refresh_time'] = int(time.time())
            workspace_context['bearer_token'] = bearer_token
            print('token refreshed.')
            metrics.token_refresh_last_time.labels(
                workspace_name=workspace_config.workspace_name).set(
                    int(time.time()))
        except:
            metrics.token_refresh_failed_count.labels(
                workspace_name=workspace_config.workspace_name).inc()
            traceback.print_exc()
Beispiel #10
0
def get_ocr(img, ci, ck):
    try:
        url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=' + access_token.get_access_token(ci, ck)
        headers = { 'Content-Type': 'application/x-www-form-urlencoded' }
        params = {
            'image': img,
            'language_type': 'CHN_ENG',
            'detect_language': 'false',
            'probability': 'false'
        }
        params = urllib.urlencode(params)
        request = urllib2.Request(url=url, data=params)
        request.add_header('Content-Type', 'application/x-www-form-urlencoded')
        response = urllib2.urlopen(request)
        content = response.read()
        return [True, content]
    except Exception as e:
        return [False, e]
Beispiel #11
0
def get_ocr(img, ci, ck):
    try:
        url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=' + access_token.get_access_token(
            ci, ck)
        headers = {'Content-Type': 'application/x-www-form-urlencoded'}
        params = {
            'image': img,
            'language_type': 'CHN_ENG',
            'detect_language': 'false',
            'probability': 'false'
        }
        params = urllib.urlencode(params)
        request = urllib2.Request(url=url, data=params)
        request.add_header('Content-Type', 'application/x-www-form-urlencoded')
        response = urllib2.urlopen(request)
        content = response.read()
        return [True, content]
    except Exception as e:
        return [False, e]
Beispiel #12
0
import requests
from access_token import get_access_token
from config import Config
from encode_pass import get_password
from time_formart import get_time_stamp

BusinessShortCode = Config["BUSINESS_SHORT_CODE"]
shortcode = Config["Lipa Na Mpesa Online Shortcode"]
phone_number = Config["PHONE_NUMBER"]
timestamp = get_time_stamp()
password = get_password(timestamp)
access_token = get_access_token()


def lipa_na_mpesa():
    api_url = "https://sandbox.safaricom.co.ke/mpesa/stkpush/v1/processrequest"
    headers = {"Authorization": "Bearer %s" % access_token}
    request = {
        "BusinessShortCode": shortcode,
        "Password": password,
        "Timestamp": timestamp,
        "TransactionType": "CustomerPayBillOnline",
        "Amount": 2,
        "PartyA": phone_number,
        "PartyB": shortcode,
        "PhoneNumber": phone_number,
        "CallBackURL": "https://pizzaorder.com/callback",
        "AccountReference": "01 ",
        "TransactionDesc": "orderprize "
    }
Beispiel #13
0
import sys
import database
from SpeakerRecognition import *
import json
import requests
import access_token

if __name__ == '__main__':

    toUser = sys.argv[1]
    fromUser = sys.argv[2]
    new_filename = sys.argv[3]
    token = access_token.get_access_token()
    subscription_key = '20f920b168a241b9992fd0b1dc1bf664'

    ConvertFileFormat.convert(new_filename)
    new_filename = new_filename.split('.')[0] + '.wav'
    ids = database.get_voice_ids()
    speakerID = IdentifyFile.identify_file(subscription_key, new_filename,
                                           'true', ids)
    speaker_name = database.from_voiceid_to_name(speakerID)

    url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send'
    params = {'access_token': token}

    send_json = {
        "touser": toUser,
        "msgtype": "text",
        "text": {
            "content": speaker_name
        }
Beispiel #14
0
    def submit(cls,
               *args,
               **kwargs):
        """
        Submit batch request. All non-named args are considered to be
        dictionaries containing the following:

            type: The request type (GET, POST, etc.).
            url: The full or relative URL for the API call.
            body: If the type is POST this is the body that will be used.

        If you use "method" instead of "type" and/or "relative_urL" instead of
        "url" (which is accurate to the Graph API) we will use them
        appropriately.

        If you pass a named argument, we will consider the name as the name you
        wish to include in that specific request. This is useful for referencing
        a request in another request in the Batch (see FB documentation).

        The following named args are considered to be the options below.

        :param include_headers: Include headers in response.
        :type include_headers: bool
        :param omit_response: Omit response on success.
        :type omit_response: bool
        :param retries: Number of retries before stopping.
        :type retries: int
        :param headers: header info for requests.
        :type headers: dict
        :param proxies: proxy info for requests.
        :type proxies: dict
        :param verify: verify info for requests.
        :type verify: bool, str
        :returns: dict (using json.loads())
        """

        batch = []
        retries = kwargs.get('retries', None)
        if retries:
            del kwargs['retries']
        headers = kwargs.get('headers', None)
        if headers:
            del kwargs['headers']
        proxies = kwargs.get('proxies', None)
        if proxies:
            del kwargs['proxies']
        verify = kwargs.get('verify', None)
        if verify:
            del kwargs['verify']
        include_headers = kwargs.get('include_headers', None)
        if include_headers:
            del kwargs['include_headers']
            include_headers = Broker.sanitize_bool(include_headers)
        omit_response = kwargs.get('omit_response', None)
        if omit_response:
            del kwargs['omit_response']
            omit_response = Broker.sanitize_bool(omit_response)

        for arg in args:
            batch.append(Batch.prepare_single_request(arg))
        for key, value in kwargs.iteritems():
            batch.append(Batch.prepare_single_request(value, name=key))
        params = {t.ACCESS_TOKEN: get_access_token(),
                  t.BATCH: json.dumps(batch),
                  t.INCLUDE_HEADERS: include_headers,
                  t.OMIT_RESPONSE_ON_SUCCESS: omit_response}
        try:
            return Broker.post(t.URL,
                               params=params,
                               retries=retries,
                               headers=headers,
                               proxies=proxies,
                               verify=verify)
        except:
            raise pytxFetchError('Error with batch request.')
Beispiel #15
0
    def submit(cls, *args, **kwargs):
        """
        Submit batch request. All non-named args are considered to be
        dictionaries containing the following:

            type: The request type (GET, POST, etc.).
            url: The full or relative URL for the API call.
            body: If the type is POST this is the body that will be used.

        If you use "method" instead of "type" and/or "relative_urL" instead of
        "url" (which is accurate to the Graph API) we will use them
        appropriately.

        If you pass a named argument, we will consider the name as the name you
        wish to include in that specific request. This is useful for referencing
        a request in another request in the Batch (see FB documentation).

        The following named args are considered to be the options below.

        :param include_headers: Include headers in response.
        :type include_headers: bool
        :param omit_response: Omit response on success.
        :type omit_response: bool
        :param retries: Number of retries before stopping.
        :type retries: int
        :param headers: header info for requests.
        :type headers: dict
        :param proxies: proxy info for requests.
        :type proxies: dict
        :param verify: verify info for requests.
        :type verify: bool, str
        :returns: dict (using json.loads())
        """

        batch = []
        retries = kwargs.get('retries', None)
        if retries:
            del kwargs['retries']
        headers = kwargs.get('headers', None)
        if headers:
            del kwargs['headers']
        proxies = kwargs.get('proxies', None)
        if proxies:
            del kwargs['proxies']
        verify = kwargs.get('verify', None)
        if verify:
            del kwargs['verify']
        include_headers = kwargs.get('include_headers', None)
        if include_headers:
            del kwargs['include_headers']
            include_headers = Broker.sanitize_bool(include_headers)
        omit_response = kwargs.get('omit_response', None)
        if omit_response:
            del kwargs['omit_response']
            omit_response = Broker.sanitize_bool(omit_response)

        for arg in args:
            batch.append(Batch.prepare_single_request(arg))
        for key, value in kwargs.iteritems():
            batch.append(Batch.prepare_single_request(value, name=key))
        params = {
            t.ACCESS_TOKEN: get_access_token(),
            t.BATCH: json.dumps(batch),
            t.INCLUDE_HEADERS: include_headers,
            t.OMIT_RESPONSE_ON_SUCCESS: omit_response
        }
        try:
            return Broker.post(t.URL,
                               params=params,
                               retries=retries,
                               headers=headers,
                               proxies=proxies,
                               verify=verify)
        except:
            raise pytxFetchError('Error with batch request.')