IRC Logs for #circuits Friday, 2014-04-04

ircnotifiera2a174b8f357 by prologic: Allow support for using .wait() to wait for a particular instnace of an event. Make .call() synchronously call and wait via this mechanism. Fixes Issue #9102:12
ircnotifierb70b3c5e74f9 by prologic: Simplify the condition used to wait for event instances. See Issue #9102:12
ircnotifierf1bd25d0a12a by prologic: Fixed a minor bug with reprhandler() where handler.channel might not exist04:58
ircnotifier25050f8764f1 by prologic: Fixed reprhandler properly. See f1bd25d0a12a04:58
ircnotifier0450d7b616b1 by prologic: Found the bug that was causing errors with reprhandler resulting in f1bd25d0a12a and 25050f8764f1. Problem was actually with processTask and the firing of the exception event. handler in this case is not known and should be None05:14
prologicAlthough argulely we could actually know what the event handler was in question05:15
prologicI might fix this - I’m pretty sure we track that information05:15
Ossooh!07:53
prologicHey Osso07:54
prologicdid you see those commits?07:54
Ossojust finished breajfast07:54
prologicahh07:55
prologicyeah well when you get a chance to review over the last few commits and PR(S)07:55
prologicbasically I've looked at the code again07:55
prologicIHMO there is no sensible way of knowing what the event handler is for an event that hasn't occured yet07:56
prologicso it makes no sense to attempt to capture and make this information part of the exception() event that's fired in processTask()07:56
OssoI don’t think you want to pass with a handler that hasn’t been called yet cause it certainly didn’t cause any error07:57
Ossodon’t we want the previous one ?07:57
prologicwell08:08
prologicwe could somehow try to populate the handler08:08
prologiconce the task is running08:08
prologicquestion is how (without consuming a lot of cpu time to figure this out)08:08
prologicthe dict we create to represent a task08:09
prologicI tend to think we should move this out into a class/object08:09
prologice.g: class Coroutine(object): ...08:09
prologicfor example08:09
prologiconce the respective event hits the dispatcher08:09
prologicwe'd have to hunt down the right Coroutine and update it's "handler" attribute (which at first would be None)08:10
prologicOsso, thoughts?08:30
*** Ossoleil has joined #circuits08:47
OssoleilI think https://bitbucket.org/circuits/circuits/commits/f1bd25d0a12ab3d72d9b1ce374757ea72c9cebe2 in this handler.channel can be None11:10
Ossoleiland then you want *11:10
Ossoleilah you already noticed the bug11:10
prologicyeap :)11:12
prologicran into it all this afternoon at work11:12
prologicthe actual problem was the handler=handler11:12
prologicin def processTask() in an except block11:12
prologichandler=handler was setting the handler in the handler decorator11:13
prologicif you look carefully at the processTask() function11:13
prologicthere is no local reference to handler11:13
Romsterdoes that make a infinity loop?11:16
Romsteris it best practice not to set a variable to itself exactly, but to copy it to a temporary variable if it needs to be changed.11:17
prologicRomster, no11:17
prologicthere are no variables in Python per say11:18
prologicwrt what we're talking about11:18
prologichandler=handler here11:18
Romsteronly lists dictionaries and tuples11:18
prologicis parameters to a class constructor11:18
prologicnamely exception() event class here11:18
prologicwhere handler is a keyword argument of the class's constructor11:18
prologicthe =handler reference is a reference (in this case) to the handler decorator defined in circuits.core.handlers.handler11:19
prologicit's correct to say references11:19
prologicor references to objects11:19
prologicthey're just names (also references) to objects in some scope11:19
Romsterobjects that have structs of data.11:20
Romsteri really ought to go over learning python again.11:20
Romsteri really would like to code more.11:21
Romsteri kinda did years ago then lost how it all worked, i remember making a funciton that rewrote it's function name due to a function name11:22
ircnotifier427b53438077 by prologic: Added docs for the Debugger core component11:24
OssoleilI think the proper fix would be to set the handler to the right value11:29
Ossoleilin line 681 the handler = parent11:29
Ossoleilin 701 it seems to be handler=value11:30
Ossoleiland 688 handler=value also11:30
Ossoleilmakes sense to you too ?11:30
prologicI think so11:31
prologicas long as parent actually is a reference to the handler in question11:31
prologiccan you quickly test this?11:31
prologicperhaps write a quick unit test with a call/wait task that fails immediately11:31
prologicand see if it's a reference to the handler for that task11:31
ircnotifier25c932db948d by prologic: Added User Manual docs for the Manager core class11:36
Ossoleilif I ever catch up with my tasks :D11:42
Ossoleila friend here is trying to make a minimal docker image12:55
Ossoleilwith http://buildroot.uclibc.org/12:56
Ossoleilthen installing stuff via pacman should work12:57
Ossoleiland then you can create an image with just the dependencies needed12:58
prologic*nods*12:59
prologicthere is already a buildroot image in the standard library12:59
prologicdocker pull buildroot12:59
prologicdocker run -i -t buildroot /bin/ash12:59
prologicdocker run -i -t buildroot /bin/bash12:59
prologicI also maintain several images myself similar to this:12:59
prologichttps://github.com/therealprologic/docker-upython13:00
prologichttps://github.com/therealprologic/docker-upythond13:00
Ossoleilyou forgot the t in buildroot in the readme13:01
prologicoh :)13:03
prologicbut yes13:04
prologicbuildroot is nice to base your app off13:04
prologicI was going to (probably still will for the upcoming CRUX 3.1 release) build a set of accompanying CRUX images and publish them to the Docker Public Registry13:05
prologicbasically take a stock-standard CRUX 3.113:05
prologicand strip it right back to the bare essentialys13:05
prologicand give the base image "enough" to install extra binary packages13:05
prologicso you can create truly tiny images for your apps based on this13:05
prologicbut with an otherwise fully fledged and capable distro and toolchain13:06
prologiclike a centos image without all the cruft13:06
Ossoleilmy friend wanted no tool chain13:09
Ossoleilinside docker13:09
Ossoleiland indeed it would be nice to have a script that generates an image with the packages you need13:10
prologicwell13:12
prologicI don't think you need a script13:12
prologicjust a carefully crafted base image13:12
prologicthat contains nothing but glibc13:12
prologicand a statically linked package manager13:12
ircnotifierfe18bb74d4a9 by prologic: Added docs for the Value core object and value_changed event. Closes Issue #7114:02
ircnotifier1e5713b2905f by prologic: Updated docs re value_changed event. See Issue #7114:02
ircnotifier40bfa9327949 by prologic: Mintor style improvements on the values user manual docs14:07
ircnotifier00d103cdfaeb by prologic: Documented how to integrate wsgi apps and callables into a circuits.web application14:21
ircnotifier8bb9d5f244b1 by prologic: Fixed typo14:21
ircnotifier854e3531a976 by prologic: Fixed typos and spelling errors14:37
ircnotifierb30a36c54e87 by prologic: Only return unique handlers and events of a component using the .handlers() and .events() class introspection methods. The circuits core takes care of this properly internally and there are no duplicate event handlers created when referening a private method in a class. Fixes Issue #8914:44
ircnotifier49dfd562a542 by prologic: Improved and documented implicit component registration. Fixes Issue #8815:11
ircnotifier4387c293c32e by prologic: Added an example of the graph() tool. Closes Issue #8715:34
ircnotifier749fafddf4a3 by prologic: Added instructions on how to install requried dependencies for tools.graph(). See Issue #8715:34
ircnotifier9484e32f3f60 by prologic: Removed references to non-existent ShiningPanda CI and circuits-dev repo and irc channel. Fixes Issue #8515:42
ircnotifier857700bd1f2d by prologic: Add Python 3.4 to the list of supported versions of Python15:52
*** Ossoleil has quit IRC17:11
*** Workster has quit IRC20:16
*** Workster has joined #circuits20:17

Generated by irclog2html.py 2.11.0 by Marius Gedminas - find it at mg.pov.lt!