Ejemplo n.º 1
0
    def dict_to_xml( self, root_elm, dict_data ):
        for key in dict_data.keys():
            _data = dict_data[key]
            _elm  = SubElement(root_elm, key)

            _list_data = (isinstance(_data, list) or isinstance(_data, tuple))
            _is_plural = (key[len(key)-1] == "s")
            _plural_name = key[:len(key)-1]

            if isinstance(_data, dict):
                _elm = self.dict_to_xml(_elm, _data)

            elif _list_data and not _is_plural:
                for _d in _data:
                  __elm = self.dict_to_xml(_elm, _d)

            elif _list_data:
                for _d in _data:
                    _plural_name = self.PLURAL_EXCEPTIONS.get(_plural_name, _plural_name)
                    __elm = self.dict_to_xml(SubElement(_elm, _plural_name), _d)

            else:
                _elm.text = str(_data)

        return root_elm
Ejemplo n.º 2
0
    def _commit_blocks(self, object_path, chunks, lease):
        """
        Makes a final commit of the data.

        :param object_path: Server side object path.
        :type object_path: ``str``

        :param upload_id: A list of (chunk_number, chunk_hash) tuples.
        :type upload_id: ``list``
        """

        root = Element('BlockList')

        for block_id in chunks:
            part = SubElement(root, 'Uncommitted')
            part.text = str(block_id)

        data = tostring(root)
        params = {'comp': 'blocklist'}
        headers = {}

        lease.update_headers(headers)
        lease.renew()

        response = self.connection.request(object_path, data=data,
                                           params=params, headers=headers,
                                           method='PUT')

        if response.status != httplib.CREATED:
            raise LibcloudError('Error in blocklist commit', driver=self)
Ejemplo n.º 3
0
    def makeXML(self, work_directory):
        # </Artifact>
        TheArtifact = Element( 'Artifact')
        TheArtifact.attrib['xmlns']="http://geni.net/schema"
        TheArtifact.attrib['xmlns:xsi']="http://www.w3.org/2001/XMLSchema-instance"
        TheArtifact.attrib['xsi:schemaLocation']="http://geni.net/schema GENIObject.xsd"

        # <Artifact><Type/>
        Type = SubElement( TheArtifact, 'Type')

        # <Artifact><Type><Primary/>
        Primary = SubElement( Type, 'Primary')
        Primary.text = self.art_type_prime

        # <Artifact><Interpretation/>
        Interpretation = SubElement( TheArtifact, 'Interpretation')
    
        # <Artifact><Interpretation><Interpretation_read_me_text/>
        Read_me_text = SubElement( Interpretation, 'Interpretation_read_me_text')
        Read_me_text.text = self.interpretation_read_me

        #To print to file
        Test = ElementTree()
        Test._setroot(TheArtifact)
        root = Test.getroot()
        self.indent(root)
        Test.write(work_directory+'/artifact.xml')
Ejemplo n.º 4
0
    def _prepare_xml_request(self, module, leads):
        root = Element(module)

        # Row counter
        no = 1
        for lead in leads:
            row = Element("row", no=str(no))
            root.append(row)
            
            assert type(lead) == dict, "Leads must be dictionaries inside a list, got:" + str(type(lead))
            
            for key, value in lead.items():
                # <FL val="Lead Source">Web Download</FL>
                # <FL val="First Name">contacto 1</FL>
                fl = Element("FL", val=key)
                if type(value) == dict: # If it's an attached module, accept multiple groups
                    mod_attach_no = 1
                    for module_key, module_value in value.items(): # The first group defines the module name, yank that and iterate through the contents
                        for mod_item in module_value:
                            mod_fl = SubElement(fl, module_key, no=str(mod_attach_no))
                            for mod_item_key, mod_item_value in mod_item.items():
                                attach_fl = SubElement(mod_fl, "FL", val=mod_item_key)
                                attach_fl.text = mod_item_value
                            mod_attach_no += 1
                elif type(value) not in [str, unicode]:
                    fl.text = str(value)
                else:
                    fl.text = value
                row.append(fl)
            no += 1
        return root
Ejemplo n.º 5
0
def addDataToForm(form, element, subelement):
    print form
    elem = SubElement(person, element)
    for key in form.keys():
        for value in form.getlist(key):
            subelem = SubElement(elem, subelement)
            subelem.text = value
Ejemplo n.º 6
0
def brandsCatalogXML(brand_id):
    if 'username' not in login_session:
        response = make_response(json.dumps("You are not authorized, Login is required"), 401)
        response.headers['Content-Type'] = 'application/json'
        return response
    else:
        brand = session.query(Brand).filter_by(id=brand_id).one()
        items = session.query(Item).filter_by(brand_id=brand_id).all()
    
    root = Element('html')
    for i in items:
        body = SubElement(root, 'body')
        ID = SubElement(body, 'ID')
        ID.text = str(i.id)
        name = SubElement(body, 'name')
        name.text = i.name
        price = SubElement(body, 'price')
        price.text = i.price
        description = SubElement(body, 'description')
        description.text = i.description
        image = SubElement(body, 'image')
        image.text = i.image
        print tostring(root)

    return app.response_class(tostring(root), mimetype='application/xml')
Ejemplo n.º 7
0
    def _create_update_feed(self, cell_list):
        feed = Element('feed', {'xmlns': ATOM_NS,
                                'xmlns:batch': BATCH_NS,
                                'xmlns:gs': SPREADSHEET_NS})

        id_elem = SubElement(feed, 'id')

        id_elem.text = construct_url('cells', self)

        for cell in cell_list:
            entry = SubElement(feed, 'entry')

            SubElement(entry, 'batch:id').text = cell.element.find(_ns('title')).text
            SubElement(entry, 'batch:operation', {'type': 'update'})
            SubElement(entry, 'id').text = cell.element.find(_ns('id')).text

            edit_link = finditem(lambda x: x.get('rel') == 'edit',
                    cell.element.findall(_ns('link')))

            SubElement(entry, 'link', {'rel': 'edit',
                                       'type': edit_link.get('type'),
                                       'href': edit_link.get('href')})

            SubElement(entry, 'gs:cell', {'row': str(cell.row),
                                          'col': str(cell.col),
                                          'inputValue': unicode(cell.value)})
        return feed
Ejemplo n.º 8
0
def mergeLogs(fromFilePath, toFilePath, outputFilePath):
    utf8open = lambda s: open(s, 'r', 'utf8')

    outputDoc = E('html')

    with utf8open(fromFilePath) as fromFile, utf8open(toFilePath) as toFile:

        # the body and HTML tags are left open so the app can just append
        # when a new message comes in. we have to close them.
        # note: this could also be taken care of by BeautifulSoup or
        # perhaps lxml.html

        fromDoc = fromstring(fromFile.read() + '</BODY></HTML>')
        toDoc = fromstring(toFile.read() + '</BODY></HTML>')

        # copy the head tag so formatting and stuff is preserved in our new doc
        outputDoc.append(fromDoc.find('HEAD').copy())

        fromMessages = fromDoc.findall('./BODY/div')
        toMessages = toDoc.findall('./BODY/div')

        allMessages = list(fromMessages) + list(toMessages)
        allMessages.sort(key = lambda e: time.strptime(e.attrib['timestamp'], '%Y-%m-%d %H:%M:%S'))

        body = SE(outputDoc, 'BODY', attrib = fromDoc.find('BODY').attrib)
        body.extend(x.copy() for x in allMessages)

    ElementTree(outputDoc).write(outputFilePath, 'utf8')
