Exemplo n.º 1
0
    def deploy_csr(self):
        # Create linked disks
        self.clone()

        # Create libvirt domain definitions from template
        xml_tree = ElementTree()
        dom_xml = xml_tree.parse("domain_template.xml")
        for csr in range(0, self.csr_amount):
            dom_xml.find('.//name').text = 'CSR{0}'.format(csr)
            dom_xml.find('devices/disk/source'
                         ).attrib['file'] = 'linked_clone{0}.qcow2'.format(csr)
            dom_xml.find('devices/interface/mac'
                         ).attrib['address'] = self.gen_mac_address(csr)
            # Get next available port, starting at the dynamic port range
            assigned_port = check_tcp_port(49152)
            dom_xml.find(
                'devices/console/source').attrib['file'] = assigned_port
            dom_xml.find(
                'devices/serial/source').attrib['file'] = assigned_port
            # TODO: Set golden image path to ENV variable
            dom_xml = xml_tree.tostring(dom_xml)

            # Deploy CSR domains
            self.libvirt_conn.createXML(
                dom_xml, 0
            )  # TODO: Build in error checking, add counter for amount of created domains
def write_xml(elem):
    """Write out a pretty print xml doc to file.
    """
    rough_string = ElementTree.tostring(elem, 'utf-8')
    reparsed = minidom.parseString(rough_string)
    with open('ucb-guides-feeds.opml', mode='w') as a_file:
        a_file.write(reparsed.toprettyxml(indent=" "))
Exemplo n.º 3
0
    def create_endpoint_bulk(self):
        """ Creates a batch of endpoints using bulk method """

        root = Element(
            "ns4:endpointBulkRequest",
            {
                "operationType": "create",
                "resourceMediaType":
                "vnd.com.cisco.ise.identity.endpoint.1.0+xml",
                "xmlns:ns6": "sxp.ers.ise.cisco.com",
                "xmlns:ns5": "trustsec.ers.ise.cisco.com",
                "xmlns:ns8": "network.ers.ise.cisco.com",
                "xmlns:ns7": "anc.ers.ise.cisco.com",
                "xmlns:ers": "ers.ise.cisco.com",
                "xmlns:xs": "http://www.w3.org/2001/XMLSchema",
                "xmlns:ns4": "identity.ers.ise.cisco.com",
            },
        )
        parent = SubElement(root, "ns4:resourcesList")

        child = SubElement(parent, "ns4:endpoint",
                           {"description": "My Description"})
        mac = SubElement(child, "mac")
        mac.text = "00:00:00:00:00:00"

        # mdmAttributes = SubElement(child, "mdmAttributes")
        # mdmComplianceStatus = SubElement(mdmAttributes, "mdmComplianceStatus")
        # mdmEncrypted = SubElement(mdmAttributes, "mdmEncrypted")
        # mdmEnrolled = SubElement(mdmAttributes, "mdmEnrolled")
        # mdmIMEI = SubElement(mdmAttributes, "mdmIMEI")
        # mdmJailBroken = SubElement(mdmAttributes, "mdmJailBroken")
        # mdmManufacturer = SubElement(mdmAttributes, "mdmManufacturer")
        # mdmModel = SubElement(mdmAttributes, "mdmModel")
        # mdmOS = SubElement(mdmAttributes, "mdmOS")
        # mdmPhoneNumber = SubElement(mdmAttributes, "mdmPhoneNumber")
        # mdmPinLock = SubElement(mdmAttributes, "mdmPinLock")
        # mdmReachable = SubElement(mdmAttributes, "mdmReachable")
        # mdmSerial = SubElement(mdmAttributes, "mdmSerial")

        portalUser = SubElement(child, "portalUser")
        portalUser.text = "MyPortalUser"
        profileId = SubElement(child, "profileId")
        staticGroupAssignment = SubElement(child, "staticGroupAssignment")
        staticGroupAssignment.text = "false"
        staticProfileAssignment = SubElement(child, "staticProfileAssignment")
        staticProfileAssignment.text = "false"

        payload = ElementTree.tostring(root, method="html")
        print(payload)

        url = f"{self.base_url}"
        response = HttpMethods(self, url).request(
            "PUT",
            self.user,
            self.password,
            payload,
            headers={"Content-Type": "application/xml"},
        )
        return response
Exemplo n.º 4
0
    def __call__(self):
        faultstring = self.request['faultexc'].__class__.__name__
        self.request.response.setStatus('InternalServerError', reason=faultstring)

        faultcode = 'Server'
        fault = make_soap_fault(faultstring, faultcode, detail=None)

        self.request.response.setHeader('Content-Type', 'text/xml')
        return ElementTree.tostring(fault, encoding=string_encoding)
