def parse_gen_obj_attribute(self, gen_obj_attribute):
        """ Extract attributes from a gen_obj. """
        x = int(gen_obj_attribute.get('x') or 0)
        y = int(gen_obj_attribute.get('y') or 0)

        rotation = float(gen_obj_attribute.get('rotation'))
        try:
            flip = (gen_obj_attribute.get('flip').lower() == "true")
        except:
            flip = False

        layer = gen_obj_attribute.get('layer')

        gen_obj_attr = GenObjAttribute(x, y, rotation, flip, layer)

        for key, value in gen_obj_attribute.get('attributes').items():
            gen_obj_attr.add_attribute(key, value)

        return gen_obj_attr
    def parse_gen_obj_attribute(self, gen_obj_attribute):
        """ Extract attributes from a gen_obj. """
        x = int(gen_obj_attribute.get('x') or 0)
        y = int(gen_obj_attribute.get('y') or 0)

        rotation = float(gen_obj_attribute.get('rotation'))
        try:
            flip = (gen_obj_attribute.get('flip').lower() == "true")
        except:
            flip = False

        layer = gen_obj_attribute.get('layer')

        gen_obj_attr = GenObjAttribute(x, y, rotation, flip, layer)

        for key, value in gen_obj_attribute.get('attributes').items():
            gen_obj_attr.add_attribute(key, value)

        return gen_obj_attr
    def parse_gen_obj_attribute(self, gen_obj_attribute):
        """ Extract attributes from a gen_obj. """
        x = int(gen_obj_attribute.get("x") or 0)
        y = int(gen_obj_attribute.get("y") or 0)

        rotation = float(gen_obj_attribute.get("rotation"))
        try:
            flip = gen_obj_attribute.get("flip").lower() == "true"
        except:
            flip = False

        layer = gen_obj_attribute.get("layer")

        gen_obj_attr = GenObjAttribute(x, y, rotation, flip, layer)

        for key, value in gen_obj_attribute.get("attributes").items():
            gen_obj_attr.add_attribute(key, value)

        return gen_obj_attr