Ejemplo n.º 9
0
def createAndWriteXML(upload_id, writeToDB):
    completeVase = Element('vase')
    
    for i in range(len(finalRight)):
        pointpair = SubElement(completeVase, 'pointpair')
        left = SubElement(pointpair, 'left')
        right = SubElement(pointpair, 'right')
        
        t = SubElement(pointpair, 't')
        
        xRight = SubElement(right, 'x')
        xLeft = SubElement(left, 'x')
        yRight = SubElement(right, 'y')
        yLeft = SubElement(left, 'y')
        
        t.text = "0"
        xRight.text = str(finalRight[i][0])
        xLeft.text = str(finalLeft[i][0])
        yRight.text = str(finalRight[i][1])
        yLeft.text = str(finalLeft[i][1])
    
    if writeToDB == 'True':
        writeToDB(upload_id, tostring(completeVase))
    #print "Content-type: text/html"
    #print
    print tostring(completeVase)
Ejemplo n.º 10
0
def process_text(parent, style_node, style_macros, reference):
    """
    When given a style node and a reference, return an evaludated cs:text.
    """
    formatting = style_node.attrib
    variable = style_node.get('variable')
    macro = style_node.get('macro')
    
    if variable:
        if variable in reference:
            content = reference.pop(style_node.get('variable'))
        else:
            content = None

        if content:
            node = SubElement(parent, "span", attrib=formatting)
            node.set('property', get_property(node.attrib.pop('variable')))
            node.text = content
            return(node)
    elif macro:
        macro_result = process_macro(parent, 
                                     get_macro(macro, style_macros), 
                                     style_macros, 
                                     reference)
        return(macro_result)
    else:
        pass
Ejemplo n.º 11
0
def modify_vrt(vrt, scale):
    """
    Makes modifications to the vrt file to fix the values.

    :param vrt: VRT file to be processed
    :param scale: Scale value from get_metadata_item function
    :return: None
    """

    doc = parse(vrt)

    root = doc.getroot()

    # Fix the datatype if it is wrong
    raster_band = root.find('VRTRasterBand')
    raster_band.set('dataType', 'Float32')

    # Add the scale to the vrt file
    source = root.find('VRTRasterBand').find('ComplexSource')
    scale_ratio = SubElement(source, 'ScaleRatio')
    scale_ratio.text = scale

    # Write the scale input
    # vrt files are overwritten with the same name
    doc.write(vrt, xml_declaration=True)
Ejemplo n.º 12
0
    def dict_to_xml(self, root_elm, data):
        for key in data.keys():
            sub_data = data[key]
            elm = SubElement(root_elm, key)

            is_list = isinstance(sub_data, list) or isinstance(sub_data, tuple)
            is_plural = key[len(key)-1] == "s"
            plural_name = key[:len(key)-1]

            # Key references a dict. Unroll the dict
            # as it's own XML node with subnodes
            if isinstance(sub_data, dict):
                self.dict_to_xml(elm, sub_data)

            # Key references a list/tuple
            elif is_list:
                # key name is a plural. This means each item
                # in the list needs to be wrapped in an XML
                # node that is a singular version of the list name.
                if is_plural:
                    for d in sub_data:
                        plural_name = self.PLURAL_EXCEPTIONS.get(plural_name, plural_name)
                        self.dict_to_xml(SubElement(elm, plural_name), d)

                # key name isn't a plural. Just insert the content
                # as an XML node with subnodes
                else:
                    for d in sub_data:
                        self.dict_to_xml(elm, d)

            # Normal element - just inser the data.
            else:
                elm.text = str(sub_data)

        return root_elm
def updateLine(firstrow, method, attr):
    root, body = getBaseXML()
    action = SubElement(body, 'ns:' + method)
    for i in range(len(attr)):
        if '-' in firstrow[i]:
            # pattern;partition;altnum-nummask;altnum-partition
            #<altnum>
            #  <nummask>XXXX</nummask>
            #  <partition>CLUSTERDN</partition>
            #</altnum>
            parentchild = firstrow[i].split('-')
            #altnum
            parent = parentchild[0]
            #nummask
            child = parentchild[1]

            #<altnum>
            l1 = SubElement(action, parent)
            #<altnum><nummask>
            l2 = SubElement(l1, child)
            #<altnum><nummask>XXXX
            l2.text = attr[i]
        else:
            l1 = SubElement(action, firstrow[i])
            l1.text = attr[i]

    xmldata = ElementTree.tostring(root, encoding='utf-8')

    logger.info('Updating Line ' + attr[0])
    for i in range(len(firstrow)):
        logger.debug(firstrow[i] + ': ' + attr[i])

    result = runAxl(method, xmldata)
    logger.info(result)
Ejemplo n.º 14
0
def topology_list():
    logger.info('GET topology list.')
    try:
        #open DB connection.
        tpldb_setup()

        #create <topology_list>
        xml_topology_list = Element(const.XML_TAG_TOPOL_LIST)
        
        nw_list = Network.query.all()
        for nw in nw_list:
            #add <topology type='slice' last_update_time='xxx' name='xxx' owner='xxx'>
            xml_topology = SubElement(xml_topology_list, const.XML_TAG_TOPOL,
                                        {const.XML_ATTR_TYPE:nw.type,
                                         const.XML_ATTR_LAST_UPD_TIME:str(nw.last_update_time),
                                         const.XML_ATTR_NAME:nw.network_name
                                            })

            if nw.type == const.TYPE_NW_SLICE:
                xml_topology.set(const.XML_ATTR_OWN,nw.user)

    except Exception:
        logger.exception('GET topology list error.')
        return HTTPResponse("GET topology list error.", status=500)

    finally:
        #close DB connection.
        tpldb_close()

    return util.prettify(xml_topology_list)
Ejemplo n.º 15
0
def compile_while(tree, tok_type, tok):
    subR = SubElement(tree, 'whileStatement')

    # while
    temp = SubElement (subR, tok_type)
    temp.text = tok
    tok_type, tok  = next(token_it)

    # '('
    temp = SubElement (subR, tok_type)
    temp.text = tok

    # ( INSIDE )
    tok_type, tok = compile_expression(subR)

    # ')'
    temp = SubElement (subR, tok_type)
    temp.text = tok
    tok_type, tok  = next(token_it)

    # '{'
    temp = SubElement (subR, tok_type)
    temp.text = tok
    tok_type, tok  = next(token_it)

    tok_type, tok = statements(subR, tok_type, tok)

    # '}'
    temp = SubElement (subR, tok_type)
    temp.text = tok
    def create_container(self, container_name):
        if self.ex_location_name:
            root = Element('CreateBucketConfiguration')
            child = SubElement(root, 'LocationConstraint')
            child.text = self.ex_location_name

            if PY3:
                encoding = 'unicode'
            else:
                encoding = None
            data = tostring(root, encoding=encoding)
        else:
            data = ''

        response = self.connection.request('/%s' % (container_name),
                                           data=data,
                                           method='PUT')

        if response.status == httplib.OK:
            container = Container(name=container_name, extra=None, driver=self)
            return container
        elif response.status == httplib.CONFLICT:
            raise InvalidContainerNameError(value='Container with this name ' +
                                'already exists. The name must be unique among '
                                'all the containers in the system',
                                container_name=container_name, driver=self)
        elif response.status == httplib.BAD_REQUEST:
            raise InvalidContainerNameError(value='Container name contains ' +
                                            'invalid characters.',
                                            container_name=container_name,
                                            driver=self)

        raise LibcloudError('Unexpected status code: %s' % (response.status),
                            driver=self)
Ejemplo n.º 17
0
def story_feed(request, story):
    story = Story.objects.get(slug=story)
    rss = Element('rss')
    rss.set("version","2.0")

    channel = SubElement(rss,'channel')

    title = SubElement(channel,'title')
    title.text = story.title

    link = SubElement(channel,'link')
    link.text = request.build_absolute_uri(reverse("story"))

    desc = SubElement(channel,'description')
    desc.text = story.description

    chapters = story.chapters.all()

    for index in chapters:
        item = SubElement(channel,'item')

        title_c = SubElement(item,'title')
        title_c.text = index.title
        
        link = SubElement(item,'link')
        link.text = request.build_absolute_uri(index.get_absolute_url())

    return HttpResponse(tostring(rss, encoding='UTF-8'))
