def notifyHealers(txn, errorDetails, pid, tid, extraData):
	m = Document()

	notification =  m.appendChild(m.createElement('message'))
	notification.setAttribute('kind', 'fault notification')

	faultNode = m.createElement('faulty')

	for k,v in tid:
		faultNode.setAttribute(str(k), str(v))

	error = m.createElement('errors')

	for k,v in errorDetails:
		error.setAttribute(str(k), str(v))

	notification.appendChild(faultNode)
	notification.appendChild(error)

	'''We are sending the notification... But to whom??'''

	healers = txn.runQuery('SELECT * FROM healing_group')
	monitors = txn.runQuery('SELECT * FROM monitoring_group')

	writer = BundleWriter('dtnhealing:')

	for p in healers:
		writer.write(m.toxml())

	for p in monitors:
		writer.write(m.toxml())

	monitoringPlans[pid][tid].stop()
Example #2
0
    def _build_request_xml(self, method_name, **kwargs):
        """
        Builds the XML for a 'initial' transaction
        """
        doc = Document()
        req = self._create_element(doc, doc, "Request")

        # Authentication
        auth = self._create_element(doc, req, "Authentication")
        self._create_element(doc, auth, "client", self._client)
        self._create_element(doc, auth, "password", self._password)

        # Transaction
        txn = self._create_element(doc, req, "Transaction")

        # CardTxn
        if "card_number" in kwargs:
            card_txn = self._create_element(doc, txn, "CardTxn")
            self._create_element(doc, card_txn, "method", method_name)

            card = self._create_element(doc, card_txn, "Card")
            self._create_element(doc, card, "pan", kwargs["card_number"])
            self._create_element(doc, card, "expirydate", kwargs["expiry_date"])

            if "start_date" in kwargs:
                self._create_element(doc, card, "startdate", kwargs["start_date"])

            if "issue_number" in kwargs:
                self._create_element(doc, card, "issuenumber", kwargs["issue_number"])

            if "auth_code" in kwargs:
                self._create_element(doc, card, "authcode", kwargs["auth_code"])

            if self._cv2avs:
                self._add_cv2avs_elements(doc, card, kwargs)

        # HistoricTxn
        if "txn_reference" in kwargs:
            historic_txn = self._create_element(doc, txn, "HistoricTxn")
            self._create_element(doc, historic_txn, "reference", kwargs["txn_reference"])
            self._create_element(doc, historic_txn, "method", method_name)
            if "auth_code" in kwargs:
                self._create_element(doc, historic_txn, "authcode", kwargs["auth_code"])

        # TxnDetails
        if "amount" in kwargs:
            txn_details = self._create_element(doc, txn, "TxnDetails")
            if "merchant_reference" in kwargs:
                self._create_element(doc, txn_details, "merchantreference", kwargs["merchant_reference"])
            self._create_element(doc, txn_details, "amount", str(kwargs["amount"]), {"currency": kwargs["currency"]})

        # Save XML for later retrieval
        self._last_request_xml = doc.toxml()

        return self.do_request(doc.toxml())
Example #3
0
 def _build_request_xml(self, method_name, **kwargs):
     """
     Builds the XML for a 'initial' transaction
     """
     doc = Document()
     req = self._create_element(doc, doc, 'Request')
     
     # Authentication
     auth = self._create_element(doc, req, 'Authentication')
     self._create_element(doc, auth, 'client', self._client)
     self._create_element(doc, auth, 'password', self._password)
         
     # Transaction    
     txn = self._create_element(doc, req, 'Transaction') 
     
     # CardTxn
     if 'card_number' in kwargs:
         card_txn = self._create_element(doc, txn, 'CardTxn')
         self._create_element(doc, card_txn, 'method', method_name)
         
         card = self._create_element(doc, card_txn, 'Card')
         self._create_element(doc, card, 'pan', kwargs['card_number'])
         self._create_element(doc, card, 'expirydate', kwargs['expiry_date'])
         
         if 'start_date' in kwargs:
             self._create_element(doc, card, 'startdate', kwargs['start_date'])
         
         if 'issue_number' in kwargs:
             self._create_element(doc, card, 'issuenumber', kwargs['issue_number'])
       
         if 'auth_code' in kwargs:
             self._create_element(doc, card, 'authcode', kwargs['auth_code'])
             
         if self._cv2avs:
             self._add_cv2avs_elements(doc, card, kwargs) 
     
     # HistoricTxn
     if 'txn_reference' in kwargs:
         historic_txn = self._create_element(doc, txn, 'HistoricTxn')
         self._create_element(doc, historic_txn, 'reference', kwargs['txn_reference'])
         self._create_element(doc, historic_txn, 'method', method_name)
         if 'auth_code' in kwargs:
             self._create_element(doc, historic_txn, 'authcode', kwargs['auth_code'])
     
     # TxnDetails
     if 'amount' in kwargs:
         txn_details = self._create_element(doc, txn, 'TxnDetails')
         if 'merchant_reference' in kwargs:
             self._create_element(doc, txn_details, 'merchantreference', kwargs['merchant_reference'])
         self._create_element(doc, txn_details, 'amount', str(kwargs['amount']), {'currency': kwargs['currency']})
     
     # Save XML for later retrieval
     self._last_request_xml = doc.toxml()
     
     return self.do_request(doc.toxml())
Example #4
0
def generate_ticket_body(subject_text,
                         body_text,
                         requester_email_text,
                         use_configured_assignee=True):
    doc = Document()
    # Create the outer ticket element
    ticket = doc.createElement("ticket")
    doc.appendChild(ticket)

    # Create the other data
    subject = doc.createElement('subject')
    subject.appendChild(doc.createTextNode(subject_text))
    ticket.appendChild(subject)

    requester = doc.createElement('requester-email')
    requester.appendChild(doc.createTextNode(requester_email_text))
    ticket.appendChild(requester)

    requester = doc.createElement('group-id')
    requester.appendChild(doc.createTextNode('86020'))
    ticket.appendChild(requester)

    if (use_configured_assignee
            and getattr(settings, "ZENDESK_ASSIGN_TO_USER_ID", None)):
        value = getattr(settings, "ZENDESK_ASSIGN_TO_USER_ID")
        assignee = doc.createElement('assignee-id')
        assignee.appendChild(doc.createTextNode(unicode(value)))
        ticket.appendChild(assignee)

    description = doc.createElement('description')
    description.appendChild(doc.createTextNode(body_text))
    ticket.appendChild(description)

    return doc.toxml()
Example #5
0
def getDocument(dataset):
    gzSupport.addMessage(dataset)
    desc = arcpy.Describe(dataset)
    xmlDoc = Document()
    root = xmlDoc.createElement('table')
    xmlDoc.appendChild(root)
    root.setAttribute("xmlns",'http://gizinta.com')
    if desc.baseName.find('.') > -1:
        baseName = desc.baseName[desc.baseName.rfind('.')+1:]
    else:
        baseName = desc.baseName
        
    source = xmlDoc.createElement("data")
    source.setAttribute("name",baseName)
    root.appendChild(source)
    fields = getFields(dataset)
    i=0
    try:
        for field in fields:
            fNode = xmlDoc.createElement("row")
            fNode.setAttribute("id",str(i))
            source.appendChild(fNode)                
            addFieldElement(xmlDoc,fNode,"FieldName",field.name)
            addFieldElement(xmlDoc,fNode,"SourceField","")
            addFieldElement(xmlDoc,fNode,"SourceQA","Required") # need to get these values from template project.
            addFieldElement(xmlDoc,fNode,"TargetQA","Required")
            addFieldElement(xmlDoc,fNode,"SourceMethod","Copy")
            addFieldElement(xmlDoc,fNode,"FieldType",field.type)
            addFieldElement(xmlDoc,fNode,"FieldLength",str(field.length))
            i += 1
        xmlStr = xmlDoc.toxml()
    except:
        gzSupport.showTraceback()
        xmlStr =""
    return xmlStr
    def testTaxes7(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
                'default-tax-table': {
                        'tax-rules': [
                            {
                                'shipping-taxed': True,
                                'rate': 0.175,
                                'tax-area': {
                                    'postal-area': [
                                        {'country-code': 'DE'},
                                        {'country-code': 'ES'},
                                        {'country-code': 'GB'},
                                    ],
                                 },
                            },
                        ]
                    },
        }
        self.gc._taxes(doc, parent_node, data)
        xml1 = "<parent_node><tax-tables>\
<default-tax-table><tax-rules><default-tax-rule>\
<shipping-taxed>true</shipping-taxed><rate>0.175</rate>\
<tax-areas><postal-area><country-code>DE</country-code>\
</postal-area><postal-area><country-code>ES</country-code>\
</postal-area><postal-area><country-code>GB</country-code>\
</postal-area></tax-areas></default-tax-rule></tax-rules>\
</default-tax-table></tax-tables></parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
 def createGeneralUnknownResponse(self, message):
     doc = Document()
     root_response = doc.createElement('Response')
     root_response.setAttribute("creationSuccessful", str(False))
     root_response.setAttribute("reason", message)
     doc.appendChild(root_response)
     return doc.toxml(encoding='utf-8')
    def encode(self):
        # Create the XML document
        doc = Document()
        signed_cred = doc.createElement("signed-credential")

