Example #1
0
def download_metadata_metadata(job, org):

    org.status = 'Downloading Metadata'
    org.save()

    try:

        # instantiate the metadata WSDL
        metadata_client = Client(settings.APP_URL + '/static/metadata-' +
                                 str(settings.SALESFORCE_API_VERSION) + '.xml')

        # URL for metadata API
        metadata_url = org.instance_url + '/services/Soap/m/' + str(
            settings.SALESFORCE_API_VERSION) + '.0/' + org.org_id

        # set the metadata url based on the login result
        metadata_client.set_options(location=metadata_url)

        # set the session id from the login result
        session_header = metadata_client.factory.create("SessionHeader")
        session_header.sessionId = org.access_token
        metadata_client.set_options(soapheaders=session_header)

        # query for the list of metadata types
        all_metadata = metadata_client.service.describeMetadata(
            settings.SALESFORCE_API_VERSION)

        # Components for listing metadata
        component_list = []
        loop_counter = 0

        # loop through metadata types
        for component_type in all_metadata[0]:

            # create the component type record and save
            component_type_record = ComponentType()
            component_type_record.org = org
            component_type_record.name = component_type.xmlName
            component_type_record.save()

            # Component is a folder component - eg Dashboard, Document, EmailTemplate, Report
            if not component_type.inFolder:

                # set up the component type to query for components
                component = metadata_client.factory.create("ListMetadataQuery")
                component.type = component_type.xmlName

                # Add metadata to list
                component_list.append(component)

            else:

                # Append "Folder" keyword onto end of component type
                component = metadata_client.factory.create("ListMetadataQuery")

                # EmailTemplate = EmailFolder (for some reason)
                if component_type.xmlName == 'EmailTemplate':
                    component.type = 'EmailFolder'
                else:
                    component.type = component_type.xmlName + 'Folder'

                # All folders for specified metadata type
                all_folders = metadata_client.service.listMetadata(
                    [component], settings.SALESFORCE_API_VERSION)
                folder_list = []
                folder_loop_counter = 0

                # Loop through folders
                for folder in all_folders:

                    # Create component for folder to query
                    folder_component = metadata_client.factory.create(
                        "ListMetadataQuery")
                    folder_component.type = component_type.xmlName
                    folder_component.folder = folder.fullName

                    folder_list.append(folder_component)

                    if len(folder_list) >= 3 or (len(all_folders) -
                                                 folder_loop_counter) <= 3:

                        # Loop through folder components
                        for folder_component in metadata_client.service.listMetadata(
                                folder_list, settings.SALESFORCE_API_VERSION):

                            # create the component record and save
                            component_record = Component()
                            component_record.component_type = component_type_record
                            component_record.name = folder_component.fullName
                            component_record.save()

                        folder_list = []

                    folder_loop_counter = folder_loop_counter + 1

            # Run the metadata query only if the list has reached 3 (the max allowed to query)
            # at one time, or if there is less than 3 components left to query
            if len(component_list) >= 3 or (len(all_metadata[0]) -
                                            loop_counter) <= 3:

                # loop through the components returned from the component query
                for component in metadata_client.service.listMetadata(
                        component_list, settings.SALESFORCE_API_VERSION):

                    # Query database for parent component_type
                    component_type_query = ComponentType.objects.filter(
                        name=component.type, org=org.id)

                    # Only add if found
                    if component_type_query:

                        # create the component record and save
                        component_record = Component()
                        component_record.component_type = component_type_query[
                            0]
                        component_record.name = component.fullName
                        component_record.save()

                # clear list once done. This list will re-build to 3 components and re-query the service
                component_list = []

            loop_counter = loop_counter + 1

        # If a component type has no child components, remove the component type altogether
        for component_type in ComponentType.objects.filter(org=org.id):
            if not Component.objects.filter(component_type=component_type.id):
                component_type.delete()

        # Create retrieve request
        retrieve_request = metadata_client.factory.create('RetrieveRequest')
        retrieve_request.apiVersion = settings.SALESFORCE_API_VERSION
        retrieve_request.singlePackage = True
        retrieve_request.packageNames = None
        retrieve_request.specificFiles = None

        # List of components to retrieve files for
        component_retrieve_list = []

        # Component types for the org
        component_types = ComponentType.objects.filter(org=org.id)

        # Now query through all components and download actual metadata
        for component_type in component_types:

            # Loop through child components of the component type
            for component in component_type.component_set.all():

                # Create PackageTypeMember instant to retrieve
                component_to_retrieve = metadata_client.factory.create(
                    'PackageTypeMembers')
                component_to_retrieve.members = component.name
                component_to_retrieve.name = component_type.name
                component_retrieve_list.append(component_to_retrieve)

        # If more than 5k components to retrieve, run it in batches. Otherwise just do it in
        # one big hit
        if len(component_retrieve_list) <= 5000:

            # Execute the callout for all components
            retrieve_files(org, metadata_client, retrieve_request,
                           component_retrieve_list, None)

        else:

            # Iterate over the component types and run in batches
            for component_type in component_types:

                component_retrieve_list = []

                # Loop through child components of the component type
                for component in component_type.component_set.all():

                    # Create PackageTypeMember instant to retrieve
                    component_to_retrieve = metadata_client.factory.create(
                        'PackageTypeMembers')
                    component_to_retrieve.members = component.name
                    component_to_retrieve.name = component_type.name
                    component_retrieve_list.append(component_to_retrieve)

                # Execute the retrieve for the component type
                retrieve_files(org, metadata_client, retrieve_request,
                               component_retrieve_list, component_type.name)

    except Exception as error:

        org.status = 'Error'
        org.error = error
        org.error_stacktrace = traceback.format_exc()

    org.save()

    # Check if both jobs are now finished
    check_overall_status(job)