Ejemplo n.º 18
0
def compile_if(tree, tok_type, tok):

    subR = SubElement(tree, "ifStatement")
    # if
    temp = SubElement(subR, tok_type)
    temp.text = tok
    tok_type, tok = next(token_it)

    # '('
    temp = SubElement(subR, tok_type)
    temp.text = tok

    # ( INSIDE )
    tok_type, tok = compile_expression(subR)

    # ')'
    temp = SubElement(subR, tok_type)
    temp.text = tok
    tok_type, tok = next(token_it)

    # '{'
    temp = SubElement(subR, tok_type)
    temp.text = tok
    tok_type, tok = next(token_it)

    tok_type, tok = statements(subR, tok_type, tok)

    # '}'
    temp = SubElement(subR, tok_type)
    temp.text = tok
Ejemplo n.º 19
0
def export_opml(user):
    """
    Generate a minimal OPML export of the user's feeds.

    :param user: Django User object
    :param stream: writable file-like object to which the XML is written
    """
    root = Element('opml', {'version': '1.0'})

    head = SubElement(root, 'head')
    title = SubElement(head, 'title')
    title.text = u'{0} subscriptions'.format(user.username)

    body = SubElement(root, 'body')

    for feed in user.feed_set.all():
        item = SubElement(body, 'outline', {
            'type': 'rss',
            'text': feed.title,
            'title': feed.title,
            'xmlUrl': feed.feed_url,
        })
        if feed.site_url:
            item.set('htmlUrl', feed.site_url)

    buf = StringIO()
    ElementTree(root).write(buf, encoding="UTF-8")
    return buf.getvalue()
Ejemplo n.º 20
0
    def get_database_deployment(dbid, sid=0):
        deployment_top = Element('deployment')
        deployment = HTTPListener.Global.DEPLOYMENT[dbid]
        value = copy.deepcopy(deployment)
        db = HTTPListener.Global.DATABASES[dbid]
        if not sid == 0:
            server = HTTPListener.Global.SERVERS.get(sid)
            value = DeploymentConfiguration.get_specific_directories(value, server, dbid)
        host_count = len(db['members'])
        value['cluster']['hostcount'] = host_count
        # Add users
        addTop = False
        for key, duser in HTTPListener.Global.DEPLOYMENT_USERS.items():
            if duser['databaseid'] == dbid:
                # Only create subelement if users have anything in this database.
                if addTop != True:
                    users_top = SubElement(deployment_top, 'users')
                    addTop = True
                uelem = SubElement(users_top, "user")
                uelem.attrib["name"] = duser["name"]
                uelem.attrib["password"] = duser["password"]
                uelem.attrib["roles"] = duser["roles"]
                plaintext = str(duser["plaintext"])
                if isinstance(duser["plaintext"], bool):
                    if duser["plaintext"] == False:
                        plaintext = "false"
                    else:
                        plaintext = "true"
                uelem.attrib["plaintext"] = plaintext

        handle_deployment_dict(deployment_top, dbid, value, True)

        xmlstr = tostring(deployment_top,encoding='UTF-8')
        return xmlstr
Ejemplo n.º 21
0
def addToWorkingSet(newProjectPath):
        workingSetFilePath = os.path.expanduser("~") + os.sep + ".colt" + os.sep + "workingset.xml"
        projectsList = []

        # Populate projects list
        if os.path.exists(workingSetFilePath) :
                workingSetElement = parse(workingSetFilePath).getroot()
                for projectElement in workingSetElement :
                        projectPath = projectElement.attrib["path"]
                        if projectPath :
                                projectsList.append(projectPath)

        # Remove project path from the list
        projectsList = filter(lambda projectPath : projectPath != newProjectPath, projectsList)

        # Push new project
        projectsList.insert(0, newProjectPath)

        # Save the list
        workingSetElement = Element("workingset")
        workingSetElement.set("openRecent", "true")

        for projectPath in projectsList :
                projectElement = SubElement(workingSetElement, "project")
                projectElement.set("path", projectPath)

        workingSetFile = open(workingSetFilePath, "w")
        workingSetFile.write(tostring(workingSetElement))
        workingSetFile.close()
Ejemplo n.º 22
0
def egressports_getConfig(fileName, portList):
    global egrPorts 
    global egrPLst
    
    crossconnects = Element('opsw:cross-connects', {'xmlns:plts':"http://www.polatis.com/yang/polatis-switch",
                                                    'xmlns:opsw':"http://www.polatis.com/yang/optical-switch"})

    egrSymbol = re.split(r'[\d]', portList)
    
    if str(egrSymbol[1]) == ',' or str(egrSymbol[1]) == '':
        egrPLst = portList.split(',')
    
    if str(ingSymbol[2]) == '-' or str(ingSymbol[1]) == '-':
        egrPLst = []
        egrPLst1 = portList.split('-')
        for i in range(int(egrPLst1[0]), int(egrPLst1[1])+1):
            egrPLst.append(i)
        logger.info('egress port list: %s' % egrPLst)
    else:
        logger.error('Give for example comma or hypen seperated values ...\n\n')
        
    l = len(egrPLst)
    for i in range(0, l):
        a = egrPLst[i]
        if a in egrPorts:
           pairs = SubElement(crossconnects, 'opsw:pairs')
           egress = SubElement(pairs, 'opsw:egress')
           egress.text = str(a)
        else:
           pairs = SubElement(crossconnects, 'opsw:pairs')
           egress = SubElement(pairs, 'opsw:egress')
           egress.text = str(a)

    xmlstr = tostring(crossconnects)
    getConfig('getConfig - Query given egress ports', xmlstr, fileName)
Ejemplo n.º 23
0
 def sendXML(self):
     root = self.tree.getroot()
     if self.comboBox1.Value in self.runCollection:
         bob = self.tree.getiterator("hrun")
         for i in bob:
              if i.attrib["runName"] ==  self.comboBox1.Value:
                 i.find("target").text = self.cTarget.Value 
                 i.find("targid").text = self.cTargID.Value
                 i.find("targkey").text = self.cTargKey.Value
                 i.find("targlength").text = self.cTargLength.Value
                 i.find("buffid").text = self.cBuffID.Value
                 i.find("buffer").text = self.cBuffer.Value
                 i.find("buffkey").text =  self.cBuffKey.Value 
                 i.find("rootfolder").text = self.cRoot.Value 
                 i.find("waterbody").text = self.cWater.Value
                 i.find("wabodyid").text = self.cWabodyid.Value
                 i.find("subsett").text = self.cSubsetT.Value
                 i.find("subsetc").text = self.cSubsetC.Value
     else:
         hrun = SubElement(root, "hrun")
         hrun.attrib["runName"] = self.comboBox1.Value
         SubElement(hrun, "target").text = self.cTarget.Value 
         SubElement(hrun, "targid").text = self.cTargID.Value
         SubElement(hrun, "targkey").text = self.cTargKey.Value
         SubElement(hrun, "targlength").text = self.cTargLength.Value
         SubElement(hrun, "buffid").text = self.cBuffID.Value
         SubElement(hrun, "buffer").text = self.cBuffer.Value
         SubElement(hrun, "buffkey").text =  self.cBuffKey.Value  
         SubElement(hrun, "rootfolder").text = self.cRoot.Value
         SubElement(hrun, "waterbody").text = self.cWater.Value
         SubElement(hrun, "wabodyid").text = self.cWabodyid.Value
         SubElement(hrun, "subsett").text = self.cSubsetT.Value
         SubElement(hrun, "subsetc").text = self.cSubsetC.Value
     ElementTree(root).write(file=os.getcwd() + "\\xmltest.xml") 
     self.comboRefresh()  
