예제 #1
0
 def add_xml(self, doc, container_element):
     for m in self.members_type_dict:
         i_el = doc.createElement(m)
         container_element.appendChild(i_el)
         if m in self.__dict__:
             v = self.__dict__[m]
             if v is None:
                 continue
             t = self.members_type_dict[m]
             if phantom_is_primative(t):
                 txt_el = doc.createTextNode(str(v))
                 i_el.appendChild(txt_el)
             else:
                 v.add_xml(doc, i_el)
예제 #2
0
 def add_xml(self, doc, container_element):
     for l in self.type_list:
         member_el = doc.createElement('member')
         container_element.appendChild(member_el)
         if l is None:
             continue
         if phantom_is_primative(type(l)):
             txt_el = doc.createTextNode(str(l))
             member_el.appendChild(txt_el)
         else:
             #l_el = doc.createElement(l.name)
             #member_el.appendChild(l_el)
             #l.add_xml(doc, l_el)
             l.add_xml(doc, member_el)
예제 #3
0
 def add_xml(self, doc, container_element):
     for m in self.members_type_dict:
         i_el = doc.createElement(m)
         container_element.appendChild(i_el)
         if m in self.__dict__:
             v = self.__dict__[m]
             if v is None:
                 continue
             t = self.members_type_dict[m]
             if phantom_is_primative(t):
                 txt_el = doc.createTextNode(str(v))
                 i_el.appendChild(txt_el)
             else:
                 v.add_xml(doc, i_el)
예제 #4
0
 def add_xml(self, doc, container_element):
     for l in self.type_list:
         member_el = doc.createElement('member')
         container_element.appendChild(member_el)
         if l is None:
             continue
         if phantom_is_primative(type(l)):
             txt_el = doc.createTextNode(str(l))
             member_el.appendChild(txt_el)
         else:
             #l_el = doc.createElement(l.name)
             #member_el.appendChild(l_el)
             #l.add_xml(doc, l_el)
             l.add_xml(doc, member_el)
예제 #5
0
    def set_value(self, name, value):
        if name in self.optional_param_keys:
            t = self.optional_param_keys[name]
        elif name in self.needed_param_keys:
            t = self.needed_param_keys[name]
        elif name in self.optional_param_list_keys:
            raise PhantomAWSException("We cannot work with this type yet")
        elif name in self.needed_param_list_keys:
            raise PhantomAWSException("We cannot work with this type yet")
        else:
            raise PhantomAWSException("%s is not a known value name" % (name))

        if not phantom_is_primative(t):
            raise PhantomAWSException("We cannot work with this type yet")
        self.__setattr__(name, t(value))
예제 #6
0
    def _do_list_param(self, params, p, type_d):
        for pl in type_d.keys():
            ndx = p.find(pl)
            if ndx == 0:
                if phantom_is_primative(type_d[pl]):
                    val = self._get_value(p, params[p], type_d[pl])
                    if val:
                        if pl not in self.__dict__:
                            self.__dict__[pl] = []
                        self.__dict__[pl].append(val)
                else:
                    if pl not in self.__dict__:
                        self.__dict__[pl] = []
                    l = self.__dict__[pl]
                    member_info = p.split('.', 3)
                    member_ndx = int(member_info[2])
                    for i in range(len(l), int(member_ndx)):
                        l.append(type_d[pl]())

                    element = l[member_ndx-1]
                    value_name = member_info[3]
                    element.set_value(value_name, params[p])