Esempio n. 1
0
def muda_atributos(pol, mods_mem):
  global cache, nome_tb, letra_tb, colunas, diags

  assert pol != None and type(pol) is poltrona.Objeto_Poltrona
  erros = valida_atributos(pol, mods_mem)
  if len(erros) != 0: raise ErroAtrib(erros)

  objeto.muda_atributos(pol, mods_mem, cache, nome_tb, letra_tb, colunas, def_obj_mem)
  return
def muda_atributos(ses, mods_mem):
    global cache, nome_tb, letra_tb, colunas, diags

    erros = valida_atributos(ses, mods_mem)
    if len(erros) != 0: raise ErroAtrib(erros)

    objeto.muda_atributos(ses, mods_mem, cache, nome_tb, letra_tb, colunas,
                          def_obj_mem)
    return
def muda_atributos(cpr, mods_mem):
    global cache, nome_tb, letra_tb, colunas, diags
    assert cpr != None and type(cpr) is compra.Objeto_Compra

    erros = valida_atributos(cpr, mods_mem)
    if len(erros) != 0: raise ErroAtrib(erros)

    objeto.muda_atributos(cpr, mods_mem, cache, nome_tb, letra_tb, colunas,
                          def_obj_mem)
    return
def muda_atributos(usr, mods_mem):
    global cache, nome_tb, letra_tb, colunas, diags

    erros = valida_atributos(usr, mods_mem)
    if len(erros) != 0: raise ErroAtrib(erros)

    sys.stderr.write("\n")
    sys.stderr.write("usr antes = %s\n" % str(usr))
    sys.stderr.write("mods_mem = %s\n" % str(mods_mem))
    objeto.muda_atributos(usr, mods_mem, cache, nome_tb, letra_tb, colunas,
                          def_obj_mem)
    sys.stderr.write("usr depois = %s\n" % str(usr))
    sys.stderr.write("\n")
    return
obj2_atrs = {'coisa': 200, 'treco': 201, 'lhufas': "duzentos"}
obj2_ind = 2
obj2_id = ("X-%08d" % obj2_ind)
obj2 = testa_cria_objeto("obj2", obj2_id, obj2_atrs)

obj3_atrs = {'coisa': 300, 'treco': 301, 'lhufas': "trezentos"}
obj3_ind = 3
obj3_id = ("X-%08d" % obj3_ind)
obj3 = testa_cria_objeto("obj3", obj3_id, obj3_atrs)

# ----------------------------------------------------------------------
sys.stderr.write("testando {objeto.muda_atributos}:\n")

obj1_mods = {'coisa': 109, 'lhufas': "cento e nove"}
objeto.muda_atributos(obj1, obj1_mods, cache, nome_tb, letra_tb, colunas,
                      def_obj_mem)
obj1_atrs_m = obj1_atrs
for k, v in obj1_mods.items():
    obj1_atrs_m[k] = v
verifica_objeto("obj1_d", obj1, obj1_id, obj1_atrs_m)

objeto.muda_atributos(obj2, obj2_atrs, cache, nome_tb, letra_tb, colunas,
                      def_obj_mem)  # Não deveria mudar os atributos
verifica_objeto("obj2", obj2, obj2_id, obj2_atrs)

obj2_atrs_m = obj3_atrs.copy()
objeto.muda_atributos(obj2, obj2_atrs_m, cache, nome_tb, letra_tb, colunas,
                      def_obj_mem)  # Deveria assumir os valores do obj3
verifica_objeto("obj2_m", obj2, obj2_id, obj2_atrs_m)

# ----------------------------------------------------------------------