# Declare namespaces
# Note that credential/policy.xsd are really the PG schemas
# in a PL namespace.
# Note that delegation of credentials between the 2 only really works
# cause those schemas are identical.
# Also note these PG schemas talk about PG tickets and CM policies.
        signed_cred.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
        signed_cred.setAttribute("xsi:noNamespaceSchemaLocation", "http://www.geni.net/resources/credential/2/credential.xsd")
        signed_cred.setAttribute("xsi:schemaLocation", "http://www.planet-lab.org/resources/sfa/ext/policy/1 http://www.planet-lab.org/resources/sfa/ext/policy/1/policy.xsd")

# PG says for those last 2:
#        signed_cred.setAttribute("xsi:noNamespaceSchemaLocation", "http://www.protogeni.net/resources/credential/credential.xsd")
#        signed_cred.setAttribute("xsi:schemaLocation", "http://www.protogeni.net/resources/credential/ext/policy/1 http://www.protogeni.net/resources/credential/ext/policy/1/policy.xsd")

        doc.appendChild(signed_cred)

        # Fill in the <credential> bit
        cred = doc.createElement("credential")
        cred.setAttribute("xml:id", self.get_refid())
        signed_cred.appendChild(cred)
        append_sub(doc, cred, "type", "abac")

        # Stub fields
        append_sub(doc, cred, "serial", "8")
        append_sub(doc, cred, "owner_gid", '')
        append_sub(doc, cred, "owner_urn", '')
        append_sub(doc, cred, "target_gid", '')
        append_sub(doc, cred, "target_urn", '')
        append_sub(doc, cred, "uuid", "")

        if not self.expiration:
            self.set_expiration(datetime.datetime.utcnow() + datetime.timedelta(seconds=DEFAULT_CREDENTIAL_LIFETIME))
        self.expiration = self.expiration.replace(microsecond=0)
        if self.expiration.tzinfo is not None and self.expiration.tzinfo.utcoffset(self.expiration) is not None:
            # TZ aware. Make sure it is UTC
            self.expiration = self.expiration.astimezone(tz.tzutc())
        append_sub(doc, cred, "expires", self.expiration.strftime('%Y-%m-%dT%H:%M:%SZ')) # RFC3339

        abac = doc.createElement("abac")
        rt0 = doc.createElement("rt0")
        abac.appendChild(rt0)
        cred.appendChild(abac)
        append_sub(doc, rt0, "version", "1.1")
        head = self.createABACElement(doc, "head", self.get_head())
        rt0.appendChild(head)
        for tail in self.get_tails():
            tailEle = self.createABACElement(doc, "tail", tail)
            rt0.appendChild(tailEle)

        # Create the <signatures> tag
        signatures = doc.createElement("signatures")
        signed_cred.appendChild(signatures)

        # Get the finished product
        self.xml = doc.toxml("utf-8")
Example #9
0
def todaysNews():
    query = News.all()
    query.order("-createdAt")
    results = query.fetch(limit=1)

    mostRecentNews = results.pop()

    # Create the minidom level document
    doc = Document()
    newsElement = doc.createElement("news")
    doc.appendChild(newsElement)

    #headline
    headlineElement = doc.createElement("headline")
    headline = doc.createTextNode(mostRecentNews.headline)
    headlineElement.appendChild(headline)
    newsElement.appendChild(headlineElement)

    #content
    contentElement = doc.createElement("content")
    content = doc.createTextNode(mostRecentNews.content)
    contentElement.appendChild(content)
    newsElement.appendChild(contentElement)

    #date
    dateElement = doc.createElement("date")
    date = doc.createTextNode(str(mostRecentNews.createdAt))
    dateElement.appendChild(date)
    newsElement.appendChild(dateElement)

    out = doc.toxml()
    return out
Example #10
0
    def get(self):
        method = self.request.get('method')
        logging.debug(method)
        
        if method == "photo.list.all":
            doc = Document()
            root = doc.createElement("channel")
            doc.appendChild(root)

            obj_contents = photolog_list_all('',5)
            for obj in obj_contents:
                dom = parseString(obj.to_xml().encode('utf-8'))
                root.appendChild(dom.getElementsByTagName("entity")[0])
        elif method == "user.info":
            doc = Document()
            root = doc.createElement("channel")
            doc.appendChild(root)

            key = method = self.request.get('key')
            userinfo = get_user_by_key(key)
            dom = parseString(userinfo.to_xml().encode('utf-8'))
            root.appendChild(dom.getElementsByTagName("entity")[0])
        elif method == "photo.one":
            gkey = self.request.get('gkey')
            if gkey:
                obj = photolog_get_node(gkey)
                doc = obj.get_info_in_xml()
                #dom = parseString(obj.to_xml().encode('utf-8'))
                #root.appendChild(dom.getElementsByTagName("entity")[0])
            else:
                return
            
        self.response.out.write(doc.toxml())
Example #11
0
    def onResult(self, data):
        doc = Document()
        listentext = doc.createElement("listenText")
        doc.appendChild(listentext)

        if len(data) <= 1:
            listentext.setAttribute("state", "RecognitionFailed")
        else:
            try:
                i = 0
                for r in data['result']:
                    i += 1
                    rank = str(i)
                    if 'confidence' in r:
                        score = str(r['confidence'])
                    else:
                        score = 0.0
                    text = r['str']
                    hypo = doc.createElement("data")
                    hypo.setAttribute("rank", rank)
                    hypo.setAttribute("score", score)
                    hypo.setAttribute("likelihood", score)
                    hypo.setAttribute("text", text)
                    rospy.loginfo("#%s: %s (%s)" %
                                  (rank, text.encode('utf-8'), score))
                    listentext.appendChild(hypo)

                listentext.setAttribute("state", "Success")

            except:
                print(traceback.format_exc())
                listentext.setAttribute("state", "ParseError")

        res_data = doc.toxml(encoding="utf-8")
        self._julius_result.publish(res_data.decode('unicode_escape'))
    def onResult(self, data):
        doc = Document()
        listentext = doc.createElement("listenText")
        doc.appendChild(listentext)

        if len(data) <= 1:
            listentext.setAttribute("state", "RecognitionFailed")
        else:
            try:
                i = 0
                for r in data['result']:
                    i += 1
                    rank = str(i)
                    if 'confidence' in r:
                        score = str(r['confidence'])
                    else:
                        score = 0.0
                    text = r['str']
                    hypo = doc.createElement("data")
                    hypo.setAttribute("rank", rank)
                    hypo.setAttribute("score", score)
                    hypo.setAttribute("likelihood", score)
                    hypo.setAttribute("text", text)
                    self._logger.RTC_INFO("#%s: %s (%s)" % (rank, text, score))
                    listentext.appendChild(hypo)

                listentext.setAttribute("state", "Success")

            except:
                print(traceback.format_exc())
                listentext.setAttribute("state", "ParseError")

        res_data = doc.toxml(encoding="utf-8")
        self._outdata.data = res_data
        self._outport.write()
Example #13
0
 def request_xml(self):
     doc = Document()
     root = doc.createElement(self.ROOT_ELEMENT)
     doc.appendChild(root)
     for key, value in self.data.items():
         self._create_element(doc, root, key, value=value)
     return doc.toxml()
