Help with Iupdater

Hello,
I’m trying to implement this code by DmitroSE in a project of mine
IUpdater by DmytroSE
The idea is:

  1. Create a detail shape of a rebar
    2.Link the detailed item family with the rebar shape family by a shared parameter
  2. Build updater which will update the shape of the detailed family when the link rebar shape geometry is changed.

So far the 1 and 2 are ready. For now i am testing the updater with a simple case. If a rebar geometry is changed, it’s mark should be 123213.It’s doesn’t work for me and I don’t know what i am doing wrong. Can someone help a bit.
Here is the code:

-- coding: UTF-8 --

import os
import os.path as op
from pyrevit import framework
from pyrevit import HOST_APP, DB
from pyrevit import script
from pyrevit.framework import AppDomain
import Autodesk
from Autodesk.Revit.UI import *
from Autodesk.Revit.DB import *
import System
from System import Guid
from pyrevit.coreutils import envvars

location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(file)))

UPDATER_TEST = ‘create_updater’
class MyUpdater(IUpdater):

def __init__(self, addin_id):
    '''type UpdaterId, mix of Addin ID and updater GUID
       choose a different GUID for each updater !!! '''
    self.updaterID = UpdaterId(addin_id,
        Guid("1997cb26-02ca-4196-a346-6d52c63f6770"))
    self.TaskDialog = TaskDialog

def GetUpdaterId(self):
    return self.updaterID

def GetUpdaterName(self):
    return 'MyUpdater'

def GetAdditionalInformation(self):
    return 'MyUpdater (explanation, details, warnings)'

def GetChangePriority(self):
    return ChangePriority.Structure

def Execute(self, UpdaterData):
    up_doc = UpdaterData.GetDocument()   #document
    uidoc = __revit__.ActiveUIDocument
    #elems = updaterData.GetAddedElementIds()
    elems = UpdaterData.GetModifiedElementIds()
    # use a subtransaction in the current opened transaction
    if script.get_envvar(UPDATER_TEST):

        t = SubTransaction(up_doc)
        t.Start()
        try:
            if elems:
                for h in elems:
                    el = up_doc.GetElement(h)
                    mark = el.GetParameters("Mark")
                    for i in mark:
                        i.Set("123213")
            t.Commit()
        except:
            t.RollBack()

app = revit.Application
def selfinit(script_cmp, ui_button_cmp, rvt):
my_updater = MyUpdater(app.ActiveAddInId)
if UpdaterRegistry.IsUpdaterRegistered(my_updater.GetUpdaterId()):
UpdaterRegistry.UnregisterUpdater(my_updater.GetUpdaterId())
UpdaterRegistry.RegisterUpdater(my_updater)
filter = ElementCategoryFilter(BuiltInCategory.OST_Rebar)
UpdaterRegistry.AddTrigger(my_updater.GetUpdaterId(),filter,
Element.GetChangeTypeGeometry())#GetChangeTypeElementAddition())

def togglestate():
new_state = not script.get_envvar(UPDATER_TEST)
script.set_envvar(UPDATER_TEST, new_state)
script.toggle_icon(new_state)

if name == ‘main’:
togglestate()