Exemplo n.º 5
0
 def prettify(self, elem):
     """Parse xml elements for pretty printing"""
     
     from xml.etree import ElementTree
     from re import sub
     
     rawString = ElementTree.tostring(elem, 'utf-8')
     parsedString = sub(r'(?=<[^/].*>)', '\n', rawString)  # Adds newline after each closing tag
     
     return parsedString[1:]
Exemplo n.º 6
0
    def __call__(self):
        faultstring = self.request['faultexc'].__class__.__name__
        self.request.response.setStatus('InternalServerError',
                                        reason=faultstring)

        faultcode = 'Server'
        fault = make_soap_fault(faultstring, faultcode, detail=None)

        self.request.response.setHeader('Content-Type', 'text/xml')
        return ElementTree.tostring(fault, encoding=string_encoding)
Exemplo n.º 7
0
    def dict2xml(data):
        """dict to xml

        @:param data: Dictionary
        @:return: string
        """
        # return as_text( xmltodict.unparse({'xml': data_dict}, pretty=True) )
        root = ElementTree.Element('xml')
        for k in data:
            v = data[k]
            child = ElementTree.SubElement(root, k)
            child.text = str(v)
        return as_text(ElementTree.tostring(root, encoding='utf-8'))
Exemplo n.º 8
0
def save_game(world):  #press q to load
    """this will read in the model.world dictionary and save each block to an xml file to be loaded from in the future"""
    u = 0
    BLOCKWORLD = Element("BLOCKWORLD")
    for key in world:
        coords = get_texture(world[key])
        BLOCK = SubElement(BLOCKWORLD,
                           'BLOCK' + str(u),
                           X=str(key[0]),
                           Y=str(key[1]),
                           Z=str(key[2]),
                           AX=str(coords[0]),
                           AY=str(coords[1]),
                           BX=str(coords[2]),
                           BY=str(coords[3]),
                           CX=str(coords[4]),
                           CY=str(coords[5]))
    f = open("savedworld.xml", 'w')
    f.write('<?xml version="1.0"?>')
    f.write(ElementTree.tostring(BLOCKWORLD))
    f.close()
Exemplo n.º 9
0
 def __str__(self):
     return ET.tostring(root_node)
def formatXML(elem):
  rough_string = ElementTree.tostring(elem, 'utf-8')
  reparsed = minidom.parseString(rough_string)
  return reparsed.toprettyxml(indent="  ")
Exemplo n.º 11
0
def prettify(elem):
    """Return a pretty-printed XML string for the Element.
    """
    rough_string = ElementTree.tostring(elem, 'unicode')
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent="\t")
Exemplo n.º 12
0
 def __str__(self):
     return ET.tostring(root_node)
