Exemplo n.º 1
0
#parsed

from pymoult.highlevel.updates import SafeRedefineUpdate, Update, isApplied
from pymoult.highlevel.listener import log
import sys

main = sys.modules["__main__"]


def func_v2():
    log(0, "v2")


class FailedAlterability(Update):
    def check_alterability(self):
        return main.func_v1 == func_v2

    def apply(self):
        pass


update1 = FailedAlterability(name="alterability")
update1.set_max_tries(3)
update2 = SafeRedefineUpdate(main, main.func_v1, func_v2, name="func")
main.manager.add_update(update1)
main.manager.add_update(update2)
Exemplo n.º 2
0
#parsed

from pymoult.highlevel.updates import SafeRedefineUpdate
from pymoult.highlevel.managers import ThreadedManager
import sys

main = sys.modules["__main__"]


def hello_v2():
    print("Hello Dave")


manager = ThreadedManager()
manager.start()
update = SafeRedefineUpdate(main, main.hello, hello_v2)

manager.add_update(update)
Exemplo n.º 3
0
def func_v2():
    staticUpdatePoint()
    log(0, "v2")


class FailedAlterability(Update):
    def preupdate_setup(self):
        setupWaitStaticPoints([main.thread])

    def wait_alterability(self):
        return waitStaticPoints([main.thread])

    def clean_failed_alterability(self):
        cleanFailedStaticPoints([main.thread])

    def apply(self):
        pass


update1 = FailedAlterability(name="alterability")
update2 = SafeRedefineUpdate(main,
                             main.func_v1,
                             func_v2,
                             name="func",
                             threads=[main.thread])
update1.set_max_tries(10)
update1.set_sleep_time(0.2)
main.manager.add_update(update1)
main.manager.add_update(update2)
Exemplo n.º 4
0
#parsed

from pymoult.highlevel.updates import SafeRedefineUpdate
import sys

main = sys.modules["__main__"]


def tic_v2():
    print("tic2")


def tac_v2():
    print("tac2")


update_tic = SafeRedefineUpdate(main, main.tic, tic_v2)
update_tac = SafeRedefineUpdate(main, main.tac, tac_v2)

main.manager.add_update(update_tic)
main.manager.add_update(update_tac)
Exemplo n.º 5
0
from pymoult.highlevel.managers import ThreadedManager
import sys

main = sys.modules["__main__"]


class Data_v2(object):
    def __init__(self, value, origin="localhost"):
        self.value = value
        self.origin = origin

    def __str__(self):
        return str(self.value) + " from " + str(self.origin)


def transformer(d):
    d.origin = "localhost"


def sum_v2(d1, d2):
    return Data_v2(d1.value + d2.value, d1.origin)


manager = ThreadedManager()
manager.start()
update1 = EagerConversionUpdate(main.Data, Data_v2, transformer, module=main)
update2 = SafeRedefineUpdate(main, main.sum, sum_v2)

manager.add_update(update1)
manager.add_update(update2)
Exemplo n.º 6
0
    main.shared_lock.release()


def interm_writer():
    main.shared_lock.acquire()
    if update:
        #code of write_shared2
        main.shared = [time.strftime("%H:%M:%S"), random.randint(0, 10)]
    else:
        #code of write_shared1
        main.shared = random.randint(0, 10)
    main.shared_lock.release()


update_reader1 = SafeRedefineUpdate(main,
                                    main.read_shared,
                                    interm_reader,
                                    name="update_reader1")
update_reader1.set_sleep_time(0.1)
update_writer1 = SafeRedefineUpdate(main,
                                    main.write_shared,
                                    interm_writer,
                                    name="update_writer1")
update_writer1.set_sleep_time(0.1)

main.manager.add_update(update_reader1)
main.manager.add_update(update_writer1)


class DataUpdate(Update):
    def check_requirements(self):
        if isApplied("update_reader1") and isApplied("update_writer1"):
Exemplo n.º 7
0
site_update = LazyConversionUpdate(main.Site,SiteV2,transformer_site,None)
account_update = LazyConversionUpdate(main.Account,AccountV2,transformer_account,None)
account_manager.add_update(account_update)
site_manager.add_update(site_update)

class ClassUpdate(Update):
    def wait_alterability(self):
        return True
    def apply(self):
        redefineClass(main,main.Site,SiteV2)
        redefineClass(main,main.Account,AccountV2)

clsupdate = ClassUpdate()
functions_manager.add_update(clsupdate)
    
do_command_update = SafeRedefineUpdate(main,main.do_command,do_commandV2)
functions_manager.add_update(do_command_update)
do_create_update = SafeRedefineUpdate(main,main.do_create,do_createV2)
functions_manager.add_update(do_create_update)
do_delete_update = SafeRedefineUpdate(main,main.do_delete,do_deleteV2)
functions_manager.add_update(do_delete_update)
do_show_update = SafeRedefineUpdate(main,main.do_show,do_showV2)
functions_manager.add_update(do_show_update)

class EmptyUpdate(Update):
    def wait_alterability(self):
        return True
    def apply(self):
        pass
    def cleanup(self):
        print("Update finished")