Example #2
0
    def name(self):
        """ The method name.

        :rtype: str
        """

        return self._name


import pkg_resources
import types
from suds.sudsobject import Property
from suds.sax.text import Text

_CAMPAIGN_MANAGEMENT_SERVICE_V13 = Client(
    'file:///' + pkg_resources.resource_filename(
        'bingads', 'v13/proxies/campaign_management_service.xml'))
_CAMPAIGN_OBJECT_FACTORY_V13 = _CAMPAIGN_MANAGEMENT_SERVICE_V13.factory
_CAMPAIGN_OBJECT_FACTORY_V13.object_cache = {}
_CAMPAIGN_OBJECT_FACTORY_V13.create_without_cache = _CAMPAIGN_OBJECT_FACTORY_V13.create


def _suds_objects_deepcopy(origin):
    if origin is None:
        return None
    origin_type = type(origin)
    if origin_type == Text:
        return origin
    if origin_type == list:
        new = []
        for item in origin:
Example #3
0
# coidng=utf-8
from suds.client import Client
from suds.xsd.doctor import ImportDoctor,Import
# suds_jurko: https://bitbucket.org/jurko/suds
# web sevice: http://www.webxml.com.cn/zh_cn/web_services.aspx
url = 'http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl'
imp = Import('http://www.w3.org/2001/XMLSchema',location='http://www.w3.org/2001/XMLSchema.xsd')
imp.filter.add('http://WebXml.com.cn/')
client = Client(url,plugins = [ImportDoctor(imp)])
# print(client)
result = client.service.getWeather('深圳')
print (result)
from suds.client import Client
from time import sleep
import csv

a_url = 'http://search.webofknowledge.com/esti/wokmws/ws/WOKMWSAuthenticate?wsdl'
a_client = Client(a_url)
a_client.set_options(headers={'Authorization': ''})
#encoded log in credentials go here^
ID = a_client.service.authenticate()
SID = 'SID='
SID += ID

f = open('doi.csv')

csv_f = csv.reader(f)

saveFile = open('data.xml', 'ab')