Exemplo n.º 13
0
def prettify(data):
    rough_string = ElementTree.tostring(data, 'utf-8')
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent="    ")
Exemplo n.º 14
0
def prettify(elem):
    """Return a pretty-printed XML string for the Element.
    """
    rough_string = ElementTree.tostring(elem, 'utf-8')
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent="  ")
Exemplo n.º 15
0
 def export_orders(self, request, last_update=None):
     root = Element(u'КоммерческаяИнформация')
     root.set(u'ВерсияСхемы', '2.05')
     root.set(u'ДатаФормирования', datetime.now())
 
     orders = Order.object.filter(state_changed__gt=last_update)
 
     for order in orders:
         xml_order = SubElement(root, u'Документ')
 
         SubElement(xml_order, u'Ид').text = str(order.id)
         SubElement(xml_order, u'Номер').text = str(order.number)
 
         SubElement(xml_order, u'Дата').text = str(order.created.date())
         SubElement(xml_order, u'Время').text = str(order.created.time())
 
         SubElement(xml_order, u'ХозОперация').text = u'Заказ товара'
         SubElement(xml_order, u'Роль').text = u'Продавец'
 
         SubElement(xml_order, u'Курс').text = '1'
         SubElement(xml_order, u'Сумма').text = order.price
 
         SubElement(xml_order, u'Комментарий').text = order.comment
 
         contragents = SubElement(xml_order, u'Контрагенты')
         customer = SubElement(contragents, u'Контрагент')
         SubElement(customer, u'Ид').text = order.get_customer().id
         SubElement(customer, u'Наименование').text = order.name
         SubElement(customer, u'ПолноеНаименование').text = order.fullname
         SubElement(customer, u'Роль').text = u'Покупатель'
 
         addr = SubElement(customer, u'АдресРегистрации')
         SubElement(addr, u'Представление').text = order.shipping_address()
         addr_field = SubElement(addr, u'АдресноеПоле')
         SubElement(addr_field, u'Тип').text = u'Страна'
         SubElement(addr_field, u'Значение').text = shop.country
         addr_field = SubElement(addr, u'АдресноеПоле')
         SubElement(addr_field, u'Тип').text = u'Регион'
         SubElement(addr_field, u'Значение').text = order.shipping_address()
 
         contacts = SubElement(customer, u'Контакты')
         contact = SubElement(contacts, u'Контакт')
         SubElement(contact, u'Тип').text = u'Телефон'
         SubElement(contact, u'Значение').text = order.shipping_phone
         contact = SubElement(contacts, u'Контакт')
         SubElement(contact, u'Тип').text = u'Почта'
         SubElement(contact, u'Значение').text = order.shipping_email
 
         xml_orderitems = SubElement(xml_order, u'Товары')
         for orderitem in order.items():
             product = orderitem.product
             try:
                 external_id = product.external_id
             except AttributeError:
                 external_id = orderitem.product_id
 
             xml_product = SubElement(xml_orderitems, u'Товар')
             SubElement(xml_product, u'Ид').text = external_id
             SubElement(xml_product, u'Артикул').text = product.sku
             SubElement(xml_product, u'Наименование').text = orderitem.product_name
             price = orderitem.get_price_with_discount()
             SubElement(xml_product, u'ЦенаЗаЕдиницу').text = price
             SubElement(xml_product, u'Количество').text = orderitem.product_amount
             SubElement(xml_product, u'Cумма').text = price * orderitem.product_amount
 
             xml_discounts = SubElement(xml_product, u'Скидки')
             xml_discount = SubElement(xml_discounts, u'Скидка')
 
             SubElement(xml_discount, u'Cумма').text = order.discount_price
             SubElement(xml_discount, u'УчтеноВСумме').text = "true"
 
             xml_props = SubElement(xml_product, u'ЗначенияРеквизитов')
             xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
             SubElement(xml_prop, u'Наименование').text = u'ВидНоменклатуры'
             SubElement(xml_prop, u'Значение').text = u'Товар'
             xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
             SubElement(xml_prop, u'Наименование').text = u'ТипНоменклатуры'
             SubElement(xml_prop, u'Значение').text = u'Товар'
 
         if order.shipping_price > 0:
             xml_product = SubElement(xml_orderitems, u'Товар')
             SubElement(xml_product, u'Ид').text = order.shipping_method_id
             SubElement(xml_product, u'Артикул').text = order.shipping_method.sku
             SubElement(xml_product, u'Наименование').text = order.shipping_method.sku
             price = order.shipping_price
             SubElement(xml_product, u'ЦенаЗаЕдиницу').text = price
             SubElement(xml_product, u'Количество').text = 1
             SubElement(xml_product, u'Cумма').text = price
 
             xml_props = SubElement(xml_product, u'ЗначенияРеквизитов')
             xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
             SubElement(xml_prop, u'Наименование').text = u'ВидНоменклатуры'
             SubElement(xml_prop, u'Значение').text = u'Услуга'
             xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
             SubElement(xml_prop, u'Наименование').text = u'ТипНоменклатуры'
             SubElement(xml_prop, u'Значение').text = u'Услуга'
 
         if order.payment_price > 0:
             xml_product = SubElement(xml_orderitems, u'Товар')
             SubElement(xml_product, u'Ид').text = order.payment_method_id
             SubElement(xml_product, u'Артикул').text = order.payment_method.sku
             SubElement(xml_product, u'Наименование').text = order.payment_method.sku
             price = order.payment_price
             SubElement(xml_product, u'ЦенаЗаЕдиницу').text = price
             SubElement(xml_product, u'Количество').text = 1
             SubElement(xml_product, u'Cумма').text = price
 
             xml_props = SubElement(xml_product, u'ЗначенияРеквизитов')
             xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
             SubElement(xml_prop, u'Наименование').text = u'ВидНоменклатуры'
             SubElement(xml_prop, u'Значение').text = u'Услуга'
             xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
             SubElement(xml_prop, u'Наименование').text = u'ТипНоменклатуры'
             SubElement(xml_prop, u'Значение').text = u'Услуга'
 
         xml_props = SubElement(xml_order, u'ЗначенияРеквизитов')
         xml_prop = SubElement(xml_props, u'ЗначениеРеквизита')
         if order.state == 1:
             SubElement(xml_prop, u'Наименование').text = u'Статус заказа'
             SubElement(xml_prop, u'Значение').text = u'[N] Принят'
         elif order.state == 2:
             SubElement(xml_prop, u'Наименование').text = u'Статус заказа'
             SubElement(xml_prop, u'Значение').text = u'[F] Доставлен'
         elif order.state == 3:
             SubElement(xml_prop, u'Наименование').text = u'Отменен'
             SubElement(xml_prop, u'Значение').text = u'true'
 
     # Needed BOM ?
     return ('<?xml version="1.0" encoding="utf-8"?>\n'
             '%s' % ElementTree.tostring(root, encoding='utf8'))