Ejemplo n.º 24
0
 def _dispatchSoapRequest(self, request):
     try:
         try:
             envelope = XML(request.soap_data)
             body = envelope.find("{http://schemas.xmlsoap.org/soap/envelope/}Body")
             # determine UPnP action
             action = body.find("{%s}%s" % (request.soap_ns, request.soap_action))
             # look up the action in the service
             upnp_action = self.service._actions[request.soap_action]
             # build a list of the action arguments
             in_args = {}
             for arg in action:
                 in_args[arg.tag] = arg.text
             # execute the UPnP action
             logger.log_debug("executing %s#%s" % (self.service.serviceID, request.soap_action))
             out_args = upnp_action(request, self.service, in_args)
             # return the action response
             env = Element("s:Envelope")
             env.attrib['xmlns:s'] = "http://schemas.xmlsoap.org/soap/envelope/"
             env.attrib['s:encodingStyle'] = "http://schemas.xmlsoap.org/soap/encoding/"
             env.attrib['xmlns:i'] = "http://www.w3.org/1999/XMLSchema-instance"
             body = SubElement(env, "s:Body")
             resp = SubElement(body, "u:%sResponse" % request.soap_action)
             resp.attrib['xmlns:u'] = request.soap_ns
             for (name,type,value) in out_args:
                 arg = SubElement(resp, name)
                 arg.attrib["i:type"] = type
                 arg.text = value
             output = xmlprint(env)
             return HttpResponse(200, headers={'EXT': ''}, stream=output)
         except UPNPError, e:
             raise e
         except Exception, e:
             logger.log_error("caught unhandled exception: %s" % e)
             raise UPNPError(500, "Internal server error")
Ejemplo n.º 25
0
    def GET(self, dados):
        now = datetime.datetime.now()
        weekend = set([6, 7])
        retorno = Element('compra')
        aprovada = SubElement(retorno , 'aprovada')
        mensagem = SubElement(retorno, 'mensagem')
        splitados = dados.split('|')
        emp = splitados[0]
        vlr = float(splitados[1])
        qtd = splitados[2]
        if float(qtd).__mod__(100) == 0: #and now.hour >= 18:
            minimo , maximo = self.verifica_compra(emp)

            if vlr > float(minimo) and vlr > float(maximo):
                aprovada.text = 'Nao'
                mensagem.text = 'Valor Invalido!(Abaixo do minimo ' + str(minimo) + ' ou maior que o maximo ' + str(maximo) + ')'
            else:
                if now.isoweekday() not in weekend:
                    aprovada.text = 'Sim'
                    mensagem.text = 'Compra Aprovada'
                else:
                    aprovada.text = 'Pendente'
                    mensagem.text = "Pregao Fechado!"
        else:
            aprovada.text = 'Nao'
            mensagem.text = 'Qtd Invalida'
        return prettify(retorno);
Ejemplo n.º 26
0
    def __init__(self, id, route, chunk):
        ((rfrom, rdest),) = route
        chunk, (cnum, maxc, fname, totalbsize) = chunk

        cont = Element('content')
        idtag = SubElement(cont, 'id')
        idtag.text = id

        rattrs = {
            'from': rfrom,
            'to': rdest,
        }
        routetag = SubElement(cont, 'route', rattrs)

        cattrs = {
            'number': cnum,
            'maxchunk': maxc,
            'filename': fname,
            'totalbsize': totalbsize,
        }
        chunktag = SubElement(cont, 'chunk', cattrs)
        chunktag.text = chunk

        props = {
            'type': 'file_chunk',
        }
        MMessage.__init__(self, TYPE, cont, props)
Ejemplo n.º 27
0
def create_proppatch(setprops, delprops, namespaces=None):
    """Construct and return XML string for PROPPATCH.

    setprops -- Mapping with properties to set.
    delprops -- Iterable with element names to remove.
    namespaces -- Mapping (prefix->namespace) with additional namespaces,
                  if necessary.

    """
    # RFC 2518, 12.13 propertyupdate XML element
    # <!ELEMENT propertyupdate (remove | set)+ >
    propertyupdate = Element("propertyupdate", _NS)
    if namespaces:
        _addnamespaces(propertyupdate, namespaces)
    # RFC 2518, 12.13.2 set XML element
    # <!ELEMENT set (prop) >
    if setprops:
        set_ = SubElement(propertyupdate, "set")
        prop = SubElement(set_, "prop")
        items_iterator = iter(list(setprops.items())) if PYTHON2 else list(setprops.items())
        for (propname, propvalue) in items_iterator:
            prop = SubElement(prop, propname)
            prop.text = propvalue
    # RFC 2518, 12.13.1 set XML element
    # <!ELEMENT remove (prop) >
    if delprops:
        remove = SubElement(propertyupdate, "remove")
        prop = SubElement(remove, "prop")
        for propname in delprops:
            prop = SubElement(prop, propname)
    return tostring(propertyupdate, "UTF-8")
Ejemplo n.º 28
0
    def getConfig(self):
        """Generates a configuration file for this projection"""

        tree = Element('projection')

        SubElement(tree, 'id').text = self.id
        SubElement(tree, 'title').text = self.title
        SubElement(tree, 'startyear').text = self.getProjection()[0]['year']
        SubElement(tree, 'endyear').text = self.getProjection()[-1]['year']
        SubElement(tree, 'graph').text = self.absolute_url() + '/getGraph'
        SubElement(tree, 'layer').text = self.zone.absolute_url() + \
            '/at_download/simImage'
        SubElement(tree, 'redevelopment').text = str(self.redevelopment)

        e = SubElement(tree, 'pop_density')
        if self.pop_density:
            e.text = self.pop_density.absolute_url() + '/at_download/simImage'

        e = SubElement(tree, 'emp_density')
        if self.emp_density:
            e.text = self.emp_density.absolute_url() + '/at_download/simImage'

        self.REQUEST.RESPONSE.setHeader('Content-Type', 'text/plain')
        self.REQUEST.RESPONSE.setHeader('Content-Disposition',
            'attachment; filename="%s_demand.xml"' % self.title)
        return tostring(tree, encoding='UTF-8')
Ejemplo n.º 29
0
def mergePopulationData(populationFile, regionFile, mergedFile):
    csvReader = csv.reader(open(populationFile), delimiter=',', quotechar='"')
    inhabDict = {}
    for entry in csvReader:
        if csvReader.line_num <= 3:
            continue
        while(len(entry[0]) < 2):
            entry[0] = '0' + entry[0]
        while(len(entry[2]) < 2):
            entry[2] = '0' + entry[2]
        while(len(entry[3]) < 4):
            entry[3] = '0' + entry[3]
        while(len(entry[4]) < 3):
            entry[4] = '0' + entry[4]
        inhabDict["".join(entry[:5])] = str(entry[6]).replace(' ', '')

    root = ET.ElementTree(file=regionFile).getroot()
    for parents in root.findall("./*"):
        for elem in parents.findall("param[7]"):
            RSValue = str(elem.attrib)[11:23]
            inhabitants = SubElement(parents, 'param')
            if RSValue in inhabDict:
                inhabitants.clear()
                inhabitants.attrib = {
                    'key': "INHABITANTS", 'value': inhabDict[RSValue]}
    outstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent="    ")
    with open(mergedFile, 'w') as out:
        out.write(outstr.encode('utf-8'))
Ejemplo n.º 30
0
    def set(self, index, values):
        for key, value in values.items():
            item = self._root[index].find(key)
            if item is None:
                item = SubElement(self._root[index], key)

            item.text = value