for doi in csv_f:
    sleep(0.6)
    url = 'http://search.webofknowledge.com/esti/wokmws/ws/WokSearch?wsdl'
    client = Client(url, retxml=True)
    client.set_options(headers={'Content-type': 'text/xml', 'Cookie': SID})

    qparams = {'databaseId': 'WOS', 'userQuery': doi, 'queryLanguage': 'en'}

    fields = {
        'collectionName': 'WOS',
        'fieldName': 'name',
        'fieldName': 'title',
        'fieldName': 'abstract'
import json  # import json เข้ามาใช้แปลงจาก Dict เป็น json
import xmltodict  # แปลง xml ให้เป็น Dict
import subprocess as sp
from suds.client import Client  # เข้าไปอ่านไฟล์จาก Website
import os

client = Client('https://www.pttor.com/OilPrice.asmx?WSDL')
OilPrice = client.service.CurrentOilPrice(Language='thai')
OilPrice1 = xmltodict.parse(OilPrice)
Price = eval(json.dumps(OilPrice1))
op = dict()
w, h = os.get_terminal_size()
print(w, h)


def func_main():
    # แสดงข้อมูลราคาและชนิดน้ำมัน
    sp.call('clear', shell=True)
    oil_li = [{
        "name": "1.Gasoline 95  ",
        "price": 29.16
    }, {
        "name": "2.Gasoline 91  ",
        "price": 25.30
    }, {
        "name": "3.Gassohol 91  ",
        "price": 21.68
    }, {
        "name": "4.Gassohol E20 ",
        "price": 20.20
    }, {
Example #6
0
    def vies_vat_change(self):
        def _check_city(lines, country='BE'):
            if country == 'GB':
                ukzip = '[A-Z]{1,2}[0-9][0-9A-Z]?\s?[0-9][A-Z]{2}'
                if re.match(ukzip, lines[-1]):
                    cp = lines.pop()
                    city = lines.pop()
                    return (cp, city)
            elif country == 'SE':
                result = re.match('([0-9]{3}\s?[0-9]{2})\s?([A-Z]+)',
                                  lines[-1])
                if result:
                    lines.pop()
                    return (result.group(1), result.group(2))
            else:
                result = re.match('((?:L-|AT-)?[0-9\-]+[A-Z]{,2}) (.+)',
                                  lines[-1])
                if result:
                    lines.pop()
                    return (result.group(1), result.group(2))
            return False

        def _set_address_field(partner, field, value):
            partner[field] = value
            non_set_address_fields.remove(field)

        if stdnum_vat is None:
            return {}

        for partner in self:
            # If a field is non set in this algorithm
            # wipe it anyway
            non_set_address_fields = set(
                ['street', 'street2', 'city', 'zip', 'state_id', 'country_id'])
            if not partner.vat:
                return {}
            if len(partner.vat) > 5 and partner.vat[:2].lower(
            ) in stdnum_vat.country_codes:
                # Equivalent to stdnum_vat.check_vies(partner.vat).
                # However, we want to add a custom timeout to the suds.client
                # because by default, it's 120 seconds and this is to long.
                try:
                    client = Client(stdnum_vat.vies_wsdl, timeout=5)
                    partner_vat = stdnum_vat.compact(partner.vat)
                    result = client.service.checkVat(partner_vat[:2],
                                                     partner_vat[2:])
                except:
                    # Avoid blocking the client when the service is unreachable/unavailable
                    return {}

                if not result['valid']:
                    return {}

                if (not partner.name) and (result['name'] != '---'):
                    partner.name = result['name']

                #parse the address from VIES and fill the partner's data
                if result['address'] == '---': return {}

                lines = [x for x in result['address'].split("\n") if x]
                if len(lines) == 1:
                    lines = [x.strip() for x in lines[0].split(',') if x]
                if len(lines) == 1:
                    lines = [x.strip() for x in lines[0].split('   ') if x]

                _set_address_field(partner, 'street', lines.pop(0))

                if len(lines) > 0:
                    res = _check_city(lines, result['countryCode'])
                    if res:
                        _set_address_field(partner, 'zip', res[0])
                        _set_address_field(partner, 'city', res[1])
                if len(lines) > 0:
                    _set_address_field(partner, 'street2', lines.pop(0))

                country = self.env['res.country'].search(
                    [('code', '=', result['countryCode'])], limit=1)
                _set_address_field(partner, 'country_id',
                                   country and country.id or False)

                for field in non_set_address_fields:
                    if partner[field]:
                        partner[field] = False
Example #7
0
 def setUp(self):
     self.client = Client("http://localhost:9753/?wsdl", cache=None)
     self.ns = "soaplib.test.interop.server._service"
Example #8
0
def test_hello(url, name):
    client = Client(url)
    args = json.dumps({'name': '请求参数'})
    rs = client.service.hello_test(name, args)
    print(rs)
Example #9
0
    def test_userRegister(self, value):
        userRegister_param = eval(context.replace_new(self.userRegister_data))
        register_mobile = userRegister_param["mobile"]

        # 发短信数据准备
        self.MCodeParam["mobile"] = register_mobile

        MCode().sendMCode(self.MCodeParam)

        # 注册数据准备

        user_id = userRegister_param["user_id"]
        userRegister_param["verify_code"] = MCode().getMcode(register_mobile)

        url = ReadConfig().get_value("env-api", "pre_url") + value["url"]
        client = Client(url)
        client.service.userRegister(userRegister_param)

        # 以上代码能跑通

        id = value["id"]
        title = value["title"]

        verifyuserauth_param = eval(context.replace_new(value["data"]))

        if title != "不注册直接认证(uid不存在)" and title != "uid为空":
            verifyuserauth_param["uid"] = db_select.getuid(user_id)

        true_name = getattr(Context, "true_name")

        if title != "用户姓名为空":
            verifyuserauth_param["true_name"] = true_name

        expect = str(value["expect"])

        logger.info(verifyuserauth_param)

        res = client.service.verifyUserAuth(verifyuserauth_param)
        logger.info(res)
        res.retCode = str(res.retCode)

        after_max_fpk_id = db_select.get_max_Fpk_id()

        try:
            self.assertEqual(expect, res.retCode)
            logger.info("判断校验码成功")
            if res.retCode == "0":
                try:
                    self.assertEqual(self.before_max_fpk_id, after_max_fpk_id - 1)
                    logger.info("验库成功")
                except AssertionError as e:
                    logger.error("验库失败")
                    self.excel.write_data(id + 1, 7, res.retCode)
                    self.excel.write_data(id + 1, 8, "Failed")
                    raise e
            else:
                try:
                    self.assertEqual(self.before_max_fpk_id, after_max_fpk_id)
                    logger.info("验库成功")
                except AssertionError as e:
                    self.excel.write_data(id + 1, 7, res.retCode)
                    self.excel.write_data(id + 1, 8, "Failed")
                    logger.error("验库失败")
                    raise e
            self.excel.write_data(id + 1, 7, res.retCode)
            self.excel.write_data(id + 1, 8, "Pass")
        except AssertionError as e:
            logger.error("校验码失败")
            self.excel.write_data(id + 1, 7, res.retCode)
            self.excel.write_data(id + 1, 8, "Failed")
            raise e
Example #10
0
    def _ExpressAddPackageNew(self, packageinfo):

        result = {}
        result["status"] = 0
        result["data"] = {}
        result["data"]["message"] = packageinfo["message"]
        if packageinfo["status"]:
            client = Client(self.Url)
            servicereq = client.factory.create('ExpressAddPackageNewRequest')
            servicereq.Token = self.Token
            servicereq.UserKey = self.UserKey
            servicereq.OrderSign = ""
            servicereq.ExpressType = "UNKNOWN"
            servicereq.ExpressTypeNew = packageinfo["data"]["shipping"]
            servicereq.IsTracking = True
            servicereq.PickupType = 0
            servicereq.PackageDetail = {
                'Custom': packageinfo["data"]["Custom"],
                'CheckRepeatRefNo': packageinfo["data"]["CheckRepeatRefNo"],
                "RefNo": packageinfo["data"]["RefNo"],
                "ShipToAddress": {
                    'City': packageinfo["data"]["ShipToAddress_City"],
                    'Contact': packageinfo["data"]["ShipToAddress_Contact"],
                    'Country': packageinfo["data"]["ShipToAddress_Country"],
                    'Email': packageinfo["data"]["ShipToAddress_Email"],
                    'Phone': packageinfo["data"]["ShipToAddress_Phone"],
                    'PostCode': packageinfo["data"]["ShipToAddress_PostCode"],
                    'Province': packageinfo["data"]["ShipToAddress_Province"],
                    'Street1': packageinfo["data"]["ShipToAddress_Street1"],
                    'Street2': packageinfo["data"]["ShipToAddress_Street2"]
                },
                "Packing": {
                    "Length": packageinfo["data"]["Packing_Length"],
                    "Width": packageinfo["data"]["Packing_Length"],
                    "Height": packageinfo["data"]["Packing_Length"],
                },
                "Weight": packageinfo["data"]["Weight"],
                'Status': packageinfo["data"]["Status"],
                "TrackCode": packageinfo["data"]["TrackCode"],
                "Remark": packageinfo["data"]["Remark"],
                'ProductList': {
                    "ExpressProduct": [
                        {
                            "CustomsTitleEN": packageinfo["data"]["ProductList_CustomsTitleEN"],
                            "DeclareValue": packageinfo["data"]["ProductList_DeclareValue"],
                            "Quantity": packageinfo["data"]["ProductList_Quantity"],
                            "Weight": packageinfo["data"]["ProductList_Weight"],
                        }
                    ]
                },
                "SendedStatus": packageinfo["data"]["SendedStatus"],
            }
            expressAddPackageNew_Return = client.service.ExpressAddPackageNew(servicereq)
            result["data"]["message"] += expressAddPackageNew_Return["Message"]
            if expressAddPackageNew_Return["Ack"] == "Success":
                result["status"] = 1
                result["data"]["trackCode"] = expressAddPackageNew_Return["TrackCode"]  # 货物跟踪编号
                result["data"]["custom"] = expressAddPackageNew_Return["Custom"]  # 客户备注
                result["data"]["itemSign"] = expressAddPackageNew_Return["ItemSign"]  # 处理号
                result["data"]["orderSign"] = expressAddPackageNew_Return["OrderSign"]  # 订单号
        return result
Example #11
0
from boto.route53.exception import DNSServerError

# Get the domain name from the command line, print usage if not given

if len(sys.argv) < 2:
    print "Usage: %s <domainname>" % sys.argv[0]
    sys.exit(1)
else:
    zonename = sys.argv[1]

# Base64 encode password
b64password = base64.b64encode(netticapassword)

# Initialize Nettica
url = 'https://www.nettica.com/DNS/DnsApi.asmx?WSDL'
nettica = Client(url)

# Initialize the connection to AWS Route53
route53 = Route53Connection(awskeyid, awskeysecret)

# Logging for debug
#import logging
#logging.basicConfig(level=logging.INFO)
#logging.getLogger('suds.client').setLevel(logging.DEBUG)

try:
    (resultstatus, resultcount,
     netticarecords) = nettica.service.ListDomain(netticausername, b64password,
                                                  zonename)
except ValueError:
    print "Unable to find domain %s in Nettica or credentials incorrect" % zonename
Example #12
0
                        el.append(sub)
                else:
                    sub = get_suds_element(right, str(left))
                    el.append(sub)
        return el

    print "OMWS 1.0 test (v1)"
    print "=================="

    print "Testing endpoint: " + endpoint

    # General settings
    wsdl = 'http://openmodeller.cria.org.br/ws/1.0/openModeller.wsdl'

    # Instantiate SOAP client
    soap_client = Client(wsdl, location=endpoint, prettyxml=True)
    soap_client.add_prefix('om', 'http://openmodeller.cria.org.br/xml/1.0')
    soap_client.add_prefix('soap', 'http://schemas.xmlsoap.org/soap/envelope/')

    # Ignore logs
    h = NullLogHandler()
    logging.getLogger('suds.client').addHandler(h)
    logging.getLogger('suds.umx.typed').addHandler(h)
    logging.getLogger('suds.plugin').addHandler(h)

    #####  PING
    ###################################
    try:
        status = soap_client.service.ping()
    except Exception, e:
        print 'ping call failure:', str(e)
def main(g_params):  #{{{
    argv = sys.argv
    numArgv = len(argv)
    if numArgv < 2:
        PrintHelp()
        return 1

    wsdl_url = "http://v2.topcons.net/pred/api_submitseq/?wsdl"
    mode = ""
    jobid = ""
    email = ""
    jobname = ""
    fixtopfile = ""
    seqfile = ""
    outpath = "./"

    i = 1
    isNonOptionArg = False
    while i < numArgv:
        if isNonOptionArg == True:
            print("Error! Wrong argument:", argv[i], file=sys.stderr)
            return 1
            isNonOptionArg = False
            i += 1
        elif argv[i] == "--":
            isNonOptionArg = True
            i += 1
        elif argv[i][0] == "-":
            if argv[i] in ["-h", "--help"]:
                PrintHelp()
                return 0
            elif argv[i] in ["-m", "--m"]:
                (mode, i) = my_getopt_str(argv, i)
            elif argv[i] in ["-seq", "--seq"]:
                (seqfile, i) = my_getopt_str(argv, i)
            elif argv[i] in ["-jobname", "--jobname"]:
                (jobname, i) = my_getopt_str(argv, i)
            elif argv[i] in ["-email", "--email"]:
                (email, i) = my_getopt_str(argv, i)
            elif argv[i] in ["-fix", "--fix"]:
                (fixtopfile, i) = my_getopt_str(argv, i)
            elif argv[i] in ["-jobid", "--jobid"]:
                (jobid, i) = my_getopt_str(argv, i)
            elif argv[i] in ["-outpath", "--outpath"]:
                (outpath, i) = my_getopt_str(argv, i)
            else:
                print("Error! Wrong argument:", argv[i], file=sys.stderr)
                return 1
        else:
            print("Error! Wrong argument:", argv[i], file=sys.stderr)
            return 1

    if mode == "":
        print("mode not set. exit!", file=sys.stderr)
        print(usage_short)
        return 1
    elif not mode in ["submit", "get"]:
        print("unrecognized mode. exit!", file=sys.stderr)
        print(usage_short)
        return 1

    if mode == "submit":
        if seqfile == "":
            print("You want to submit a job but seqfile not set. exit!",
                  file=sys.stderr)
            print(usage_short)
            return 1
        elif not os.path.exists(seqfile):
            print("seqfile %s does not exist. exit!" % (seqfile),
                  file=sys.stderr)
            return 1

        try:
            filesize = os.path.getsize(seqfile)
        except OSError:
            print("failed to get the size of seqfile %s. exit" % (seqfile),
                  file=sys.stderr)
            return 1

        if filesize >= MAX_FILESIZE:
            print("You input seqfile %s exceeds the "\
                    "upper limit %d Mb."%(seqfile, MAX_FILESIZE_IN_MB), file=sys.stderr)
            print("Please split your seqfile and submit again.",
                  file=sys.stderr)
            return 1
        seq = ReadFile(seqfile)

        fixtop = ""
        if fixtopfile != "":
            fixtop = ReadFile(fixtopfile)
        myclient = Client(wsdl_url, cache=None)
        retValue = myclient.service.submitjob(seq, fixtop, jobname, email)
        if len(retValue) >= 1:
            strs = retValue[0]
            jobid = strs[0]
            result_url = strs[1]
            numseq_str = strs[2]
            errinfo = strs[3]
            warninfo = strs[4]
            if jobid != "None" and jobid != "":
                print("You have successfully submitted your job "\
                        "with %s sequences. jobid = %s"%(numseq_str, jobid))
                if warninfo != "" and warninfo != "None":
                    print("Warning message:\n", warninfo)
            else:
                print("Failed to submit job!")
                if errinfo != "" and errinfo != "None":
                    print("Error message:\n", errinfo)
                if warninfo != "" and warninfo != "None":
                    print("Warning message:\n", warninfo)
        else:
            print("Failed to submit job!")
            return 1
    else:
        if jobid == "":
            print(
                "You want to get the result of a job but jobid not set. exit!",
                file=sys.stderr)
            return 1
        myclient = Client(wsdl_url, cache=None)
        retValue = myclient.service.checkjob(jobid)
        if len(retValue) >= 1:
            strs = retValue[0]
            status = strs[0]
            result_url = strs[1]
            errinfo = strs[2]
            if status == "Failed":
                print("Your job with jobid %s is failed!" % (jobid))
                if errinfo != "" and errinfo != "None":
                    print("Error message:\n", errinfo)
            elif status == "Finished":
                print("Your job with jobid %s is finished!" % (jobid))
                if not os.path.exists(outpath):
                    try:
                        os.makedirs(outpath)
                    except OSError:
                        print("Failed to create the outpath %s" % (outpath))
                        return 1
                outfile = "%s/%s.zip" % (outpath, jobid)
                urllib.request.urlretrieve(result_url, outfile)
                if os.path.exists(outfile):
                    print(
                        "The result file %s has been retrieved for jobid %s" %
                        (outfile, jobid))
                else:
                    print("Failed to retrieve result for jobid %s" % (jobid))
            elif status == "None":
                print(
                    "Your job with jobid %s does not exist! Please check you typing!"
                    % (jobid))
            else:
                print("Your job with jobid %s is not ready, status = %s" %
                      (jobid, status))
        else:
            print("Failed to get job!")
            return 1

    return 0
Example #14
0
    def process(self, _edObject=None):
        """
        First uses the ImageService to find the imageId.
        Then uses ToolsForCollectionWebService for storing the image quality indicators.
        """
        EDPluginExec.process(self)
        self.DEBUG("EDPluginISPyBStoreImageQualityIndicatorsv1_4.process")
        # First get the image ID
        xsDataImageQualityIndicators = self.getDataInput(
        ).getImageQualityIndicators()
        strPathToImage = xsDataImageQualityIndicators.getImage().getPath(
        ).getValue()
        strDirName = os.path.dirname(strPathToImage)
        strFileName = os.path.basename(strPathToImage)
        httpAuthenticatedToolsForAutoprocessingWebService = HttpAuthenticated(
            username=self.strUserName, password=self.strPassWord)
        clientToolsForAutoprocessingWebService = Client(
            self.strToolsForAutoprocessingWebServiceWsdl,
            transport=httpAuthenticatedToolsForAutoprocessingWebService)
        iImageId = 0
        iAutoProcProgramId = self.iAutoProcProgramId
        iSpotTotal = self.getXSValue(xsDataImageQualityIndicators.spotTotal)
        iInResTotal = self.getXSValue(xsDataImageQualityIndicators.inResTotal)
        iGoodBraggCandidates = self.getXSValue(
            xsDataImageQualityIndicators.goodBraggCandidates)
        iIceRings = self.getXSValue(xsDataImageQualityIndicators.iceRings)
        fMethod1res = self.getXSValue(xsDataImageQualityIndicators.method1Res)
        fMethod2res = self.getXSValue(xsDataImageQualityIndicators.method2Res)
        fMaxUnitCell = self.getXSValue(
            xsDataImageQualityIndicators.maxUnitCell)
        fPctSaturationTop50peaks = self.getXSValue(
            xsDataImageQualityIndicators.pctSaturationTop50Peaks)
        iInResolutionOvrlSpots = self.getXSValue(
            xsDataImageQualityIndicators.inResolutionOvrlSpots)
        fBinPopCutOffMethod2res = self.getXSValue(
            xsDataImageQualityIndicators.binPopCutOffMethod2Res)
        fTotalIntegratedSignal = self.getXSValue(
            xsDataImageQualityIndicators.totalIntegratedSignal)
        fBackground3D_score = self.getXSValue(
            xsDataImageQualityIndicators.background3D_score)

        providedDate = DateTime(datetime.datetime.now())
        self.iImageQualityIndicatorsId = clientToolsForAutoprocessingWebService.service.storeOrUpdateImageQualityIndicatorsForFileName(
                fileLocation=strDirName, \
                fileName=strFileName, \
                imageId=iImageId, \
                autoProcProgramId=iAutoProcProgramId, \
                spotTotal=iSpotTotal, \
                inResTotal=iInResTotal, \
                goodBraggCandidates=iGoodBraggCandidates, \
                iceRings=iIceRings, \
                method1Res=fMethod1res, \
                method2Res=fMethod2res, \
                maxUnitCell=fMaxUnitCell, \
                pctSaturationTop50Peaks=fPctSaturationTop50peaks, \
                inResolutionOvrlSpots=iInResolutionOvrlSpots, \
                binPopCutOffMethod2Res=fBinPopCutOffMethod2res, \
                totalIntegratedSignal=fTotalIntegratedSignal, \
                background3D_score=fBackground3D_score)
        self.DEBUG(
            "EDPluginISPyBStoreImageQualityIndicatorsv1_4.process: imageQualityIndicatorsId=%r"
            % self.iImageQualityIndicatorsId)
Example #15
0
# coding:utf-8

from suds.client import Client
# hello_client = Client('http://40.125.204.79:7792/bigweb/services/SafeOutAccess?wsdl')
hello_client = Client('http://40.125.204.79:7792/bigweb/services/SafeOutAccess?wsdl')
print hello_client
hello_client.options.cache.clear()
# print hello_client
# result = hello_client.service.say_hello(
# """<?xml version="1.0" encoding="UTF-8" ?>
# <root>
#     <QueryCondition>
#             <wjm>11001901120180305000008</wjm>
#     </QueryCondition>
#     <QueryCondition>
#             <wjm>11001901120180305000010</wjm>
#     </QueryCondition>
#     <QueryCondition>
#             <wjm>09000109120171123000004</wjm>
#     </QueryCondition></root>""")

ss = """
<root>
    <QueryCondition>
            <wjm>11001901120180305000008</wjm>
    </QueryCondition>
    <QueryCondition>
            <wjm>11001901120180305000010</wjm>
    </QueryCondition>
    <QueryCondition>
            <wjm>09000109120171123000004</wjm>
Example #16
0
 def ConoceDia(self, time):
     url = 'http://localhost/SaberDia/nuSoap.php?wsdl'
     client = Client(url)
     client.options.cache.clear()  #make this line
     cl = client.service.dia_tuit(time)
     return cl
Example #17
0
 def get_client(self):
     if not self._client:
         url = settings.USA_EPAY_SOAP_1_4
         self._client = Client(url)
     return self._client
Example #18
0
 def __init__(self):
     self.url = 'http://legislatie.just.ro/apiws/FreeWebService.svc?wsdl'
     self.client = Client(self.url)
     self.token = self.client.service.GetToken()
Example #19
0
    def _get_partner_vals(self, vat):
        def _check_city(lines, country='BE'):
            if country == 'GB':
                ukzip = '[A-Z]{1,2}[0-9][0-9A-Z]?\s?[0-9][A-Z]{2}'
                if re.match(ukzip, lines[-1]):
                    cp = lines.pop()
                    city = lines.pop()
                    return (cp, city)
            elif country == 'SE':
                result = re.match('([0-9]{3}\s?[0-9]{2})\s?([A-Z]+)', lines[-1])
                if result:
                    lines.pop()
                    return (result.group(1), result.group(2))
            else:
                result = re.match('((?:L-|AT-)?[0-9\-]+[A-Z]{,2}) (.+)', lines[-1])
                if result:
                    lines.pop()
                    return (result.group(1), result.group(2))
            return False

        # Equivalent to stdnum_vat.check_vies(partner.vat).
        # However, we want to add a custom timeout to the suds.client
        # because by default, it's 120 seconds and this is to long.
        try:
            client = Client(stdnum_vat.vies_wsdl, timeout=5)
            partner_vat = stdnum_vat.compact(vat)
            result = client.service.checkVat(partner_vat[:2], partner_vat[2:])
        except:
            # Avoid blocking the client when the service is unreachable/unavailable
            return False, {}

        if not result['valid']:
            return False, {}

        partner_name = False
        partner_address = {}
        if result['name'] != '---':
            partner_name = result['name']

        #parse the address from VIES and fill the partner's data
        if result['address'] == '---': return partner_name, {}

        lines = [x for x in result['address'].split("\n") if x]
        if len(lines) == 1:
            lines = [x.strip() for x in lines[0].split(',') if x]
        if len(lines) == 1:
            lines = [x.strip() for x in lines[0].split('   ') if x]

        vals = self._split_street_with_params(', '.join(lines.pop(0).rsplit(' ', 1)), '%(street_name)s, %(street_number)s/%(street_number2)s')
        partner_address.update(vals)

        if len(lines) > 0:
            res = _check_city(lines, result['countryCode'])
            if res:
                partner_address['zip'] = res[0]
                partner_address['city'] = res[1]
                #_set_address_field(partner, 'zip', res[0])
                #_set_address_field(partner, 'city', res[1])
        if len(lines) > 0:
            partner_address['street2'] = lines.pop(0)
            #_set_address_field(partner, 'street2', lines.pop(0))

        country = self.env['res.country'].search([('code', '=', result['countryCode'])], limit=1)

        #_set_address_field(partner, 'country_id', country and country.id or False)
        partner_address['country_id'] = country and country.id or False
        return partner_name, partner_address
Example #20
0
 def _get_client(self, wsdl):
     wsdl_url = self.wsdlURL(wsdl)
     # Setting prefixes=False does not help
     return Client(wsdl_url, plugins=[FixRequestNamespacePlug()])
Example #21
0
 def get_project_list(self):
     client = Client(self.url)
     projects = client.service.mc_projects_get_user_accessible(
         self.username, self.password)
     return [x.name for x in projects]
Example #22
0
from suds.client import Client

url = "http://123.56.21.37:8080/webservice/helloWebService?wsdl"
clientCla = Client(url)
def main():
    parser = OptionParser()
    parser.add_option('-f',
                      dest='file',
                      help='Please specify file name with extension.')
    parser.add_option('-i', dest='host', help='Please specify UCM address.')
    parser.add_option('-u', dest='user', help='Enter Username.')
    parser.add_option('-p', dest='pwd', help='Enter Password.')
    parser.add_option('-v', dest='ver', help='Enter Version.')
    (options, args) = parser.parse_args()
    global ip, user, pwd, client, axlver, wsdl
    if options.ver:
        axlver = options.ver
    else:
        axlver = raw_input(
            "Please Enter the version of the CUCM cluster (10.0, 10.5, 11.0, 11.5) > "
        )
    if options.host:
        ip = options.host
    else:
        ip = raw_input(
            "Please Enter the IP Address or Hostname of your CUCM > ")
    if options.user:
        user = options.user
    else:
        user = raw_input("Please Enter Your CUCM User ID > ")
    if options.pwd:
        pwd = options.pwd
    else:
        pwd = getpass("Please Enter Your Password > ")
    tns = 'http://schemas.cisco.com/ast/soap/'
    imp = Import('http://schemas.xmlsoap.org/soap/encoding/',
                 'http://schemas.xmlsoap.org/soap/encoding/')
    imp.filter.add(tns)
    location = 'https://' + ip + ':8443/axl/'
    wsdl = axltoolkit(axlver)
    try:
        client = Client(wsdl,
                        location=location,
                        faults=False,
                        plugins=[ImportDoctor(imp)],
                        username=user,
                        password=pwd)
    except:
        print "Error with version or IP address of server. Please try again."
        sys.exit()
    try:
        verresp = client.service.getCCMVersion()
    except:
        print('Unknown Error. Please try again.')
        sys.exit()
    if verresp[0] == 401:
        print('Authentication failure. Wrong username or password.')
        sys.exit()
    cucmver = verresp[1]['return'].componentVersion.version
    cucmsplitver = cucmver.split('.')
    cucmactualver = cucmsplitver[0] + '.' + cucmsplitver[1]
    print('This cluster is version ' + cucmver)
    if axlver != cucmactualver:
        print('You chose the wrong version. The correct version is '
              ) + cucmactualver
        print('Please choose the correct version next time.')
        sys.exit()
    with open(options.file, 'r') as f:
        for dn_dest in f.readlines():
            if ',' in dn_dest:
                dn_dest = dn_dest.split(',')
                # split the current line with a comma into two variables, phone and DevicePool
                phone, newdevicepool = dn_dest[0], dn_dest[1].rstrip()
                get_phone_resp = client.service.getPhone(name=phone)
            devicepoolval = get_phone_resp[1]['return'].phone.devicePoolName
            devicepoolval.value = newdevicepool
            dpuuidfull = client.service.getDevicePool(name=newdevicepool)
            dpuuidmain = dpuuidfull[1]['return'].devicePool._uuid
            devicepoolval._uuid = dpuuidmain
            update_phone_resp = client.service.updatePhone(
                name=phone, devicePoolName=devicepoolval)
            if update_phone_resp[0] == 200:
                print("Success - Changed Device Pool on phone %s." % (phone))
            else:
                print("Problem changing Device Pool on phone %s." % (phone))
Example #24
0
__author__ = 'artzab'

from suds.client import Client
import logging

logging.basicConfig(level=logging.INFO)
testClient = Client('http://localhost:7789/?wsdl', cache=None)

result = testClient.service.GetGroups()

print result
Example #25
0
 protocol = 'https'
 server = 'localhost:9887'
 service_path = 'webapps/ws/services'
 url_header = protocol + "://" + server + "/" + service_path + "/"
 
 vendor_id = "bbdn"
 program_id = "Test"
 registration_password = ""
 tool_description = "Test registration for Liverpool"
 shared_password = "******"
 
 # This is the pattern for the SUDS library to dynamically create your Web Service code.
 # There are caching capabilities so that you can avoid this overhead everytime your script runs.
 # I have included the code for each endpoint, although only the ones I need are uncommented.
 url = url_header + 'Context.WS?wsdl'
 contextWS = Client(url, autoblend=True)
 if DEBUG == True:
     print(contextWS)
     
     # Initialize headers and then call createHeaders to generate the soap headers with WSSE bits.
 headers = []
 headers = createHeaders('initialize', "session", "nosession", 'Context.WS')
 
 # Add Headers and WS-Security to client. Set port to default value, otherwise, you must add to service call
 contextWS.set_options(soapheaders=headers, port='Context.WSSOAP12port_https')
 
 # Initialize Context
 sessionId = contextWS.service.initialize()
 if DEBUG == True:
     print(sessionId)
 
Example #26
0
        #        raise Inconsistent_data_exception()
        sys.exit(10)
# calculate number of record
    delta = (draw.output_time_date - start_td).total_seconds()
    num_of_record = int(delta / (3600 * draw.record))  # number of record

    # path to the results
    path_to_calc = token + '/NormPole/' + str(draw.calc_id)

else:
    pass

# === Stage 2 ===

url = 'http://' + os.environ['ICS_BALTIC_SERVER_IP'] + ':7889/?wsdl'
hello_client = Client(url)
# ===Connected===

try:
    result = hello_client.service.draw(
        draw.calc_id, path_to_calc, draw.plot_type, draw.depth,
        draw.crosssection, draw.cs_type, draw.cs_value, draw.cs_limits_min,
        draw.cs_limits_max, num_of_record, draw.scale, draw.scale_min,
        draw.scale_max, draw.scale_step, draw.zoom, draw.zoom_lon_min,
        draw.zoom_lon_max, draw.zoom_lat_min, draw.zoom_lat_max, draw.duration,
        draw.record)
    #    print(result)
    if result:
        path_name = result.split(' ')
        try:
            ftp = FTP(os.environ["ICS_BALTIC_FTP_IPADDR"])
Example #27
0
from suds.client import Client
url = "http://www.thomas-bayer.com/axis2/services/BLZService?wsdl"
client = Client(url)
##print client ## shows the details of this service

result = client.service.getBank('34250000')
print result.bezeichnung  ## see: restult.txt below
Example #28
0
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

from suds import WebFault
from suds.client import Client

c = Client('http://*****:*****@bbit')
print('Authentication for %r successful. Session id: %r' %
      (user_name, session_id))

request_header = c.factory.create('RequestHeader')
request_header.session_id = session_id
request_header.user_name = user_name
c.set_options(soapheaders=request_header)

print('Preferences for %r:' % user_name)
print(c.service.get_preferences(user_name))
Example #29
0
 def __init__(self, url):
     self.client = Client(url)
# -- coding:UTF-8 --<code>
# 查验发票测试1
from suds.client import Client
chayan = Client(
    'http://fpcy.sdaisino.com:8085/CheckCodeService/CXF/GetInvoiceService?wsdl'
)
print(
    chayan.service.getInvoice('<?xml version="1.0" encoding="UTF-8"?>\
<CheckData>\
<InvData>\
<TaxCode>91321204063278931X</TaxCode>\
<Password>c4ca4238a0b923820dcc509a6f75849b</Password>\
<InvCode>3100193130</InvCode>\
<InvNo>51792388</InvNo>\
<InvTime>2020-03-04</InvTime>\
<InvOther>1131.59</InvOther>\
</InvData>\
</CheckData>\
'))