Example #14
0
class DictToXml(object):  # pylint: disable=too-few-public-methods
    """Map dictionary into XML"""

    def __init__(self, structure):
        self.doc = Document()

        root_name = str(structure.keys()[0])
        root = self.doc.createElement(root_name)

        self.doc.appendChild(root)
        self._build(root, structure[root_name])

    def _build(self, parent, structure):
        if isinstance(structure, dict):
            for node_name in structure:
                tag = self.doc.createElement(node_name)
                parent.appendChild(tag)
                self._build(tag, structure[node_name])
        elif isinstance(structure, list):
            for node_structure in structure:
                self._build(parent, node_structure)
        elif structure is None:
            return
        else:
            node_data = str(structure)
            tag = self.doc.createTextNode(node_data)
            parent.appendChild(tag)

    def __str__(self):
        # TODO implement separate method for pretty print
        return self.doc.toxml()
    def updateFontXML(self):
        dataDoc = Document()
        dataDoc.appendChild(dataDoc.createComment(xHeader + self.fontName))

        fontElem = dataDoc.createElement(xFont)
        dataDoc.appendChild(fontElem)

        fontElem.setAttribute(xSize, str(self.fontSize))
        fontElem.setAttribute(xName, self.fontName)

        crElem = dataDoc.createElement(xCRInfo)
        fontElem.appendChild(crElem)

        if (self.crInfo != ''):
            crElem.appendChild(dataDoc.createTextNode(self.crInfo))

        for char in self.glyphMap:
            charData = self.glyphMap[char]
            glyphElem = dataDoc.createElement(xGlyph)
            fontElem.appendChild(glyphElem)

            glyphElem.setAttribute('char', char)
            glyphElem.setAttribute(xROff, str(charData.rOffset))
            glyphElem.setAttribute(
                xBBox, '(' + ','.join([str(round(b, 2)) for b in charData.bbox]) + ')')

            glyphElem.appendChild(dataDoc.createTextNode(charData.pathStr))

        f = open(self.dataFilePath, "w")
        f.write(dataDoc.toxml(encoding="utf-8"))
        f.close()
Example #16
0
    def to_xml(self):
        document = Document()
        request_stream = document.createElementNS(XMLDOC_NAMESPACE,
                                                  STREAMER_ROOT_NODE)
        request_stream.setAttribute(XMLDOC_XMLNS_ATTRIBUTE, XMLDOC_NAMESPACE)
        document.appendChild(request_stream)

        if self.channel_dvblink_id_ != None:
            channel_id = document.createElement(STREAMER_CHANNEL_ID_NODE)
            request_stream.appendChild(channel_id)
            channel_id.appendChild(
                document.createTextNode(str(self.channel_dvblink_id_)))
        if self.client_id_ != None:
            client_id = document.createElement(STREAMER_CLIENT_ID_NODE)
            request_stream.appendChild(client_id)
            client_id.appendChild(document.createTextNode(str(
                self.client_id_)))
        if self.server_address_ != None:
            address = document.createElement(STREAMER_SERVER_ADDRESS_NODE)
            request_stream.appendChild(address)
            address.appendChild(
                document.createTextNode(str(self.server_address_)))
        if self.stream_type_ != None:
            stream_type = document.createElement(STREAMER_STREAM_TYPE_NODE)
            request_stream.appendChild(stream_type)
            stream_type.appendChild(
                document.createTextNode(str(self.stream_type_)))
        return document.toxml(encoding=XMLDOC_CODEPAGE)
Example #17
0
def object_to_xml(obj_file, xml_file):
    """Gnerate an XML file."""
    dic_obj = open(obj_file, "rb")
    if options.verbose:
        print("Loading dictionary...")
    dic_ip = pickle.load(dic_obj)

    if options.verbose:
        print("Creating XML file...")
    doc = Document()
    racine = doc.createElement("IP-Link")
    doc.appendChild(racine)

    for ip_src in dic_ip:
        ipsrc = doc.createElement("ip_packet")
        ipsrc.setAttribute("source_ip", ip_src)
        racine.appendChild(ipsrc)
        for ip_dst in dic_ip[ip_src]:
            ipdst = doc.createElement("ip_packet")
            ipdst.setAttribute("destination_ip", ip_dst)
            ipdst.setAttribute("weight", str(dic_ip[ip_src][ip_dst]))
            ipsrc.appendChild(ipdst)

    # Elegant display of the XML object
    # print doc.toprettyxml()

    try:
        file = open(xml_file, "w")
        file.write("%s" % doc.toxml().encode("utf-8"))
    except IOError as e:
        print("Writting error :", e)
    finally:
        file.close()
    def Serialize(self):
        if not self.message:
            raise TCException(
                "iD message not sent, cannot serialize",
                '%s.%s' % (self.__class__.__name__, current_function()))

        doc = Document()

        # TODO declaration bit

        cacheFidx = '%d' % self.message.GetBlockIdx()
        cacheEvent = '%d' % self.message.GetEvent()
        fvalue = self.message.GetFamily()

        self.message.absolute.Tic()
        self.message.relative.Tic()
        timestamp = self.message.absolute.Get()
        reference = self.message.relative.Get()

        root = doc.createElement(IDMESSAGE_ROOTNODE)
        root.setAttribute(IDMESSAGE_VERSIONNODE, IDMESSAGE_VERSION)
        root.setAttribute(IDMESSAGE_DESCRIPTIONNODE,
                          self.message.GetDescription())
        root.setAttribute(IDMESSAGE_FRAMENODE, cacheFidx)
        root.setAttribute(IDMESSAGE_FAMILYNODE, fvalue)
        root.setAttribute(IDMESSAGE_EVENTNODE, cacheEvent)
        root.setAttribute(IDMESSAGE_TIMESTAMPNODE, timestamp)
        root.setAttribute(IDMESSAGE_REFERENCENODE, reference)
        doc.appendChild(root)

        # TODO indent?

        return doc.toxml()
Example #19
0
    def request(self, host, handler, request_body, verbose=False):
        """
        ist für den Aufruf der Methoden auf dem Server zuständig.
        Die XML-Nachrichten werden manuell zusammengebaut und dann zu dem Host gesendet.
        """
        doc = parseString(request_body)

        connectionelement = doc.createElement("connection")
        if self.src_ip:
            connectionelement.setAttribute("srcip", self.src_ip)
        connectionelement.setAttribute("dstip", host)

        ps = doc.getElementsByTagName('methodCall')[0]
        ps.insertBefore(connectionelement, ps.firstChild)

        xmldata = base64.b64encode(bytes(doc.toxml(), 'UTF-8'))

        message = Document()
        msgnode = message.createElement('message')
        message.appendChild(msgnode)
        xmlnode = message.createElement('xmldata')
        xmlnode.appendChild(message.createTextNode(xmldata.decode("utf-8")))
        msgnode.appendChild(xmlnode)

        signaturenode = message.createElement('signature')
        signaturenode.appendChild(message.createTextNode(self.sign(xmldata).decode("utf-8")))
        msgnode.appendChild(signaturenode)

        return super().request(host, handler, bytes(message.toxml(), 'UTF-8'), verbose)
def Hand_Allbooklist_Get(request):
    serialid = request.META.get('HTTP_SERIAL', '')
    resultCode = '0'
    returnXmlData = ''

    if serialid == '':
        resultCode = '1018'
        return resultCode, returnXmlData

    try:
        dataList = recentbooklist.objects.values(
            "bookName", "bookId").filter(serial=serialid)
    except:
        print(
            "Hand_Allbooklist_Get select database of table recentbooklist faile!!!!!"
        )
        resultCode = '1028'
        return resultCode, returnXmlData

    if dataList:
        doc = Document()
        root = doc.createElement('Response')
        doc.appendChild(root)
        getRecentListReq = doc.createElement('GetRecentListReq')
        root.appendChild(getRecentListReq)

        for value in dataList:
            Add_Element(doc, getRecentListReq, value)
    else:
        return resultCode, returnXmlData

    # print (doc.toxml('UTF-8'))
    returnxmlData = doc.toxml('UTF-8')

    return resultCode, returnxmlData
def generate_ticket_body(subject_text, body_text, requester_email_text,
                         use_configured_assignee=True):
    doc = Document()
    # Create the outer ticket element
    ticket = doc.createElement("ticket")
    doc.appendChild(ticket)

    # Create the other data
    subject = doc.createElement('subject')
    subject.appendChild(doc.createTextNode(subject_text))
    ticket.appendChild(subject)

    requester = doc.createElement('requester-email')
    requester.appendChild(doc.createTextNode(requester_email_text))
    ticket.appendChild(requester)

    requester = doc.createElement('group-id')
    requester.appendChild(doc.createTextNode('86020'))
    ticket.appendChild(requester)

    if (use_configured_assignee and
        getattr(settings, "ZENDESK_ASSIGN_TO_USER_ID", None)):
        value = getattr(settings, "ZENDESK_ASSIGN_TO_USER_ID")
        assignee = doc.createElement('assignee-id')
        assignee.appendChild(doc.createTextNode(unicode(value)))
        ticket.appendChild(assignee)

    description = doc.createElement('description')
    description.appendChild(doc.createTextNode(body_text))
    ticket.appendChild(description)

    return doc.toxml()
 def to_xml(self):
     document = Document()
     schedule = document.createElementNS(XMLDOC_NAMESPACE,
                                         SCHEDULE_ROOT_NODE)
     schedule.setAttribute(XMLDOC_XMLNS_ATTRIBUTE, XMLDOC_NAMESPACE)
     document.appendChild(schedule)
     # schedule id
     if self.schedule_id_ != None:
         schedule_id_node = document.createElement(SCHEDULE_ID_NODE)
         schedule.appendChild(schedule_id_node)
         schedule_id_node.appendChild(
             document.createTextNode(self.schedule_id_))
     # user param
     if self.user_param_ != None:
         user_param_node = document.createElement(SCHEDULE_USER_PARAM_NODE)
         schedule.appendChild(user_param_node)
         user_param_node.appendChild(
             document.createTextNode(self.user_param_))
     # force add
     if self.force_add_:
         force_add_node = document.createElement(SCHEDULE_FORCE_ADD_NODE)
         schedule.appendChild(force_add_node)
         force_add_node.appendChild(
             document.createTextNode(XMLNODE_VALUE_TRUE))
     # by epg
     if self.by_epg_ != None:
         by_epg_node = self.by_epg_.create_node(document)
         schedule.appendChild(by_epg_node)
     # manual
     if self.manual_ != None:
         manual_node = self.manual_.create_node(document)
         schedule.appendChild(manual_node)
     return document.toxml(encoding=XMLDOC_CODEPAGE)