Ejemplo n.º 31
0
 def validSoup(cls):
     for svcaction in SvcaddTestCase, SvcchgTestCase, SvcdelTestCase:
         root = Element("ACCTRQ")
         root.append(svcaction.etree)
         SubElement(root, "SVC").text = "BANKSVC"
         yield root
Ejemplo n.º 32
0
def set_attributes(rroot, elem, ttitle, ssession_t):
    '''new course to add'''
    ccourse = SubElement(rroot, "att", course=ttitle, time=ssession_t)
    '''new time to add'''
Ejemplo n.º 33
0
            for e in root.iter():
                if e.get('course') is not None:
                    # print "%s%-20s" % (e.get('course'), e.get('time'))
                    print '->' + e.get('course')
                    print '  --Hours: ' + e.get('time')
        else:
            course_title = get_title(index, course_opts)

            i = 0
            '''updates hours instead of creating new or setting other attributes'''
            for c in root.iter():
                if c.get('course') == course_title:
                    timess = str(float(c.get('time')) + float(session_t))
                    root.remove(c)
                    elem_tmp = SubElement(root,
                                          "att",
                                          course=course_title,
                                          time=timess)
                    i = 1
                    break
            '''if there is new class then create new SubElement setting all its attributes'''
            if not i:
                course = Element('course')
                set_attributes(root, course, course_title, session_t)

            tree.write(str(this_dir + '/db.xml'))

            print 'Added: ' + session_t + ' hour(s) invested to ' + course_title

    except IOError as e:
        '''When there is no file created, create new file and set attributes'''
        i, time, opts = take_input()
Ejemplo n.º 34
0
 def etree(cls):
     root = Element("CHGUSERINFORQ")
     SubElement(root, "FIRSTNAME").text = "Mary"
     SubElement(root, "MIDDLENAME").text = "J."
     SubElement(root, "LASTNAME").text = "Blige"
     SubElement(root, "ADDR1").text = "3717 N Clark St"
     SubElement(root, "ADDR2").text = "Dugout Box, Aisle 19"
     SubElement(root, "ADDR3").text = "Seat A1"
     SubElement(root, "CITY").text = "Chicago"
     SubElement(root, "STATE").text = "IL"
     SubElement(root, "POSTALCODE").text = "60613"
     SubElement(root, "COUNTRY").text = "USA"
     SubElement(root, "DAYPHONE").text = "(773) 309-1027"
     SubElement(root, "EVEPHONE").text = "867-5309"
     SubElement(root, "EMAIL").text = "*****@*****.**"
     return root
Ejemplo n.º 35
0
 def etree(cls):
     root = Element("OTHERENROLL")
     SubElement(root, "MESSAGE").text = "Mail me $99.99"
     return root
Ejemplo n.º 36
0
 def etree(cls):
     root = Element("ACCTRS")
     root.append(SvcaddTestCase.etree)
     SubElement(root, "SVC").text = "BANKSVC"
     SubElement(root, "SVCSTATUS").text = "AVAIL"
     return root
Ejemplo n.º 37
0
 def etree(cls):
     root = Element("WEBENROLL")
     SubElement(root, "URL").text = "http://www.ameritrade.com"
     return root
Ejemplo n.º 38
0
 def etree(cls):
     root = Element("ENROLLRS")
     SubElement(root, "TEMPPASS").text = "t0ps3kr1t"
     SubElement(root, "USERID").text = "bacon2b"
     SubElement(root, "DTEXPIRE").text = "20160705000000.000[0:GMT]"
     return root
Ejemplo n.º 39
0
 def etree(cls):
     root = Element("ACCTINFORS")
     SubElement(root, "DTACCTUP").text = "20120314000000.000[0:GMT]"
     acctinfo = AcctinfoTestCase.etree
     root.append(acctinfo)
     return root
Ejemplo n.º 40
0
 def etree(cls):
     root = Element("CLIENTENROLL")
     SubElement(root, "ACCTREQUIRED").text = "Y"
     return root
Ejemplo n.º 41
0
def elements_add(root):
    phone = SubElement(root, 'phone')
    phone.set('id', 'result_' + str(16))
    model_name = SubElement(phone, 'model_name')
    model_name.text = 'Xiaomi Redmi Note 8 Pro 6/128'
    company_name = SubElement(phone, 'company_name')
    company_name.text = 'Xiaomi'
    price = SubElement(phone, 'price')
    price.set('currency', 'euro')
    price.text = str(300)
    rating = SubElement(phone, 'rating')
    rating.text = str(5)
    amount_of_customers = SubElement(phone, 'amount_of_customers')
    amount_of_customers.set('currency', 'people')
    amount_of_customers.text = '10,785'

    for phone in root.iter('phone'):
        country = SubElement(phone, 'country')
        country.set('format', 'iso-3166')
        name = SubElement(country, 'name')
        code = SubElement(country, 'code')
        if phone.find('company_name').text == 'Samsung':
            name.text = 'South Korea'
            code.text = 'KR'
        elif phone.find('company_name').text == 'Xiaomi':
            name.text = 'China'
            code.text = 'CN'
        else:
            name.text = 'USA'
            code.text = 'US'
    return root
Ejemplo n.º 42
0
 def emptyBase(cls):
     root = Element("ENROLLRQ")
     SubElement(root, "FIRSTNAME").text = "Porky"
     SubElement(root, "MIDDLENAME").text = "D."
     SubElement(root, "LASTNAME").text = "Pig"
     SubElement(root, "ADDR1").text = "3717 N Clark St"
     SubElement(root, "ADDR2").text = "Dugout Box, Aisle 19"
     SubElement(root, "ADDR3").text = "Seat A1"
     SubElement(root, "CITY").text = "Chicago"
     SubElement(root, "STATE").text = "IL"
     SubElement(root, "POSTALCODE").text = "60613"
     SubElement(root, "COUNTRY").text = "USA"
     SubElement(root, "DAYPHONE").text = "(773) 309-1027"
     SubElement(root, "EVEPHONE").text = "867-5309"
     SubElement(root, "EMAIL").text = "*****@*****.**"
     SubElement(root, "USERID").text = "bacon2b"
     SubElement(root, "TAXID").text = "123456789"
     SubElement(root, "SECURITYNAME").text = "Petunia"
     SubElement(root, "DATEBIRTH").text = "20160705000000.000[0:GMT]"
     return root
Ejemplo n.º 43
0
def create_netfs_pool(netfs_server, resource_path, name):
    """
    Create a libvirt netfs based storage pool.
    The target of the newly created pool is /oci-<pool name>

    Parameters
    ----------
        netfs_server : str
            IP or hostname of the netFS server
        resource_path : str
            the resource path
    Returns
    -------
        int
            return 0 on success, 1 otherwise
    """
    poolXML = Element('pool', type='netfs')
    pname = SubElement(poolXML, 'name')
    pname.text = name
    psource = SubElement(poolXML, 'source')
    SubElement(psource, 'host', name=netfs_server)
    SubElement(psource, 'dir', path=resource_path)
    SubElement(psource, 'format', type='nfs')
    ptarget = SubElement(poolXML, 'target')
    ppath = SubElement(ptarget, 'path')
    ppath.text = '/oci-%s' % name

    conn = libvirt.open(None)
    if conn is None:
        _logger.error('Failed to open connection to qemu:///system')
        return 1

    pool = conn.storagePoolDefineXML(ElementTree.tostring(poolXML), 0)
    if pool is None:
        _logger.error('Failed to create StoragePool object.')
        return 1
    try:
        pool.setAutostart(1)
        pool.build()
        pool.create()
    except libvirt.libvirtError as e:
        pool.undefine()
        _logger.error('Failed to setup the pool: %s' % e.get_error_message())
        return 1
    finally:
        conn.close()
    return 0
Ejemplo n.º 44
0
 def etree(cls):
     root = Element("ACCTINFORQ")
     SubElement(root, "DTACCTUP").text = "20120314000000.000[0:GMT]"
     return root
