Wednesday, 2010-05-12

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** jmtan has joined #tp00:00
*** tote has quit IRC00:11
*** jmtan has quit IRC00:14
*** tote has joined #tp00:51
*** nash has joined #tp01:19
*** jnengland77 has joined #tp01:58
*** jnengland77 has left #tp01:58
*** Erroneous has quit IRC03:22
*** tansell-laptop has joined #tp04:56
*** mithro has joined #tp04:57
* llnz wanders off05:27
llnzlater all05:27
*** llnz has quit IRC05:28
*** tansell has quit IRC05:28
*** tansell has joined #tp05:29
*** bisc has joined #tp06:07
biscmithro: hi. I have a couple of patches. can you tell me how to use review tool? tried to add git repository there, but failed.06:31
tansellbisc, you need to use git-cl - http://neugierig.org/software/git/?r=git-cl06:35
tpbTitle: git-cl - git command for managing changelists with rietveld (at neugierig.org)06:35
tanselland you want to upload to codereview.mithis.com06:36
tansellmake sense?06:42
bisctansell: yes, I understand. but I can't create repository at codereview.mithis.com. It asks for URL, and git://git.thousandparsec.net/git/tpclient-pywx is not valid for him06:48
tansell-laptop?06:57
tansell-laptopyour using the git-cl command to upload the cl right?06:57
tansell-laptops/cl/patch/06:58
biscI'm not uploading anything yet, just creating a repo, linked with my account.06:59
biscwon't simple git diff do? it's tricky for me to access the computer with working copy right now07:01
tansellbisc, why?07:06
bisccurrently on work, here's proxy which doesn't want to allow my laptop to internet, so I can't install git-cl..07:09
biscwill be fixing it sooner or later, but not today07:09
biscstill, had some questions to you.07:09
biscwill apload patches this evening.07:10
biscfirst, I saw somewhere how to disable splash without changing code.07:10
bisccan you tell me how?07:11
tansellbisc, in the tpclient-pywx directory touch a file called "NOSPLASHMOVIE"07:12
bisctansell: ok. then, I've noticed that UI strings are preprocessed like _("foo"). is that some kind of unicode support? couldn't google it07:15
tansellit's gettext for translation07:16
bisctansell: and how does it work? where does it look for translation?07:17
tansellin the locale directory there is a script which generates a tpclient-pywx.pot file07:18
tansellthis can be then loaded into standard translation tools07:18
tansellbisc, interested in doing a translation?07:23
biscI see. then, before some methods there is @ with name of subclasses method (or subclass itself). like @freeze_wrapper. couldn't find such things in python references. what's it for?07:23
bisctansell: well, maybe, if everything is good with coding tasks07:24
biscI still don't find myself confident enough with main part of work to do :)07:24
tansellbisc, it is a bit daunting at first07:27
CIA-29mithro tpclient-pywx-stable * r329bbe426685 / (3 files in 2 dirs): Updating the translation file.07:30
tansellthat file was pretty out-of-date :)07:30
CIA-29mithro tpclient-pywx-tp04 * rb29dfd4ff612 / (3 files in 2 dirs): Updating the translation file.07:32
tansellbisc, http://www.poedit.net/screenshots.php07:34
tpbTitle: Poedit: Screenshots (at www.poedit.net)07:34
tansellthats a tool you can use to do the translation07:34
tansellhttp://en.wikipedia.org/wiki/GNU_gettext07:35
tpbTitle: GNU gettext - Wikipedia, the free encyclopedia (at en.wikipedia.org)07:35
tansellbisc, if the patches are relatively simple - you could just upload them manually07:36
tansellhttp://codereview.mithis.com/new07:37
tpbTitle: Google Accounts (at codereview.mithis.com)07:37
biscthis review tool doesn't accept just some text - it always checks format of diff. and now says     "Patch set contains no recognizable patches"07:40
biscyeah, patches are not very complex. one adds legible error messages, another - names for mainwindow's panels.07:43
biscstill, my question about @-marks before methods remains.07:45
tansell-laptop@functions are called decorators07:51
tanselldo a search for "python decorators"07:54
tanselldef freeze_wrapper(func, self, *args, **kw):07:55
tansell"""07:55
tansellThis decorator calls Freeze before calling the function, and then thaw after.07:55
tansell"""07:55
bisctansell: yeah, I've googled. an interesting feature. don't understand why they don't mention it in python manuals.07:56
tansellthey do07:56
biscfor example, context search for @ in "dive into python" gave me nothing on decorators :(07:57
biscok, thank you for explaining07:57
biscone more thing: in tpclient-pywx, GUI class there is handler OnNetworkFailure. I can't find where the NetworkFailureEvent is binded to it. searched full-text in whole tpclient, found something only in winAccount, but that's another code and event handler.07:59
*** cahirwpz has joined #tp08:01
cahirwpzhi all08:02
bisccahirwpz: hello08:04
cahirwpzmithro: ping08:12
*** Epyon has joined #tp08:16
tansell-laptopcahirwpz, pong08:16
Epyonmithro: ping :)08:16
tansell-laptopEpyon, pong08:16
tansell-laptopEpyon, been meaning to poke you08:17
tansell-laptopbisc, the NetworkFailure event comes from libtpclient-py08:17
tansell-laptopbisc, the decorators are mostly described in ./extra/decorators.py08:20
tansell-laptopbisc, ping?08:26
bisctansell-laptop: yes, I saw where these event classes are declared. I don't understand how they are associated in handler from file "tpclient-pywx"08:26
bisc*associated with08:27
tansell-laptop?08:29
tansell-laptopwhat do you mean08:29
bisctansell-laptop: I mean when the event of failure is posted to event queue, how it is determined which function should take it?08:30
tansell-laptopoh, via the name08:33
tansell-laptopOn<event name>08:33
bisctansell-laptop: hm. is that automatic feature of wxPython, or there is a special script in tpclient?08:34
tansell-laptopit's part of the event dispatch in libtpclient-py08:35
tansell-laptopwxPython needs explicit bindings08:35
tansell-laptopself.Servers.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnServerSelect)08:36
bisctansell-laptop: so, to add a new event and a new handler, I just add an event class, then somewhere post it to appropriate queue, and define a handler with corresponding name? no need to fix other code?08:37
tansell-laptopbisc, mostly08:39
tansell-laptopif it's a wxPython event you also need to bind things together08:39
bisctansell-laptop: ok. I've also commited two bugs of winConnect to bugtracker. will get to them later, when I understand wxpython event loop and threading better.08:45
tansell-laptopbisc, you mean you have attached patches to the bug tracker?08:47
tansell-laptopbisc, can you link me please?08:47
cahirwpzmithro: question about mDNS support in tpserver-py - should I develop standalone mDNS server integrated into the server or use avahi if it's installed and running08:54
cahirwpzmithro, registering new services within avahi is fairly easy08:56
tansell-laptopcahirwpz, both I think08:56
tansell-laptopthere is no avahi under Windows or Mac08:57
cahirwpzimplementing my own mDNS server isn't, but fortunately Twisted supports multicast UDP and twisted.names is an implementation of DNS protocol08:57
bisctansell-laptop: no, these are *other* bugs, just not to forget them. I will send my patches to review in 12 hours.08:57
bischttp://code.google.com/p/thousandparsec/issues/detail?id=9808:57
tpb<http://ln-s.net/6ZWT> (at code.google.com)08:57
bischttp://code.google.com/p/thousandparsec/issues/detail?id=9908:57
tpb<http://ln-s.net/6ZWU> (at code.google.com)08:57
cahirwpzmithro, yaeh - but there might be alternative mDNS server running on MacOS (Bonjour) or Windows (?)08:58
cahirwpzmithro, and mDNS server should bind to 5353 UDP port08:58
cahirwpzmithro: the other method is to switch tpclient and tpserver to other UDP port08:59
tansell-laptopI'll be back in an hour probably08:59
tansell-laptopdinner time now09:00
tansell-laptopcahirwpz, because it's multicast you can use multibind09:00
tansell-laptop(IE multiple applications can bind to the same port)09:00
*** nash has quit IRC09:00
cahirwpznever heard of that - I need to read man pages...09:01
*** StupidIncarnate has joined #tp09:02
*** StupidIncarnate has quit IRC09:36
tansellcahirwpz, see the pyzeroconf implimentation in libtpproto-py09:40
tansellanyway I'm going to head home...09:42
*** mithro has quit IRC09:48
*** mithro has joined #tp10:10
mithrobisc: so where are you up too?10:14
cahirwpzmithro, if multiple UDP listeners can be bound to single port - then me may ignore native platform server and just use our implementation, can't we ?10:17
cahirwpzmithro, why to bother with avahi / bonjour / whatever ?10:18
mithrocahirwpz: yes - but supporting avahi is also a good idea10:18
cahirwpzmithro, what for ?10:18
cahirwpzmithro, it will only cost us additional dependancy10:19
mithropyZeroConf has never been reliable10:19
biscmithro: just got to messages panel, found out how to place text on panel's header. my ubuntu died when updating and I spent some restoring it. I want to work with filtering window, because now it's awful working and looking.10:19
cahirwpzmithro, I was not talking about pyZeroConf - I know it's crappy - I was talking about twisted.names ;-)10:19
cahirwpzmithro, I want to port *all* network stuff to twisted10:20
mithroahavhi, bonjour where mainly for the client side10:21
biscmithro: I have a strange question. why "implimentation" instead on "implementation"? some kind of slang?10:22
mithrobisc: probably because I can't spell :P10:22
cahirwpzumm... I thought that you use avahi to register service TP-server (SRV entry), so that avahi server can point IP where TP-server is installed in local network10:23
biscmithro: so I'm free to fix it in code? :)10:23
mithrocahirwpz: avahi is also used to discover the servers10:24
cahirwpzmithro, in TP clients - yes10:24
cahirwpzmithro, I think we can happily ignore other mDNS servers when running tpserver-py and just provide our own implementation10:25
mithrocahirwpz: I would still like to support avahi as it's the "proper" way when it exists10:27
cahirwpzmithro, should we then support in tpserver-py every existing implementation of mDNS server / API and look for it during startup?10:29
mithroI care mostly about Linux10:30
biscmithro: can you please try to reproduce the bugs, reported by me to google code? I have suspicions that they can occur because of gnome window management, not tpclient flaw.10:32
mithroURL?10:32
biscsent you previously, http://code.google.com/p/thousandparsec/issues/detail?id=98 and http://code.google.com/p/thousandparsec/issues/detail?id=9910:33
tpb<http://ln-s.net/6ZWT> (at code.google.com)10:33
mithro98 works for me10:35
mithrobisc: you should mention the branch and version in the bug report10:35
biscmithro: you mean program is behaving right or that bugs is successfully reproduced?10:35
mithrobisc: the program works correctly10:36
biscmithro: what's your window manager?10:37
mithrometacity10:37
biscmithro: that's kind of strange. and distro?10:40
mithroubuntu jaunty10:40
biscmithro: haven't noticed such bugs on kubuntu jaunty. now switched to ubuntu lucid and they occur.10:42
cahirwpzmithro, ok... let it be your way - I suppose there won't be any interference between avahi and twisted - although I'm still not convinced and don't like idea of using avahi if we're going to implement platform-independent mDNS server10:42
biscbisc: what about 99?10:42
cahirwpzmithro, so during startup the server will look for avahi - if not detected it will fall back to internal mDNS implementation? correct ?10:43
mithrocahirwpz: yes10:54
mithrobisc: nope, can't reproduce it10:56
cahirwpzmithro, ok... let move our discussion to built-in telnet / ssh server ;-)10:56
biscmithro: ok, thank you. will do something about them -- either debug and fix, or just close.10:57
cahirwpzmithro, why telnet / ssh and not HTTP server + web service ?10:57
mithrocahirwpz: I'm not sure what you are talking about :)10:57
cahirwpzmithro, I think we can integrate server management and download services10:57
cahirwpz#  Step 5 - Add support for an inbuilt http server - including authentication (to allow download of media and battle data etc)10:58
cahirwpz#  Step 7 - Add a ssh/telnet port that lets programs remotely manage the server (such as add/remove games, etc).10:58
mithrocahirwpz: I think step 7 can be replaced with "implement the admin protocol"10:59
*** matthewd has joined #tp10:59
cahirwpzyyyhhh... that's something you must be unfold :]10:59
mithrounfold?10:59
cahirwpzahh... copying improperly native words to english11:00
cahirwpzplease explain what do you mean by admin protocol11:00
cahirwpzI saw few admin commands in protocol specs11:01
cahirwpzI thought they're properly serviced by tpserver-py11:01
mithrocahirwpz: you'll have to chat to ezod about it for more details, he designed it for tpserver-cpp11:02
mithrohttp://www.thousandparsec.net/wiki/Tpserver-cpp/Admin11:02
tpb<http://ln-s.net/6ZZ1> (at www.thousandparsec.net)11:02
cahirwpzmithro, ahh... so in fact I'll only have to implement additional commands in libtpproto{,2}-py and handle them in tpserver-py, correct ?11:04
mithrocahirwpz: yeah - but I'm not sure we'll get to that one11:04
cahirwpzno fancy curses admin panel over SSH ?11:04
cahirwpz;-)11:05
mithrocahirwpz: so where are you up to in using libtpproto2-py?11:06
cahirwpzI think I'll skip using old libtpproto-py while porting tpserver-py to twisted11:08
cahirwpzI did not make any spectacular progress during last week, but I feel quite confident about libtpproto2-py11:10
cahirwpzmithro, ok - I'd like you to explain me in more details how do you understand following point:11:15
cahirwpz#  Step 5 - Add support for an inbuilt http server - including authentication (to allow download of media and battle data etc)11:16
cahirwpzwon't it interfere with TP protocol over HTTP ?11:16
biscbye all11:20
mithrocahirwpz: it shouldn't - TP protocol over HTTP requests a specific URL11:20
*** bisc has quit IRC11:20
cahirwpzmithro, I've noticed that in the documentation11:20
cahirwpzand I was curious...11:22
cahirwpzthe URL is changed every time we're making connection, in order to prevent HTTP proxy to cache session11:22
cahirwpzwouldn't the same thing be accomplished by adding proper "Cache:" header to the request ?11:23
cahirwpzok - exactly it'd be: "Cache-Control: no-cache"11:23
mithrocahirwpz: not all proxies (specially teleco proxies) obey that11:24
matthewdcahirwpz: General experience shows that you can't always trust proxies to do what they're told11:24
cahirwpzmatthewd, even if you explicitly tell them not to cache HTTP session ?11:25
mithrocahirwpz: we could change the protocol to always request under a specific URL section11:25
cahirwpzmatthewd, that's very unfortunate11:26
mithrocahirwpz: yeah11:26
cahirwpzmithro, something like... URL = "/game/blahblah1248fh3fb83" ?11:26
mithroyeah or /tunnel/123asdaewq1311:28
cahirwpz... I suppose this would solve our problem11:29
mithroSGTM11:29
cahirwpzok - what about authentication and content download ?11:30
mithrocahirwpz: what do you mean?11:30
mithroMedia and other content for Thousand Parsec is stored on HTTP Servers11:31
cahirwpzhow do you see it integrated with tpserver-py ?11:31
mithrowell, if tpserver-py has an inbuilt http server then it can serve that content itself11:32
mithrorather then rely on a third party module11:32
mithrocahirwpz: oh, I'm not sure if ezod did an xml definition for the admin protocol - if so libtpproto2-py could automatically load that11:34
cahirwpzwhat is exactly regarded as game contents (I cannot find anything like that on TP page in download section)?11:40
cahirwpzmithro, yep - we could merge it with protocol 411:40
mithrocahirwpz: media mainly11:41
mithrocahirwpz: also the battlexml descriptions11:51
cahirwpzwhere can I download it ?11:51
mithrodownload what?11:52
cahirwpzeverything you've mentioned - media, battle xml11:52
*** Landon has quit IRC11:53
*** Greywhind has quit IRC11:53
*** Landon has joined #tp11:54
cahirwpzmithro, ok - I understand now - media and battle xml are part of tpclient-pyogre for example11:56
mithrohttp://git.thousandparsec.net/gitweb/gitweb.cgi?p=battleviewer.git;a=blob;f=2d/BATTLEFORMAT11:56
tpb<http://ln-s.net/6Z_R> (at git.thousandparsec.net)11:56
cahirwpzmithro, you want it to be downloadable from remote server instead being integrated into client bundle, correct ?11:57
*** Greywhind has joined #tp11:57
mithrocahirwpz: you want to download the descriptions of each battle11:58
mithrocahirwpz: for tpclient-pywx tp04 branch you can see it downloads all the media11:58
mithrowell, bed time for me12:05
cahirwpzmithro, libtpclient-py/tp/client/media.py ?12:06
mithrocahirwpz: yeah12:07
cahirwpzok - I'll look into that12:07
mithrocahirwpz: don't forget to look at the tp04 branch12:08
cahirwpzyeah - just switched to it12:08
cahirwpzneeded to recall how to track remote branches12:08
*** tuna-fish has quit IRC12:19
*** tuna-fish has joined #tp12:31
*** jmtan has joined #tp13:08
*** cahirwpz has quit IRC13:22
*** Epyon has quit IRC14:10
*** jmtan has quit IRC14:28
*** jmtan has joined #tp14:34
*** mithro has quit IRC14:42
*** mithro has joined #tp14:59
*** jnengland77 has joined #tp16:46
*** mithro has quit IRC16:48
*** mithro has joined #tp17:07
*** tuna-fish has quit IRC18:05
*** jnengland77 has left #tp18:30
*** Epyon_ has joined #tp18:33
*** Erroneous has joined #tp18:59
*** bisc has joined #tp19:44
*** glew has joined #tp20:15
glewezod: hey20:22
*** llnz has joined #tp20:39
llnzmorning all20:44
*** bisc has quit IRC20:56
alanpglew: don't think he's around right now21:04
glewalanp: thanks, i'll try again later21:05
*** jnengland77 has joined #tp21:14
*** jnengland77 has left #tp21:14
*** Epyon_ has quit IRC22:13
ezodglew: sup23:15
glewezod: hey23:23
glewezod: you told me i have to set up git access to make sure there are no problems23:25
*** mithro has quit IRC23:36
ezodglew: yeah, has mithro set you up yet?23:43
ezodtansell: ping23:43
ezodglew: if you haven't already you'll need to send him your ssh public key23:44
glewezod: i haven't set that up with mithro yet, and how do i obtain my ssh public key23:57

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!