Example #23
0
    def doStartSession(self, args={}):
        url = self.base_url + "/start.php"

        doc = Document()
        sessionNode = doc.createElement("session")
        sessionNode.setAttribute("mode", "desktop")
        userNode = doc.createElement("user")
        userNode.setAttribute("login", self.conf["login"])
        userNode.setAttribute("password", self.conf["password"])
        sessionNode.appendChild(userNode)

        if args.has_key("start-apps"):  # launch applications at the session startup
            startappsNode = doc.createElement("start")
            for appid in args["start-apps"]:
                appNode = doc.createElement("application")
                appNode.setAttribute("id", appid)
                startappsNode.appendChild(appNode)
            sessionNode.appendChild(startappsNode)
        doc.appendChild(sessionNode)

        request = urllib2.Request(url, doc.toxml())

        try:
            url = self.urlOpener.open(request)

        except urllib2.HTTPError, exc:
            if exc.code == 500:
                Logger.info("The service is not available")
                return False

            Logger.debug("HTTP request return code %d (%s)" % (exc.code, exc.msg))
            return False
 def to_xml(self):
     document = Document()
     schedule = document.createElementNS(XMLDOC_NAMESPACE,
                                         SCHEDULE_UPDATE_ROOT_NODE)
     schedule.setAttribute(XMLDOC_XMLNS_ATTRIBUTE, XMLDOC_NAMESPACE)
     document.appendChild(schedule)
     if self.schedule_id_ != None:
         schedule_id_node = document.createElement(SCHEDULE_ID_NODE)
         schedule.appendChild(schedule_id_node)
         schedule_id_node.appendChild(
             document.createTextNode(self.schedule_id_))
     if self.is_new_only_:
         is_new_only_node = document.createElement(SCHEDULE_NEW_ONLY_NODE)
         schedule.appendChild(is_new_only_node)
         is_new_only_node.appendChild(
             document.createTextNode(XMLNODE_VALUE_TRUE))
     if self.is_record_series_anytime_:
         is_record_series_anytime_node = document.createElement(
             SCHEDULE_SERIES_ANYTIME_NODE)
         schedule.appendChild(is_record_series_anytime_node)
         is_record_series_anytime_node.appendChild(
             document.createTextNode(XMLNODE_VALUE_TRUE))
     if self.recordings_to_keep_ != None:
         recordings_to_keep_node = document.createElement(
             SCHEDULE_REC_TO_KEEP_NODE)
         schedule.appendChild(recordings_to_keep_node)
         recordings_to_keep_node.appendChild(
             document.createTextNode(str(self.recordings_to_keep_)))
     return document.toxml(encoding=XMLDOC_CODEPAGE)
Example #25
0
    def list_bucket(self):
        dirL = self.user.list_bucket(self.bucketName, self.request.args)
        doc = Document()

        # Create the <wml> base element
        xList = doc.createElement("ListBucketResult")
        xList.setAttribute("xmlns", "http://doc.s3.amazonaws.com/2006-03-01")
        doc.appendChild(xList)

        # Create the main <card> element
        xName = doc.createElement("Name")
        xList.appendChild(xName)
        xNameText = doc.createTextNode(str(self.bucketName))
        xName.appendChild(xNameText)

        xIsTruncated = doc.createElement("IsTruncated")
        xList.appendChild(xIsTruncated)
        xIsTText = doc.createTextNode('false')
        xIsTruncated.appendChild(xIsTText)

        for obj in dirL:
            xObj = obj.create_xml_element(doc)
            xList.appendChild(xObj)

        x = doc.toxml();

        self.send_xml(x)
        self.finish(self.request)
 def to_xml(self):
     document = Document()
     schedules = document.createElementNS(XMLDOC_NAMESPACE,
                                          SCHEDULES_ROOT_NODE)
     schedules.setAttribute(XMLDOC_XMLNS_ATTRIBUTE, XMLDOC_NAMESPACE)
     document.appendChild(schedules)
     return document.toxml(encoding=XMLDOC_CODEPAGE)
    def testTaxes2(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
                'default-tax-table': {
                    'tax-rules': [
                            {
                                'shipping-taxed': True,
                                'rate': 0.06,
                                'tax-area': {
                                    'us-state-area': ['CT'],
                                 }
                            },
                            {
                                'rate': 0.05,
                                'tax-area': {
                                    'us-state-area': ['MD'],
                                 }
                            }
                        ]
                    }
        }
        self.gc._taxes(doc, parent_node, data)
        xml1 = "<parent_node><tax-tables><default-tax-table><tax-rules>\
<default-tax-rule><shipping-taxed>true</shipping-taxed><rate>0.06</rate>\
<tax-area><us-state-area><state>CT</state></us-state-area></tax-area>\
</default-tax-rule><default-tax-rule><shipping-taxed>false</shipping-taxed>\
<rate>0.05</rate><tax-area><us-state-area><state>MD</state></us-state-area>\
</tax-area></default-tax-rule></tax-rules></default-tax-table></tax-tables>\
</parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #28
0
    def doLogout(self):
        if self.sessionProperties["persistent"]:
            mode = "suspend"
        else:
            mode = "logout"

        document = Document()
        rootNode = document.createElement("logout")
        rootNode.setAttribute("mode", mode)
        document.appendChild(rootNode)

        url = "%s/logout" % (self.base_url)
        request = urllib2.Request(url)
        request.add_header("Content-type", "text/xml; charset=UTF-8")
        request.add_data(document.toxml())

        try:
            url = self.urlOpener.open(request)

        except urllib2.HTTPError, exc:
            logging.debug(" * return: %s" % (str(exc.read())))
            if exc.code == 500:
                raise OvdExceptionNotAvailable()

            raise OvdExceptionInternalError(
                "HTTP request return code %d (%s)" % (exc.code, exc.msg))
def distributePlan(txn, targets, plan):
	m = Document()

	message = m.appendChild(m.createElement('message'))
	message.setAttribute('kind', 'distribution')

	targetNodes = message.appendChild(m.createElement('targets'))
	planNode = message.appendChild(m.createElement('plan'))

	for t in targets:
		newTarget = m.createElement('target')

		for k,v in t.itervalues():
			newTarget.setAttribute(k,v)

		targetNodes.appendChild(newTarget)

	for k,v in plan.itervalues():
		if k is 'plan':
			continue

		planNode.setAttribute(k,v)

	planNode.appendChild(m.createTextNode(plan['plan']))

	peers = txn.execute(
		'SELECT peer FROM healing_group ORDER BY peer'
	).fetchall()

	writer = BundleWriter('dtnhealing:')

	for p in peers:
		writer.write(p['peer'], m.toxml())

	return targets, plan
Example #30
0
    def doStartSession(self, args={}):
        url = self.base_url + "/start"

        doc = Document()
        sessionNode = doc.createElement("session")
        sessionNode.setAttribute("mode", "desktop")
        if self.conf.has_key("language") and self.conf["language"]:
            sessionNode.setAttribute("language", self.conf["language"])

        userNode = doc.createElement("user")
        userNode.setAttribute("login", self.conf["login"])
        userNode.setAttribute("password", self.conf["password"])
        sessionNode.appendChild(userNode)

        if args.has_key(
                "start-apps"):  # launch applications at the session startup
            startappsNode = doc.createElement("start")
            for appid in args["start-apps"]:
                appNode = doc.createElement("application")
                appNode.setAttribute("id", appid)
                startappsNode.appendChild(appNode)
            sessionNode.appendChild(startappsNode)
        doc.appendChild(sessionNode)

        request = urllib2.Request(url, doc.toxml())

        try:
            url = self.urlOpener.open(request)

        except urllib2.HTTPError, exc:
            if exc.code == 500:
                raise OvdExceptionNotAvailable()

            raise OvdExceptionInternalError(
                "HTTP request return code %d (%s)" % (exc.code, exc.msg))
Example #31
0
    def encode(self):
        # Create the XML document
        doc = Document()
        signed_cred = doc.createElement("signed-credential")

# Declare namespaces
# Note that credential/policy.xsd are really the PG schemas
# in a PL namespace.
# Note that delegation of credentials between the 2 only really works
# cause those schemas are identical.
# Also note these PG schemas talk about PG tickets and CM policies.
        signed_cred.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
        signed_cred.setAttribute("xsi:noNamespaceSchemaLocation", "http://www.geni.net/resources/credential/2/credential.xsd")
        signed_cred.setAttribute("xsi:schemaLocation", "http://www.planet-lab.org/resources/sfa/ext/policy/1 http://www.planet-lab.org/resources/sfa/ext/policy/1/policy.xsd")

# PG says for those last 2:
#        signed_cred.setAttribute("xsi:noNamespaceSchemaLocation", "http://www.protogeni.net/resources/credential/credential.xsd")
#        signed_cred.setAttribute("xsi:schemaLocation", "http://www.protogeni.net/resources/credential/ext/policy/1 http://www.protogeni.net/resources/credential/ext/policy/1/policy.xsd")

        doc.appendChild(signed_cred)

        # Fill in the <credential> bit
        cred = doc.createElement("credential")
        cred.setAttribute("xml:id", self.get_refid())
        signed_cred.appendChild(cred)
        append_sub(doc, cred, "type", "abac")

        # Stub fields
        append_sub(doc, cred, "serial", "8")
        append_sub(doc, cred, "owner_gid", '')
        append_sub(doc, cred, "owner_urn", '')
        append_sub(doc, cred, "target_gid", '')
        append_sub(doc, cred, "target_urn", '')
        append_sub(doc, cred, "uuid", "")

        if not self.expiration:
            self.set_expiration(datetime.datetime.utcnow() + datetime.timedelta(seconds=DEFAULT_CREDENTIAL_LIFETIME))
        self.expiration = self.expiration.replace(microsecond=0)
        if self.expiration.tzinfo is not None and self.expiration.tzinfo.utcoffset(self.expiration) is not None:
            # TZ aware. Make sure it is UTC
            self.expiration = self.expiration.astimezone(tz.tzutc())
        append_sub(doc, cred, "expires", self.expiration.strftime('%Y-%m-%dT%H:%M:%SZ')) # RFC3339

        abac = doc.createElement("abac")
        rt0 = doc.createElement("rt0")
        abac.appendChild(rt0)
        cred.appendChild(abac)
        append_sub(doc, rt0, "version", "1.1")
        head = self.createABACElement(doc, "head", self.get_head())
        rt0.appendChild(head)
        for tail in self.get_tails():
            tailEle = self.createABACElement(doc, "tail", tail)
            rt0.appendChild(tailEle)

        # Create the <signatures> tag
        signatures = doc.createElement("signatures")
        signed_cred.appendChild(signatures)

        # Get the finished product
        self.xml = doc.toxml("utf-8")
Example #32
0
def object_to_xml(obj_file, xml_file):
    """Gnerate an XML file."""
    dic_obj = open(obj_file, "r")
    if options.verbose:
        print("Loading dictionary...")
    dic_ip = pickle.load(dic_obj)

    if options.verbose:
        print("Creating XML file...")
    doc = Document()
    racine = doc.createElement("IP-Link")
    doc.appendChild(racine)

    for ip_src in dic_ip:
        ipsrc = doc.createElement("ip_packet")
        ipsrc.setAttribute("source_ip", ip_src)
        racine.appendChild(ipsrc)
        for ip_dst in dic_ip[ip_src]:
            ipdst = doc.createElement("ip_packet")
            ipdst.setAttribute("destination_ip", ip_dst)
            ipdst.setAttribute("weight", str(dic_ip[ip_src][ip_dst]))
            ipsrc.appendChild(ipdst)

    # Elegant display of the XML object
    #print doc.toprettyxml()

    try:
        file = open(xml_file, 'w')
        file.write('%s' % doc.toxml().encode('utf-8'))
    except IOError as e:
        print("Writting error :", e)
    finally:
        file.close()
Example #33
0
def constructLogXml(event, comment):
    eventString = str(event)
    commentString = str(comment)
    doc = Document()
    #Create root
    root = doc.createElement('log_entry')
    doc.appendChild(root)
    #Add event
    event = doc.createElement('event')
    root.appendChild(event)
    eventText = doc.createTextNode(eventString)
    event.appendChild(eventText)
    #Add timestamp
    time = doc.createElement('time')
    root.appendChild(time)
    timeText = doc.createTextNode(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    time.appendChild(timeText)
    #Add cell ID
    cell = doc.createElement('cell_id')
    root.appendChild(cell)
    cellText = doc.createTextNode('4')
    cell.appendChild(cellText)
    #add comment
    comment = doc.createElement('comment')
    root.appendChild(comment)
    commentText = doc.createTextNode(commentString)
    comment.appendChild(commentText)
    
    return doc.toxml(encoding="utf-8")
    def xmlify(self, aHost, encryptedMessage):
        ### xmlifies the current message, building an onion as it goes.
        # open a file, write to it the xml-ified version of the query
        # structure:
        # <transmission>
        # <next-hop> a hop </next-hop>
        # <encrypted block>
        # (encrypted block contains one of these same blocks)
        # </encrypted block>
        # </transmission>

        # using xml.dom.minidom will autosanitize input!
        PDSMessage = Document()
        transmission = doc.createElement(TRANSMISSION)
        PDSMessage.appendChild(transmission)

        next_hop = doc.createElement(NEXT_HOP)
        transmission.appendChild(next_hop)
        nextHopText = doc.createTextElement(aHost)
        next_hop.appendChild(nextHopText)

        encrypted_block = doc.createElement(ENCRYPTED_BLOCK)
        transmission.appendChild(encrypted_block)
        encryptedText = doc.createTextElement(encryptedMessage)
        encrypted_block.appendChild(encryptedText)
        ## TODO: this little bit is maybe not quite right -- I don't know if this syntax is correct.
        return PDSMessage.toxml()
Example #35
0
    def list_bucket(self):
        dirL = self.user.list_bucket(self.bucketName, self.request.args)
        doc = Document()

        # Create the <wml> base element
        xList = doc.createElement("ListBucketResult")
        xList.setAttribute("xmlns", "http://doc.s3.amazonaws.com/2006-03-01")
        doc.appendChild(xList)

        # Create the main <card> element
        xName = doc.createElement("Name")
        xList.appendChild(xName)
        xNameText = doc.createTextNode(str(self.bucketName))
        xName.appendChild(xNameText)

        xIsTruncated = doc.createElement("IsTruncated")
        xList.appendChild(xIsTruncated)
        xIsTText = doc.createTextNode('false')
        xIsTruncated.appendChild(xIsTText)

        for obj in dirL:
            xObj = obj.create_xml_element(doc)
            xList.appendChild(xObj)

        x = doc.toxml()

        self.send_xml(x)
        self.finish(self.request)
Example #36
0
def export_tar(request):
    data = _get_data(request)

    arch_file = StringIO()
    arch = tarfile.TarFile(fileobj=arch_file, mode="w")

    for note in data:
        doc = Document()
        root = _note_to_xml(doc, note)
        doc.appendChild(root)

        note_data = doc.toxml(encoding='utf-8')

        note_file = StringIO()
        note_file.write(note_data)
        note_file.seek(0)

        note_info = tarfile.TarInfo("%s.note" % note["guid"])
        note_info.size = len(note_data)
        note_info.mtime = time.mktime(
            parse_iso_time(note["last-change-date"]).timetuple())

        arch.addfile(tarinfo=note_info, fileobj=note_file)

    arch.close()

    response = HttpResponse(arch_file.getvalue())
    response["Content-Type"] = "application/x-tar"
    response[
        "Content-Disposition"] = "attachment; filename=snowy-%s-%s.tar" % (
            request.user, time.strftime("%Y-%m-%d"))
    return response
def export_tar(request):
    data = _get_data(request)

    arch_file = StringIO()
    arch = tarfile.TarFile(fileobj=arch_file, mode="w")

    for note in data:
        doc = Document()
        root = _note_to_xml(doc, note)
        doc.appendChild(root)

        note_data = doc.toxml(encoding='utf-8')

        note_file = StringIO()
        note_file.write(note_data)
        note_file.seek(0)

        note_info = tarfile.TarInfo("%s.note" % note["guid"])
        note_info.size = len(note_data)
        note_info.mtime = time.mktime(parse_iso_time(note["last-change-date"]).timetuple())

        arch.addfile(
            tarinfo=note_info,
            fileobj=note_file
        )

    arch.close()

    response = HttpResponse(arch_file.getvalue())
    response["Content-Type"] = "application/x-tar"
    response["Content-Disposition"] = "attachment; filename=snowy-%s-%s.tar" % (request.user, time.strftime("%Y-%m-%d"))
    return response
Example #38
0
    def end_copy(self):

        try:
            self.user.put_object(self.dst_file, self.dstBucketName,
                                 self.dstObjectName)
            self.grant_public_permissions(self.dstBucketName,
                                          self.dstObjectName)

            doc = Document()
            cor = doc.createElement("CopyObjectResult")
            doc.appendChild(cor)

            lm = doc.createElement("LastModified")
            cor.appendChild(lm)
            lmText = doc.createTextNode(
                datetime(*self.src_ctm[:6]).isoformat())
            lm.appendChild(lmText)

            lm = doc.createElement("ETag")
            cor.appendChild(lm)
            lmText = doc.createTextNode(str(self.src_md5))
            lm.appendChild(lmText)

            x = doc.toxml()
            self.setHeader(self.request, 'x-amz-copy-source-version-id', "1")
            self.setHeader(self.request, 'x-amz-version-id', "1")
            self.send_xml(x)
            self.request.finish()

        except cbException, (ex):
            ex.sendErrorResponse(self.request, self.requestId)
            traceback.print_exc(file=sys.stdout)
Example #39
0
def textToXML(headers, text):
    """convert text to Scripting News XML
    
    Returns: string, complete XML output as single string
    
    Arguments:
    - headers: dictionary of additional headers for <header> node;
      some of these are required, see http://my.userland.com/stories/storyReader$11
    - text: text to convert
    """
    scriptingNewsNode = Element("scriptingNews")
    headernode = Element("header")
    headernode.appendChild(_TextElement("scriptingNewsVersion", "2.0b1"))
    headernode.appendChild(_TextElement("docs", "http://my.userland.com/stories/storyReader$11"))
    for k, v in headers.items():
        headernode.appendChild(_TextElement(k, v))
    scriptingNewsNode.appendChild(headernode)
    itemlist = text.split("\n\n")
    for itemtext in itemlist:
        itemnode = Element("item")
        itemtext, linklist = _parseItem(itemtext)
        itemnode.appendChild(_TextElement("text", itemtext))
        for link in linklist:
            linknode = Element("link")
            url, linetext = link
            linknode.appendChild(_TextElement("url", url))
            linknode.appendChild(_TextElement("linetext", linetext))
            itemnode.appendChild(linknode)
        scriptingNewsNode.appendChild(itemnode)
    doc = Document()
    doc.appendChild(scriptingNewsNode)
    return doc.toxml()
Example #40
0
def write_inds_2_xml(inds, res_path):
    """
    This function writes the individuals minidom Node into an XML file.
    
    Parameters
    ----------
    inds : list of xml minidom Node
        All the individuals to be written to the xml file.
    
    res_path : str
        The file path of the XML file.
    
    """
    #write an xml file
    doc = Document()
    root_node = doc.createElement("data")
    doc.appendChild(root_node)
    population = doc.createElement("population")
    root_node.appendChild(population)

    doc = xml.dom.minidom.parseString("<data><population></population></data>")
    parent_node = doc.getElementsByTagName("population")[0]

    for ind_node in inds:
        parent_node.appendChild(ind_node)

    f = open(res_path, "w")
    f.write(doc.toxml())
    f.close()
Example #41
0
def parseRss(l, info):
    feed = Document()
    rss = feed.createElement("rss")
    channel = feed.createElement("channel")
    title = feed.createElement("title")
    title_text = feed.createTextNode(info["title"])
    link = feed.createElement("link")
    link_text = feed.createTextNode(info["root"])
    title.appendChild(title_text)
    link.appendChild(link_text)
    channel.appendChild(title)
    channel.appendChild(link)
    for p in l:
        item = feed.createElement('item')
        pair = {\
            'title':p['title'], 'description':p['content'],\
            'link':info['root']+'/'+p['rlink']}
        for n in pair.keys():
            node = feed.createElement(n)
            node_text = feed.createTextNode(pair[n])
            node.appendChild(node_text)
            item.appendChild(node)
        channel.appendChild(item)
    rss.appendChild(channel)
    feed.appendChild(rss)
    return feed.toxml()
Example #42
0
    def testTaxes2(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
                'default-tax-table': {
                    'tax-rules': [
                            {
                                'shipping-taxed': True,
                                'rate': 0.06,
                                'tax-area': {
                                    'us-state-area': ['CT'],
                                 }
                            },
                            {
                                'rate': 0.05,
                                'tax-area': {
                                    'us-state-area': ['MD'],
                                 }
                            }
                        ]
                    }
        }
        self.gc._taxes(doc, parent_node, data)
        xml1 = "<parent_node><tax-tables><default-tax-table><tax-rules>\
<default-tax-rule><shipping-taxed>true</shipping-taxed><rate>0.06</rate>\
<tax-area><us-state-area><state>CT</state></us-state-area></tax-area>\
</default-tax-rule><default-tax-rule><shipping-taxed>false</shipping-taxed>\
<rate>0.05</rate><tax-area><us-state-area><state>MD</state></us-state-area>\
</tax-area></default-tax-rule></tax-rules></default-tax-table></tax-tables>\
</parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #43
0
def getDocument(dataset):
    gzSupport.addMessage(dataset)
    desc = arcpy.Describe(dataset)
    xmlDoc = Document()
    root = xmlDoc.createElement('table')
    xmlDoc.appendChild(root)
    root.setAttribute("xmlns",'http://gizinta.com')
    if desc.baseName.find('.') > -1:
        baseName = desc.baseName[desc.baseName.rfind('.')+1:]
    else:
        baseName = desc.baseName

    source = xmlDoc.createElement("data")
    source.setAttribute("name",baseName)
    root.appendChild(source)
    fields = getFields(dataset)
    i=0
    try:
        for field in fields:
            fNode = xmlDoc.createElement("row")
            fNode.setAttribute("id",str(i))
            source.appendChild(fNode)
            addFieldElement(xmlDoc,fNode,"FieldName",field.name)
            addFieldElement(xmlDoc,fNode,"SourceField","")
            addFieldElement(xmlDoc,fNode,"SourceQA","Required") # need to get these values from template project.
            addFieldElement(xmlDoc,fNode,"TargetQA","Required")
            addFieldElement(xmlDoc,fNode,"SourceMethod","Copy")
            addFieldElement(xmlDoc,fNode,"FieldType",field.type)
            addFieldElement(xmlDoc,fNode,"FieldLength",str(field.length))
            i += 1
        xmlStr = xmlDoc.toxml()
    except:
        gzSupport.showTraceback()
        xmlStr =""
    return xmlStr
Example #44
0
    def testTaxes3(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
                'default-tax-table': {
                        'tax-rules': [
                            {
                                'shipping-taxed': False,
                                'rate': 0.08375,
                                'tax-area': {
                                    'us-zip-area': ['100*'],
                                 }
                            },
                            {
                                'shipping-taxed': True,
                                'rate': 0.04,
                                'tax-area': {
                                    'us-state-area': ['NY'],
                                 }
                            }
                        ]
                    }
        }
        self.gc._taxes(doc, parent_node, data)
        xml1 = "<parent_node><tax-tables><default-tax-table>\
<tax-rules><default-tax-rule><shipping-taxed>false</shipping-taxed>\
<rate>0.08375</rate><tax-area><us-zip-area><zip-pattern>100*</zip-pattern>\
</us-zip-area></tax-area></default-tax-rule>\
<default-tax-rule><shipping-taxed>true</shipping-taxed>\
<rate>0.04</rate><tax-area><us-state-area><state>NY</state></us-state-area>\
</tax-area></default-tax-rule>\
</tax-rules></default-tax-table></tax-tables></parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #45
0
    def make_xml_string(self, path, requestId):
        doc = Document()

        # Create the <wml> base element
        xError = doc.createElement("Error")
        doc.appendChild(xError)

        # Create the main <card> element
        xCode = doc.createElement("Code")
        xCodeText = doc.createTextNode(self.code)
        xCode.appendChild(xCodeText)
        xError.appendChild(xCode)

        xMsg = doc.createElement("Message")
        xMsgText = doc.createTextNode(self.eMsg)
        xMsg.appendChild(xMsgText)
        xError.appendChild(xMsg)

        xRsc = doc.createElement("Resource")
        xRscText = doc.createTextNode(path)
        xRsc.appendChild(xRscText)
        xError.appendChild(xRsc)

        xRId = doc.createElement("RequestId")
        xRIdText = doc.createTextNode(str(requestId))
        xRId.appendChild(xRIdText)
        xError.appendChild(xRId)

        for k in self.custom_xml.keys():
            xId = doc.createElement(k)
            xText = doc.createTextNode(self.custom_xml[k])
            xId.appendChild(xText)
            xError.appendChild(xId)

        return doc.toxml()
Example #46
0
    def testTaxes7(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
                'default-tax-table': {
                        'tax-rules': [
                            {
                                'shipping-taxed': True,
                                'rate': 0.175,
                                'tax-area': {
                                    'postal-area': [
                                        {'country-code': 'DE'},
                                        {'country-code': 'ES'},
                                        {'country-code': 'GB'},
                                    ],
                                 },
                            },
                        ]
                    },
        }
        self.gc._taxes(doc, parent_node, data)
        xml1 = "<parent_node><tax-tables>\
<default-tax-table><tax-rules><default-tax-rule>\
<shipping-taxed>true</shipping-taxed><rate>0.175</rate>\
<tax-areas><postal-area><country-code>DE</country-code>\
</postal-area><postal-area><country-code>ES</country-code>\
</postal-area><postal-area><country-code>GB</country-code>\
</postal-area></tax-areas></default-tax-rule></tax-rules>\
</default-tax-table></tax-tables></parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #47
0
    def do_call_exit(self):
        if d.sessionProperties["persistent"]:
            mode = "suspend"
        else:
            mode = "logout"

        document = Document()
        rootNode = document.createElement("logout")
        rootNode.setAttribute("mode", mode)
        document.appendChild(rootNode)

        url = "%s/logout.php" % (self.base_url)
        request = urllib2.Request(url)
        request.add_header("Content-type", "text/xml; charset=UTF-8")
        request.add_data(document.toxml())

        try:
            url = self.urlOpener.open(request)

        except urllib2.HTTPError, exc:
            if exc.code == 500:
                Logger.warn("Service failurek")
                return False

            Logger.debug("HTTP request return code %d (%s)" % (exc.code, exc.msg))
            Logger.debug(" * return: %s" % (str(exc.read())))
            return False
Example #48
0
    def testShippingExclude(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
            'us-state-area': ['AK','HI'],
            'us-zip-area': ['90210', '04005', '04092'],
            'us-country-area': 'CONTINENTAL_48',
            'world-area': True,
            'postal-area': [{
                'country-code': 'US',
                'postal-code-pattern': ['94043', '90211'],
                },
            ],
        }
        self.gc._shipping_allowed_excluded(doc, parent_node, data)
        xml1 = "<parent_node><us-state-area><state>AK</state></us-state-area>\
<us-state-area><state>HI</state></us-state-area>\
<us-zip-area><zip-pattern>90210</zip-pattern></us-zip-area>\
<us-zip-area><zip-pattern>04005</zip-pattern></us-zip-area>\
<us-zip-area><zip-pattern>04092</zip-pattern></us-zip-area>\
<us-country-area country-area='CONTINENTAL_48'/>\
<world-area/>\
<postal-area><country-code>US</country-code>\
<postal-code-pattern>94043</postal-code-pattern>\
<postal-code-pattern>90211</postal-code-pattern></postal-area>\
</parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #49
0
class DictToXml(object):  # pylint: disable=too-few-public-methods
    """Map dictionary into XML"""

    def __init__(self, structure):
        self.doc = Document()

        root_name = str(structure.keys()[0])
        root = self.doc.createElement(root_name)

        self.doc.appendChild(root)
        self._build(root, structure[root_name])

    def _build(self, parent, structure):
        if isinstance(structure, dict):
            for node_name in structure:
                tag = self.doc.createElement(node_name)
                parent.appendChild(tag)
                self._build(tag, structure[node_name])
        elif isinstance(structure, list):
            for node_structure in structure:
                self._build(parent, node_structure)
        elif structure is None:
            return
        else:
            node_data = str(structure)
            tag = self.doc.createTextNode(node_data)
            parent.appendChild(tag)

    def __str__(self):
        # TODO implement separate method for pretty print
        return self.doc.toxml()
Example #50
0
    def update(self):
        try:
            print 'updating server with current markers:', self.markers.keys()

            doc = Document()
            table = doc.appendChild(doc.createElement(u'table'))
            table.setAttribute(u'id', unicode(self.device_id))

            for id in self.markers.keys():
                marker = table.appendChild(doc.createElement(u'marker'))
                marker.setAttribute(u'id', unicode(id))
                marker.setAttribute(u'angle',
                                    unicode(self.markers[marker].angle))
                marker.setAttribute(u'xpos',
                                    unicode(self.markers[marker].xpos))
                marker.setAttribute(u'ypos',
                                    unicode(self.markers[marker].ypos))
            try:
                bridge = self.bus.get_object(turk.TURK_BRIDGE_SERVICE,
                                             '/Bridge')
                bridge.PublishUpdate('app',
                                     doc.toxml(),
                                     unicode(DRIVER_ID),
                                     reply_handler=lambda *args: None,
                                     error_handler=self.handle_error)
            except dbus.DBusException, e:
                print 'interacTable: error posting data to app', e

            # Remove all markers from list
            self.markers.clear()
Example #51
0
    def end_copy(self):

        try:
            self.user.put_object(self.dst_file, self.dstBucketName, self.dstObjectName)
            self.grant_public_permissions(self.dstBucketName, self.dstObjectName)

            doc = Document()
            cor = doc.createElement("CopyObjectResult")
            doc.appendChild(cor)

            lm = doc.createElement("LastModified")
            cor.appendChild(lm)
            lmText = doc.createTextNode(datetime(*self.src_ctm[:6]).isoformat())
            lm.appendChild(lmText)

            lm = doc.createElement("ETag")
            cor.appendChild(lm)
            lmText = doc.createTextNode(str(self.src_md5))
            lm.appendChild(lmText)

            x = doc.toxml();
            self.setHeader(self.request, 'x-amz-copy-source-version-id', "1")
            self.setHeader(self.request, 'x-amz-version-id', "1")
            self.send_xml(x)
            self.request.finish()

        except cbException, (ex):
            ex.sendErrorResponse(self.request, self.requestId)
            traceback.print_exc(file=sys.stdout)
Example #52
0
def saveImageInfoByTitleId(site,request):
    titleid=request.POST.get('titleid','')
    if titleid:
        titlequery=Title.objects.filter(site=site.get('id')).filter(pk=titleid)[:1]
        title=None
        if 1==len(titlequery):
            title=titlequery[0]
        if title and  title.type in SWFUPLOAD_TITLE_TYPE:
            from xml.dom.minidom import Document
            xml=Document()
            datas=xml.createElement('datas')
            datas.setAttribute('userid',str(request.user.pk))
            xml.appendChild(datas)
            for i in range(0,int(request.POST.get('num'))):
                id=request.POST.get('id'+str(i))
                if id:
                    paperImage=PaperImage.objects.get(pk=id)
                else:
                    paperImage=PaperImage()
                    paperImage.img=''
                    paperImage.imgmid=''
                    paperImage.imgsmall=''
                paperImage.title=title
                paperImage.content=request.POST.get('text'+str(i))
                paperImage.index=int(request.POST.get('index'+str(i)))
                paperImage.save()

                data=xml.createElement('data')
                data.setAttribute('imgid',str(paperImage.id))
                data.setAttribute('imgindex',str(paperImage.index))
                datas.appendChild(data)
            return HttpResponse(xml.toxml('utf-8'))
    return HttpResponse()
Example #53
0
def questions_to_aiml(questions):
    punctuation = "\"`~!@#$%^&()-_=+[{]}\|;:',<.>/?"
    _puncStripRE = re.compile("[" + re.escape(punctuation) + "]")

    # Create the minidom document
    doc = Document()
    
    # Create the <aiml> base element
    aiml = doc.createElement("aiml")
    doc.appendChild(aiml)
    

    for question, answer in questions:        
        patterns = (re.sub(_puncStripRE, "", question), re.sub(_puncStripRE, "*", question))
        
        for p in patterns:
            category = doc.createElement("category") 
            pattern = doc.createElement("pattern") 
            pattern.appendChild(doc.createTextNode(p.upper()))  
            
            template = doc.createElement("template") 
            template.appendChild(doc.createTextNode(answer))
        
            category.appendChild(pattern)
            category.appendChild(template)
    
            aiml.appendChild(category)

    # Print our newly created XML
    return doc.toxml()
Example #54
0
	def to_xml(self):
		doc = Document()
		root = doc.createElement('patterns')
		doc.appendChild(root)

		for test in self.tests:
			test_node = doc.createElement('test')
			test_node.setAttribute('name', test.name)

			options_node = doc.createElement('options')

			for option in test.options:
				option_node = doc.createElement('option')
				option_node.setAttribute('name', option.name)
				options_node.appendChild(option_node)

			test_node.appendChild(options_node)

			for pattern in test.patterns:
				pattern_node = doc.createElement('pattern')
				pattern_node.setAttribute('result', pattern.result)
				pattern_node.setAttribute('probability', str(pattern.probability))

				for k,v in pattern.options.iteritems():
					option_node = doc.createElement('option')
					option_node.setAttribute('name', k)
					option_node.appendChild(doc.createTextNode(v))

					pattern_node.appendChild(option_node)

				test_node.appendChild(pattern_node)

			root.appendChild(test_node)

		return doc.toxml()
    def testTaxes3(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
                'default-tax-table': {
                        'tax-rules': [
                            {
                                'shipping-taxed': False,
                                'rate': 0.08375,
                                'tax-area': {
                                    'us-zip-area': ['100*'],
                                 }
                            },
                            {
                                'shipping-taxed': True,
                                'rate': 0.04,
                                'tax-area': {
                                    'us-state-area': ['NY'],
                                 }
                            }
                        ]
                    }
        }
        self.gc._taxes(doc, parent_node, data)
        xml1 = "<parent_node><tax-tables><default-tax-table>\
<tax-rules><default-tax-rule><shipping-taxed>false</shipping-taxed>\
<rate>0.08375</rate><tax-area><us-zip-area><zip-pattern>100*</zip-pattern>\
</us-zip-area></tax-area></default-tax-rule>\
<default-tax-rule><shipping-taxed>true</shipping-taxed>\
<rate>0.04</rate><tax-area><us-state-area><state>NY</state></us-state-area>\
</tax-area></default-tax-rule>\
</tax-rules></default-tax-table></tax-tables></parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #56
0
    def doStartSession(self, args = {}):
        url = self.base_url+"/start.php"
        
        doc = Document()
        sessionNode = doc.createElement('session')
        sessionNode.setAttribute("mode", "desktop")
        userNode = doc.createElement("user")
        userNode.setAttribute("login", self.conf["login"])
        userNode.setAttribute("password", self.conf["password"])
        sessionNode.appendChild(userNode)
        
        if args.has_key("start-apps"): # launch applications at the session startup
            startappsNode = doc.createElement("start")
            for appid in args["start-apps"]:
                appNode = doc.createElement("application")
                appNode.setAttribute("id", appid)
                startappsNode.appendChild(appNode)
            sessionNode.appendChild(startappsNode)
        doc.appendChild(sessionNode)
        
        request = urllib2.Request(url, doc.toxml())
              
        try:
            url = self.urlOpener.open(request)

        except urllib2.HTTPError, exc:
            if exc.code == 500:
                Logger.info("The service is not available")
                return False

            Logger.debug("HTTP request return code %d (%s)" % (exc.code, exc.msg))
            return False
    def testShippingExclude(self):
        doc = Document()
        parent_node = doc.createElement('parent_node')
        doc.appendChild(parent_node)
        data = {
            'us-state-area': ['AK','HI'],
            'us-zip-area': ['90210', '04005', '04092'],
            'us-country-area': 'CONTINENTAL_48',
            'world-area': True,
            'postal-area': [{
                'country-code': 'US',
                'postal-code-pattern': ['94043', '90211'],
                },
            ],
        }
        self.gc._shipping_allowed_excluded(doc, parent_node, data)
        xml1 = "<parent_node><us-state-area><state>AK</state></us-state-area>\
<us-state-area><state>HI</state></us-state-area>\
<us-zip-area><zip-pattern>90210</zip-pattern></us-zip-area>\
<us-zip-area><zip-pattern>04005</zip-pattern></us-zip-area>\
<us-zip-area><zip-pattern>04092</zip-pattern></us-zip-area>\
<us-country-area country-area='CONTINENTAL_48'/>\
<world-area/>\
<postal-area><country-code>US</country-code>\
<postal-code-pattern>94043</postal-code-pattern>\
<postal-code-pattern>90211</postal-code-pattern></postal-area>\
</parent_node>"
        doc_good = parseString(xml1)
        self.assertEquals(doc.toxml(), doc_good.toxml())
Example #58
0
    def do_call_exit(self):
        if d.sessionProperties["persistent"]:
            mode = "suspend"
        else:
            mode = "logout"
        
        document = Document()
        rootNode = document.createElement('logout')
        rootNode.setAttribute("mode", mode)
        document.appendChild(rootNode)
        
        url = "%s/logout.php"%(self.base_url)
        request = urllib2.Request(url)
        request.add_header("Content-type", "text/xml; charset=UTF-8")
        request.add_data(document.toxml())
        
        try:
            url = self.urlOpener.open(request)

        except urllib2.HTTPError, exc:
            if exc.code == 500:
                Logger.warn("Service failurek")
                return False

            Logger.debug("HTTP request return code %d (%s)" % (exc.code, exc.msg))
            Logger.debug(" * return: %s"%(str(exc.read())))
            return False
Example #59
0
def getUpdates():
    cache = apt.Cache()
    cache.upgrade(dist_upgrade=True)

    updates = cache.get_changes()
    doc = Document()

    host = doc.createElement("host")
    host.setAttribute("name", getfqdn())

    doc.appendChild(host)

    for update in updates:
        u = doc.createElement("package")
        u.setAttribute("name", update.name)
        if update.installed:
            u.setAttribute("current_version", update.installed.version)
        u.setAttribute("new_version", update.candidate.version)
        u.setAttribute("source_name", update.candidate.source_name)

        try:
            origin = update.candidate.origins[0].origin
            u.setAttribute("origin", origin)
        except IndexError:
            pass

        if isSecurityUpgrade(update.candidate):
            u.setAttribute("is_security", "true")

        host.appendChild(u)

    return doc.toxml().replace('\n','')
def _build_xml_shopping_cart(request):
    """
    constructs the XML representation of the current customer's shopping cart items to POST to
    the Google Checkout API
    """
    doc = Document()
    root = doc.createElement('checkout-shopping-cart')
    root.setAttribute('xmlns', 'http://checkout.google.com/schema/2')
    doc.appendChild(root)
    shopping_cart = doc.createElement('shopping-cart')
    root.appendChild(shopping_cart)
    items = doc.createElement('items')
    shopping_cart.appendChild(items)
    cart_items = carts.get_cart_items(request)

    for cart_item in cart_items:
        item = doc.createElement('item')
        items.appendChild(item)

        item_name = doc.createElement('item-name')
        item_name_text = doc.createTextNode(str(cart_item.name))
        item_name.appendChild(item_name_text)
        item.appendChild(item_name)

        item_description = doc.createElement('item-description')
        item_description_text = doc.createTextNode(str(cart_item.name))
        item_description.appendChild(item_description_text)
        item.appendChild(item_description)

        unit_price = doc.createElement('unit-price')
        unit_price.setAttribute('currency', 'USD')
        unit_price_text = doc.createTextNode(str(cart_item.price))
        unit_price.appendChild(unit_price_text)
        item.appendChild(unit_price)

        quantity = doc.createElement('quantity')
        quantity_text = doc.createTextNode(str(cart_item.quantity))
        quantity.appendChild(quantity_text)
        item.appendChild(quantity)

    checkout_flow = doc.createElement('checkout-flow-support')
    root.appendChild(checkout_flow)
    merchant_flow = doc.createElement('merchant-checkout-flow-support')
    checkout_flow.appendChild(merchant_flow)

    shipping_methods = doc.createElement('shipping-methods')
    merchant_flow.appendChild(shipping_methods)

    flat_rate_shipping = doc.createElement('flat-rate-shipping')
    flat_rate_shipping.setAttribute('name', 'FedEx Ground')
    shipping_methods.appendChild(flat_rate_shipping)

    shipping_price = doc.createElement('price')
    shipping_price.setAttribute('currency', 'USD')
    flat_rate_shipping.appendChild(shipping_price)

    shipping_price_text = doc.createTextNode('9.99')
    shipping_price.appendChild(shipping_price_text)

    return doc.toxml(encoding='utf-8')