#!/usr/bin/env python3
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Creating XML documents with lists of nodes
"""
#end_pymotw_header

from xml.etree.ElementTree import (
    Element, SubElement, tostring, XML,
)
from ElementTree_pretty import prettify

top = Element('top')

parent = SubElement(top, 'parent')

children = XML(
    '<root><child num="0" /><child num="1" />'
    '<child num="2" /></root>'
)
parent.extend(children)

print(prettify(top))
Ejemplo n.º 46
0
def create_virtual_network(**kargs):
    """
    Creates a libvirt network on a secondary OCI vNIC

    Parameters
    ----------
    kargs: dict
      arguments
         expected keys:
            network : str
              The ip address of the VNIC
            network_name : str
              The name for the new virtual network
            ip_bridge :
               The bridge IP of virtual network
            ip_start
               The first IP of virtual network IP range dedicated to guest
            ip_end
               The last IP of virtual network IP range dedicated to guest
            ip_prefix
               The IP netmask of virtual network
    Returns
    -------
        0 on success , 1 otherwise
    """
    try:
        _metadata = InstanceMetadata().refresh()
    except IOError as e:
        _logger.error("Cannot fetch instance metadata: %s" % str(e))
        return 1

    _instance_shape = _metadata['instance']['shape']
    _is_bm_shape = _instance_shape.startswith('BM')

    # get the given IP used to find vNIC to use
    _vnic_ip_to_use = kargs['network']

    _logger.debug('in create_virtual_network, given IP : %s ' %
                  _vnic_ip_to_use)

    # get all vNIC of the current system
    _all_vnics = _metadata['vnics']

    # get all current system network interfaces
    _all_system_interfaces = get_interfaces()

    vf_dev = None

    if _is_bm_shape:
        free_vnics = find_free_vnics(_all_vnics, _all_system_interfaces)

        # based on given IP address, find free VF.
        vnic, vf, vf_num = test_vnic_and_assign_vf(_vnic_ip_to_use, free_vnics)
        if not vnic:
            _logger.debug('choosen vNIC is not free')
            return 1
        _logger.debug('ready to write network configuration for (%s, %s, %s)' %
                      (vnic, vf, vf_num))

        vf_dev = get_interface_by_pci_id(vf, _all_system_interfaces)
        _logger.debug('vf device for %s: %s' % (vf, vf_dev))
        if not create_networking(vf_dev, vnic['vlanTag'], vnic['macAddr'],
                                 vnic['privateIp'],
                                 int(vnic['subnetCidrBlock'].split('/')[1])):
            _logger.error('cannot create networking')
            destroy_networking(vf_dev, vnic['vlanTag'])
            return 1
    else:
        # vm shape: use vnic as it is
        # find the device of that vnic
        vnic = None
        for v in _all_vnics:
            if v['privateIp'] == _vnic_ip_to_use:
                vnic = v
                break
        if vnic is None:
            _logger.error('vNIC with address [%s] not found' % _vnic_ip_to_use)
            return None
        for intf_name, attrs in _all_system_interfaces.items():
            if attrs['mac'].upper() == vnic['macAddr'].upper(
            ) and attrs['physical']:
                vf_dev = intf_name
        if vf_dev is None:
            _logger.error(
                'cannot find network interface matching vNIC with ip [%s]' %
                _vnic_ip_to_use)
            return 1

        _logger.debug(' device for nework %s' % vf_dev)

        if not create_networking(vf_dev, None, vnic['macAddr'],
                                 vnic['privateIp'],
                                 int(vnic['subnetCidrBlock'].split('/')[1])):
            _logger.error('cannot create networking')
            destroy_networking(vf_dev)
            return 1

    _logger.debug('Networking succesfully created')

    # define a routing table for the new VF.
    _logger.debug('add new routing table [%s]' % vf_dev)
    add_route_table(vf_dev)

    # deduce KVMnetwork
    _net = str(
        IPNetwork('%s/%s' % (kargs['ip_bridge'], kargs['ip_prefix'])).network)
    _kvm_addr_space = '%s/%s' % (_net, kargs['ip_prefix'])

    kvm_sysd_svc = SystemdServiceGenerator(
        'kvm_net_%s' % kargs['network_name'], "KVM network")
    svc_envs = [('__KVM_NETWORK_NAME__', kargs['network_name']),
                ('__KVM_NET_ADDRESS_SPACE__', _kvm_addr_space),
                ('__KVM_NET_BRIDGE_NAME__', '%s0' % kargs['network_name']),
                ('__VNIC_DEFAULT_GW__', vnic['virtualRouterIp']),
                ('__RT_TABLE_NAME__', vf_dev),
                ('__VNIC_PRIVATE_IP__', vnic['privateIp'])]

    if _is_bm_shape:
        svc_envs.append(('__NET_DEV__', '%s.%s' % (vf_dev, vnic['vlanTag'])))
    else:
        svc_envs.append(('__NET_DEV__', vf_dev))

    kvm_sysd_svc.setEnvironment(svc_envs)

    # define the libvirt network
    netXML = Element('network')
    SubElement(netXML, 'name').text = kargs['network_name']
    if _is_bm_shape:
        SubElement(netXML,
                   'forward',
                   dev='%s.%s' % (vf_dev, vnic['vlanTag']),
                   mode='route')
    else:
        SubElement(netXML, 'forward', dev='%s' % vf_dev, mode='route')
    SubElement(netXML,
               'bridge',
               name='%s0' % kargs['network_name'],
               stp='on',
               delay='0')
    ip = SubElement(netXML,
                    'ip',
                    address=kargs['ip_bridge'],
                    prefix=kargs['ip_prefix'])
    dhcp = SubElement(ip, 'dhcp')
    SubElement(dhcp, 'range', start=kargs['ip_start'], end=kargs['ip_end'])

    _logger.debug('defining network as [%s]' % ElementTree.tostring(netXML))

    tf = tempfile.NamedTemporaryFile(mode='w', delete=False)
    os.chmod(tf.name, 0o644)

    ElementTree.ElementTree(netXML).write(tf.name)

    (code, _, stderr) = sudo_utils.execute(
        [VIRSH_CMD, '--quiet', 'net-define', tf.name])
    if code != 0:
        _logger.error('Failed to define the network: %s' % stderr)
        os.remove(tf.name)
        delete_route_table(vf_dev)
        destroy_networking(vf_dev, vnic['vlanTag'])
        return 1

    os.remove(tf.name)

    kvm_sysd_svc.addRequiredDependency('libvirtd')

    try:
        kvm_sysd_svc.generate()
    except Exception as e:
        _logger.error('Failed to generate the init script : %s' % str(e))
        delete_route_table(vf_dev)
        destroy_networking(vf_dev, vnic['vlanTag'])
        return 1
    try:
        SystemdServiceManager('kvm_net_%s' % kargs['network_name']).start()
    except Exception as e:
        _logger.error('Failed to start the network init script')
        delete_route_table(vf_dev)
        destroy_networking(vf_dev, vnic['vlanTag'])
        return 1
    def generate_metadata(self):
        root = Element("dublin_core")
        authors = self.data["author"].split(';')
        for n in authors:
            new_au_el = SubElement(root, 'dcvalue')
            new_au_el.set("element", "contributor")
            new_au_el.set("qualifier", "author")

        title_el = SubElement(root, 'dcvalue')
        title_el.set("element", "title")
        title_el.set("qaulifier", "none")

        mimetype_el = SubElement(root, "dcvalue")
        mimetype_el.set("element", "format")
        mimetype_el.set("qualifier", "mimetype")
        mimetype_el.text = "application/pdf"

        mimetype_el = SubElement(root, "dcvalue")
        mimetype_el.set("element", "date")
        mimetype_el.set("qualifier", "copyright")

        rights_url_el = SubElement(root, "dcvalue")
        rights_url_el.set("element", "rights")
        rights_url_el.set("qualifier", "url")

        source_el = SubElement(root, "dcvalue")
        source_el.set("element", "source")
        source_el.set("qualifier", "none")

        rights_state_el = SubElement(root, "dcvalue")
        rights_state_el.set("element", "rights")
        rights_state_el.set("qualifier", "rightsStatement")

        if self.type == 'article':
            is_part_of = SubElement(root, "dcvalue")
            rights_state_el.set("element", "relation")
            rights_state_el.set("qualifier", "isPartOf")

        if self.type == 'volume':
            is_format_of = SubElement(root, "dcvalue")
            is_format_of.set("element", "relation")
            is_format_of.set("qualifier", "isFormatOf")

        source = SubElement(root, "dcvalue")
        source.set("element", "source")
        source.set("qualifier", "none")
Ejemplo n.º 48
0
    def handle_xml(self, xml: Element) -> bytes:
        """ Handles <get_version> command.

        Return:
            Response string for <get_version> command.
        """
        protocol = Element('protocol')

        for name, value in [
            ('name', 'OSP'),
            ('version', self._daemon.get_protocol_version()),
        ]:
            elem = SubElement(protocol, name)
            elem.text = value

        daemon = Element('daemon')
        for name, value in [
            ('name', self._daemon.get_daemon_name()),
            ('version', self._daemon.get_daemon_version()),
        ]:
            elem = SubElement(daemon, name)
            elem.text = value

        scanner = Element('scanner')
        for name, value in [
            ('name', self._daemon.get_scanner_name()),
            ('version', self._daemon.get_scanner_version()),
        ]:
            elem = SubElement(scanner, name)
            elem.text = value

        content = [protocol, daemon, scanner]

        vts_version = self._daemon.get_vts_version()
        if vts_version:
            vts = Element('vts')
            elem = SubElement(vts, 'version')
            elem.text = vts_version
            content.append(vts)

        return simple_response_str('get_version', 200, 'OK', content)
Ejemplo n.º 49
0
def generateDataSet(Set, descriptionText, versionText, kindText, serialText):
    dataSet = SubElement(Set, 'DATA_SET')
    description = SubElement(dataSet, 'COMMENT_DESCRIPTION')
    description.text = descriptionText
    version = SubElement(dataSet, 'VERSION')
    version.text = versionText
    part = SubElement(dataSet, "PART")
    kind = SubElement(part, "KIND_OF_PART")
    kind.text = kindText
    serial = SubElement(part, "SERIAL_NUMBER")
    serial.text = serialText
    return dataSet
Ejemplo n.º 50
0
    def _save_project(self, file_name):
        """ Save the project to the given file.  Raise a UserException if there
        was an error.
        """

        root = Element('Project', attrib={
            'version': str(self.version),
            'usingdefaultlocations': str(int(self.using_default_locations))})

        attrib = {
            'platformpython': ' '.join(self.python_use_platform),
            'major': str(self.python_target_version[0]),
            'minor': str(self.python_target_version[1]),
            'patch': str(self.python_target_version[2])}

        if not self.using_default_locations:
            attrib['hostinterpreter'] = self.python_host_interpreter
            attrib['sourcedir'] = self.python_source_dir
            attrib['targetincludedir'] = self.python_target_include_dir
            attrib['targetlibrary'] = self.python_target_library
            attrib['targetstdlibdir'] = self.python_target_stdlib_dir

        SubElement(root, 'Python', attrib=attrib)

        application = SubElement(root, 'Application', attrib={
            'entrypoint': self.application_entry_point,
            'ispyqt5': str(int(self.application_is_pyqt5)),
            'isconsole': str(int(self.application_is_console)),
            'isbundle': str(int(self.application_is_bundle)),
            'name': self.application_name,
            'script': self.application_script,
            'syspath': self.sys_path})

        if self.qmake_configuration != '':
            SubElement(application, 'QMakeConfiguration').text = self.qmake_configuration

        if self.application_package.name is not None:
            self._save_package(application, self.application_package)

        for pyqt_module in self.pyqt_modules:
            SubElement(root, 'PyQtModule', attrib={
                'name': pyqt_module})

        for stdlib_module in self.standard_library:
            SubElement(root, 'StdlibModule', attrib={
                'name': stdlib_module})

        for target, external_libs in self.external_libraries.items():
            for external_lib in external_libs:
                SubElement(root, 'ExternalLib', attrib={
                    'target': target,
                    'name': external_lib.name,
                    'defines': external_lib.defines,
                    'includepath': external_lib.includepath,
                    'libs': external_lib.libs})

        for package in self.other_packages:
            self._save_package(root, package)

        for extension_module in self.other_extension_modules:
            SubElement(root, 'ExtensionModule', attrib={
                'name': extension_module.name,
                'qt': extension_module.qt,
                'config': extension_module.config,
                'sources': extension_module.sources,
                'defines': extension_module.defines,
                'includepath': extension_module.includepath,
                'libs': extension_module.libs})

        tree = ElementTree(root)

        try:
            tree.write(QDir.toNativeSeparators(file_name), encoding='utf-8',
                    xml_declaration=True)
        except Exception as e:
            raise UserException(
                    "There was an error writing the project file.", str(e))

        self.modified = False
Ejemplo n.º 51
0
def generateXMLData6b(dataSetTag, vmon_equ_vltText, imon_equ_uaText,
                      vmon_g3b_vltText, imon_g3b_uaText, vmon_g3t_vltText,
                      imon_g3t_uaText, vmon_g2b_vltText, imon_g2b_uaText,
                      vmon_g2t_vltText, imon_g2t_uaText, vmon_g1b_vltText,
                      imon_g1b_uaText, vmon_g1t_vltText, imon_g1t_uaText,
                      vmon_drift_vltText, imon_drift_uaText):
    data = SubElement(dataSetTag, 'DATA')
    VMON_EQU_VLT = SubElement(data, 'VMON_EQU_VLT')
    VMON_EQU_VLT.text = vmon_equ_vltText
    IMON_EQU_UA = SubElement(data, 'IMON_EQU_UA')
    IMON_EQU_UA.text = imon_equ_uaText
    VMON_G3B_VLT = SubElement(data, 'VMON_G3B_VLT')
    VMON_G3B_VLT.text = vmon_g3b_vltText
    IMON_G3B_UA = SubElement(data, 'IMON_G3B_UA')
    IMON_G3B_UA.text = imon_g3b_uaText
    VMON_G3T_VLT = SubElement(data, 'VMON_G3T_VLT')
    VMON_G3T_VLT.text = vmon_g3t_vltText
    IMON_G3T_UA = SubElement(data, 'IMON_G3T_UA')
    IMON_G3T_UA.text = imon_g3t_uaText
    VMON_G2B_VLT = SubElement(data, 'VMON_G2B_VLT')
    VMON_G2B_VLT.text = vmon_g2b_vltText
    IMON_G2B_UA = SubElement(data, 'IMON_G2B_UA')
    IMON_G2B_UA.text = imon_g2b_uaText
    VMON_G2T_VLT = SubElement(data, 'VMON_G2T_VLT')
    VMON_G2T_VLT.text = vmon_g2t_vltText
    IMON_G2T_UA = SubElement(data, 'IMON_G2T_UA')
    IMON_G2T_UA.text = imon_g2t_uaText
    VMON_G1B_VLT = SubElement(data, 'VMON_G1B_VLT')
    VMON_G1B_VLT.text = vmon_g1b_vltText
    IMON_G1B_UA = SubElement(data, 'IMON_G1B_UA')
    IMON_G1B_UA.text = imon_g1b_uaText
    VMON_G1T_VLT = SubElement(data, 'VMON_G1T_VLT')
    VMON_G1T_VLT.text = vmon_g1t_vltText
    IMON_G1T_UA = SubElement(data, 'IMON_G1T_UA')
    IMON_G1T_UA.text = imon_g1t_uaText
    VMON_DRIFT_VLT = SubElement(data, 'VMON_DRIFT_VLT')
    VMON_DRIFT_VLT.text = vmon_drift_vltText
    IMON_DRIFT_UA = SubElement(data, 'IMON_DRIFT_UA')
    IMON_DRIFT_UA.text = imon_drift_uaText
Ejemplo n.º 52
0
def generateXMLDatafastamb(dataSetTag, HumidityText):
    data = SubElement(dataSetTag, 'DATA')
    Humidity = SubElement(data, 'HUMIDITY_PERCENT')
    Humidity.text = HumidityText
Ejemplo n.º 53
0
def generateXMLDataStandGeoConf(dataSetTag, ch_serialText, positionText,
                                flowmeterText, gemnumberText, chtypeText,
                                flipText, amcText, ohText):
    data = SubElement(dataSetTag, 'DATA')
    ch_serial_number = SubElement(data, 'CH_SERIAL_NUMBER')
    ch_serial_number.text = ch_serialText
    position = SubElement(data, 'POSITION')
    position.text = positionText
    flowmeter = SubElement(data, 'FLOW_METER')
    flowmeter.text = flowmeterText
    gemnumber = SubElement(data, 'GEM_NUMBER')
    gemnumber.text = gemnumberText
    chtype = SubElement(data, 'CH_TYPE')
    chtype.text = chtypeText
    flip = SubElement(data, 'FLIP')
    flip.text = flipText
    amc = SubElement(data, 'AMC')
    amc.text = amcText
    oh = SubElement(data, 'OH')
    oh.text = ohText
Ejemplo n.º 54
0
def generateXMLData6c(dataSetTag, test_dateText, filenameText, elogText,
                      commentText):
    data = SubElement(dataSetTag, 'DATA')
    test_date = SubElement(data, 'TEST_DATE')
    test_date.text = test_dateText
    filename = SubElement(data, 'FILE_NAME')
    filename.text = filenameText
    elog = SubElement(data, 'ELOG_LINK')
    elog.text = elogText
    comment = SubElement(data, 'COMMENTS')
    comment.text = commentText
Ejemplo n.º 55
0
def generateXMLDataQC8DeadStrips(dataSetTag, ch_serial_numberText,
                                 gem_numberText, positionText, vfatText,
                                 channelText, stripText):
    data = SubElement(dataSetTag, 'DATA')
    ch_serial_number = SubElement(data, 'CH_SERIAL_NUMBER')
    ch_serial_number.text = ch_serial_numberText
    gem_number = SubElement(data, 'GEM_NUMBER')
    gem_number.text = gem_numberText
    position = SubElement(data, 'POSITION')
    position.text = positionText
    vfat = SubElement(data, 'VFAT')
    vfat.text = vfatText
    channel = SubElement(data, 'CHANNEL')
    channel.text = channelText
    strip = SubElement(data, 'STRIP')
    strip.text = stripText
Ejemplo n.º 56
0
def generateXMLData6a(dataSetTag, reqText):
    data = SubElement(dataSetTag, 'DATA')
    req = SubElement(data, 'REQUIV_MOHM_MSRD')
    req.text = reqText
Ejemplo n.º 57
0
def generateXMLDataStrips(dataSetTag, sectorText, depthText, positionText,
                          chText, hot_chText, fit_failedText, dead_chText,
                          high_noiseText, high_effText):
    data = SubElement(dataSetTag, 'DATA')
    sector = SubElement(data, 'SECTOR')
    sector.text = sectorText
    depth = SubElement(data, 'DEPTH')
    depth.text = depthText
    position = SubElement(data, 'VFAT_POSN')
    position.text = positionText
    ch = SubElement(data, 'VFAT_CHAN')
    ch.text = chText
    hot_ch = SubElement(data, 'HOT_CHAN')
    hot_ch.text = hot_chText
    fit_failed = SubElement(data, 'FIT_FAILED')
    fit_failed.text = fit_failedText
    dead_ch = SubElement(data, 'DEAD_CHAN')
    dead_ch.text = dead_chText
    high_noise = SubElement(data, 'HIGH_NOISE')
    high_noise.text = high_noiseText
    high_eff = SubElement(data, 'HIGH_EFF_PED')
    high_eff.text = high_effText
Ejemplo n.º 58
0
def generateXMLDataChVfatEfficiency(dataSetTag, vfat_posnText, efficiencyText,
                                    efficiency_errorText, cluster_size_avgText,
                                    cluster_size_sigmaText,
                                    percent_maskedText):
    data = SubElement(dataSetTag, 'DATA')
    vfat_posn = SubElement(data, 'VFAT_POSN')
    vfat_posn.text = vfat_posnText
    efficiency = SubElement(data, 'EFFICIENCY')
    efficiency.text = efficiencyText
    efficiency_error = SubElement(data, 'EFFICIENCY_ERROR')
    efficiency_error.text = efficiency_errorText
    cluster_size_avg = SubElement(data, 'CLUSTER_SIZE_AVG')
    cluster_size_avg.text = cluster_size_avgText
    cluster_size_sigma = SubElement(data, 'CLUSTER_SIZE_SIGMA')
    cluster_size_sigma.text = cluster_size_sigmaText
    percent_masked = SubElement(data, 'PERCENT_MASKED')
    percent_masked.text = percent_maskedText
Ejemplo n.º 59
0
def generateXMLData6s(dataSetTag, testperformText, VmaxText, CurrVmaxText,
                      VdrftText, ReqmsrdText, ReqslpText, diffText, sprsglText,
                      tripText, filenameText, elogText, commentText):
    data = SubElement(dataSetTag, 'DATA')
    testperform = SubElement(data, 'STARTING_TIME')
    testperform.text = testperformText
    Vmax = SubElement(data, 'ENDING_TIME')
    Vmax.text = VmaxText
    CurrVmax = SubElement(data, 'STABILITY_TIME_HR')
    CurrVmax.text = CurrVmaxText
    Vdrft = SubElement(data, 'STABILITY_VSET_VLT')
    Vdrft.text = VdrftText
    Reqmsrd = SubElement(data, 'STABILITY_VMON_VLT')
    Reqmsrd.text = ReqmsrdText
    Reqslp = SubElement(data, 'STABILITY_ISET_UA')
    Reqslp.text = ReqslpText
    diff = SubElement(data, 'STABILITY_IMON_UA')
    diff.text = diffText
    Sprsgl = SubElement(data, 'STABILITY_VDRFT_VLT')
    Sprsgl.text = SprsglText
    trip = SubElement(data, 'TRIP_TIME_SEC')
    trip.text = tripText
    filename = SubElement(data, 'FILE_NAME')
    filename.text = filenameText
    elog = SubElement(data, 'ELOG_LINK')
    elog.text = elogText
    comment = SubElement(data, 'COMMENTS')
    comment.text = commentText
Ejemplo n.º 60
0
def generateXMLDataAlignment(dataSetTag, positionText, dxText, dyText, dzText,
                             rxText, ryText, rzText):
    data = SubElement(dataSetTag, 'DATA')
    position = SubElement(data, 'POSITION')
    position.text = positionText
    dx = SubElement(data, 'DX')
    dx.text = dxText
    dy = SubElement(data, 'DY')
    dy.text = dyText
    dz = SubElement(data, 'DZ')
    dz.text = dzText
    rx = SubElement(data, 'RX')
    rx.text = rxText
    ry = SubElement(data, 'RY')
    ry.text = ryText
    rz = SubElement(data, 'RZ')
    rz.text = rzText