Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.2 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Libraries

    pyjon.events 1.1.1

    Download button

    No screenshots available
    Downloads: 166  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Jonathan Schemoul | More programs
    MIT/X Consortium Lic... / FREE
    December 23rd, 2010, 11:44 GMT
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    pyjon.events description

    An easy-to-use event dispatcher

    pyjon.events is an easy-to-use event dispatcher library for your objects : Just add it to any of your class, and you can add event listeners and dispatch events.

    You can define arguments passed to your listener when you add it. You can also define argument passed to the listener when emiting an event.

    Example

    For our example, we will define a person class. Just import the module, and add it to your class:

    from pyjon.events import EventDispatcher

    class Person(object):
     __metaclass__ = EventDispatcher

     def __init__(self, name):
     # just a sample initialization, you can do whatever you want, of course.
     self.name = name

     def run(self, meters=1):
     print "I'm running for %d meters !" % meters
     self.emit_event('ran', meters)
     self.emit_event('moved', meters=meters)

     def walk(self, meters=1):
     print "I'm walking for %d meters !" % meters
     self.emit_event('walked', meters)
     self.emit_event('moved', meters=meters)

     def sleep(self):
     print "sleeping..."
     self.emit_event('sleeping')
     time.sleep(5)
     self.emit_event('sleeped')
     print "Wow... had a good night !"


    Now, let's instanciate our class and subscribe to events:

    >>> henry = Person('henry')

    >>> def handle_movement(meters=None):
    ... print "he moved for %d meters" % meters

    >>> def handle_person_movement(who, meters=None):
    ... print "%s moved for %d meters" % (who, meters)

    >>> henry.add_listener('moved', handle_movement)

    >>> henry.add_listener('moved', handle_person_movement, "henry")

    >>> henry.walk(5)
    I'm walking for 5 meters !
    he moved for 5 meters
    henry moved for 5 meters

    >>> def handle_advanced_movement(meters, who, movement_type):
    ... print "%s %s for %d meters" % (who, movement_type, meters)

    >>> henry.add_listener('walked', handle_advanced_movement, "henry", "walked")

    >>> henry.add_listener('ran', handle_advanced_movement, "henry", "ran")

    >>> henry.walk(5)
    I'm walking for 5 meters !
    henry walked for 5 meters
    he moved for 5 meters
    henry moved for 5 meters

    >>> henry.run(5)
    I'm running for 5 meters !
    henry ran for 5 meters
    he moved for 5 meters
    henry moved for 5 meters


    That's simple isn't it ?


    Product's homepage

    Requirements:

    · Python

      


    TAGS:

    event dispatcher | Python library | event | dispatcher | library

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM