Pavel, Great ! I never got around to trying to take care of these issues so I'm glad you've done this. There's been a lot of development done on bpython since the last time we "spoke" - have you been keeping your branch up-to-date with these changes ?
If so, I think the best thing to do would be if you could come along to the IRC channel (#bpython on irc.freenode.net) and speak to myself, Trundle, Federico and ikanobori and we can discuss how best to proceed. Thanks, On Thu, Jun 04, 2009 at 12:27:09PM -0700, Pavel Panchekha wrote: > > BTW, if you download the latest oranj, install with setup.py, you can > try the oranj bpython-supporting module at > http://github.com/pavpanchekha/oranj-support/tree/master. Use the > setup.py to install it, and run > > $ bpython -l oranj > > On Jun 4, 2:34 pm, Pavel Panchekha <[email protected]> wrote: > > Well, I didn't think I should have, but I did... > > > > Just pushed a new revision of bpython to my branch, and this one is > > packaged properly! > > YAY! > > > > I'm working on getting my oranj language to package itself into > > bpython but that shouldn't be too hard. > > > > Also, I think that my bpython branch is mostly stable (might want to > > take a look first, of course) and thus mergable. > > > > On May 27, 8:23 am, Pavel Panchekha <[email protected]> wrote: > > > > > Great, thanks. I've just finished packaging oranj, and looking back I > > > think > > > it would definitely be better if I didn't mess with the packaging for > > > bpython :). > > > > > - Pavel Panchekha > > > > > On Wed, May 27, 2009 at 4:41 AM, Bob Farrell < > > > > > [email protected]> wrote: > > > > > > Hi Pavel, > > > > > > Good to hear from you again. :) > > > > > > I know very little about packaging - I believe nDuff (freenode IRC nick) > > > > did > > > > the packaging for me, though I could be mistaken - perhaps he would be > > > > the > > > > man > > > > to talk to ? I'll try to track him down and see if I can interest him in > > > > doing > > > > a little more work. > > > > > > I'll post here when I know more. > > > > > > On Tue, May 26, 2009 at 10:17:46AM -0700, Pavel Panchekha wrote: > > > > > > > I've tested it a bit, and I think its ready to be merged, AFTER > > > > > someone who knows packaging fixes the setup script. > > > > > > > First of all, it has to correctly copy the new languages package. > > > > > Second of all, it has to not place this in an egg file - other > > > > > languages will eventually be added, hopefully by a pure cp into the > > > > > bpython/languages/ directory. > > > > > > > On May 15, 5:54 am, Bob Farrell <[email protected]> > > > > > wrote: > > > > > > Okay, I'll probably take a look tonight and see if I can spot any > > > > problems - > > > > > > just let me know when you think it's ready to go upstream and we'll > > > > sort it > > > > > > out. > > > > > > > > On Thu, May 14, 2009 at 03:13:12PM -0700, Pavel Panchekha wrote: > > > > > > > > > Committed changes to my bpython fork. Likely, these changes can be > > > > > > > committed to upstream, but its probably better to test them. I > > > > suspect > > > > > > > that it may be best not to include oranj support for the main > > > > bpython, > > > > > > > but instead do the following: > > > > > > > > > Move the python.py file to a languages package within the bpython > > > > > > > folder > > > > > > > Add a command line switch -l which takes an argument, a language > > > > name, > > > > > > > and imports languages.xxx as language. Then, one could install > > > > > > > additional languages by dumping their files into that directory. > > > > > > > > > This would fix several problems associated with the current oranj > > > > > > > support (it requires oranj itself, which is currently hard to > > > > install) > > > > > > > and also means not distributing other modules such as OranjLexer. > > > > > > > > > I'll spend a bit more time looking for changes to make (I think > > > > > > > that > > > > > > > there are a few more things to language-agnostify), and then > > > > hopefully > > > > > > > prepare a nice patch / ask for commit privilages. > > > > > > > > > On May 13, 8:18 pm, Bob Farrell > > > > > > > <[email protected] > > > > > > > > > wrote: > > > > > > > > So, after a long time trying to get everything running (largely > > > > > > > > due > > > > to being > > > > > > > > distracted on IRC, granted), I managed to track down and fix the > > > > problems. > > > > > > > > > > Before I start, I'd like to say I'm really impressed with the > > > > > > > > work > > > > you've done > > > > > > > > - I nearly had a shit fit when I saw you'd gutted all of the > > > > attribute lookup > > > > > > > > stuff and wondered why on earth you were surprised it was not > > > > working, and then > > > > > > > > noticed the "python" module and dependency injection stuff > > > > > > > > you're > > > > doing. So, > > > > > > > > good work ! > > > > > > > > > > Now, here's why you weren't finding the problem: > > > > > > > > try: > > > > > > > > self.completer.complete(cw, 0) > > > > > > > > except Exception: > > > > > > > > # This sucks, but it's either that or list all the exceptions > > > > > > > > that > > > > could > > > > > > > > # possibly be raised here, so if anyone wants to do that, feel > > > > > > > > free > > > > to send me > > > > > > > > # a patch. XXX: Make sure you raise here if you're debugging the > > > > completion > > > > > > > > # stuff ! > > > > > > > > > > Unfortunately, given that all kinds of exceptions can occur > > > > > > > > during > > > > completion > > > > > > > > stuff (since we're letting the user execute code inside our > > > > program), a long > > > > > > > > time ago I resigned to just catching "Exception" and dealing > > > > > > > > with > > > > it - > > > > > > > > TypeError, ValueError, blah blah blah, can all be raised. So, > > > > unless you do a > > > > > > > > "raise" in that except block, anything that goes wrong in the > > > > completion stuff > > > > > > > > will be ignored and you won't see any legitimate bugs in the > > > > > > > > code. > > > > > > > > > > In this case, firstly the "types" module hadn't been imported in > > > > python.py, > > > > > > > > secondly "matches" doesn't get defined here if attr_lookup fails > > > > (this is > > > > > > > > technically a bug in my code): > > > > > > > > try: > > > > > > > > matches = attr_lookup(obj, expr, attr) > > > > > > > > finally: > > > > > > > > # Dark magic: > > > > > > > > if __getattribute__ is not None: > > > > > > > > setattr(type_, '__getattribute__', __getattribute__) > > > > > > > > if __getattr__ is not None: > > > > > > > > setattr(type_, '__getattr__', __getattr__) > > > > > > > > # /Dark magic > > > > > > > > return matches > > > > > > > > > > so that raises a NameError, and thridly, "expr" and "attr" > > > > > > > > weren't > > > > being passed > > > > > > > > in to get_obj_attrs, so they were undefined too. attr_matches > > > > > > > > now > > > > passes them > > > > > > > > in: > > > > > > > > > > def attr_matches(self, text): > > > > > > > > """Taken from rlcompleter.py and bent to my will.""" > > > > > > > > > > m = re.match(r"(\w+(\.\w+)*)\.(\w*)", text) > > > > > > > > if not m: > > > > > > > > return [] > > > > > > > > > > expr, attr = m.group(1, 3) > > > > > > > > obj = eval(expr, self.interp.locals) > > > > > > > > > > s = language.get_obj_attrs(obj, expr, attr) > > > > > > > > return s > > > > > > > > > > (Previously just did "language.get_obj_attrs(obj)"). > > > > > > > > > > Okay ! So, I've attached a patch; everything seems to work fine > > > > now; hopefully > > > > > > > > you'll be able to use what I've done to get it working with > > > > > > > > oranj - > > > > just make > > > > > > > > sure to raise that exception I mentioned ! > > > > > > > > > > Oh, and that "foo(" stuff in the completion list is pretty cool; > > > > looking > > > > > > > > forward to pulling that upstream. > > > > > > > > > > As far as I can tell everything's ready to go as-is as far as > > > > pulling changes > > > > > > > > upstream goes. Once we've got that done I'm happy to give you > > > > commit privs to > > > > > > > > the main bpython repo so you can push your changes there > > > > > > > > directly - > > > > you've done > > > > > > > > a great job on the language-agnostic front. Can you think of > > > > anything that's > > > > > > > > preventing me pulling upstream now ? I'll let you get back to me > > > > before I do > > > > > > > > anything. > > > > > > > > > > On Wed, May 13, 2009 at 12:01:12PM -0700, Pavel Panchekha wrote: > > > > > > > > > > > Committed new revision to oranj. Try to redownload it and > > > > > > > > > modify > > > > the > > > > > > > > > file src/objects/about.py to the installation path (or just > > > > > > > > > read > > > > the > > > > > > > > > INSTALL file). > > > > > > > > > > > I'll get a build script up and running for that at some point. > > > > > > > > > > > On May 13, 5:19 pm, Bob Farrell < > > > > [email protected]> > > > > > > > > > wrote: > > > > > > > > > > Been fighting for a while now to get this working but there > > > > > > > > > > are > > > > a some missing > > > > > > > > > > dependencies. > > > > > > > > > > > > I'm guessing this: > > > > > > > > > > http://code.activestate.com/recipes/475116/ > > > > > > > > > > is the "terminal" module. > > > > > > > > > > > > No idea what the "files" module is, but it's looking for > > > > > > > > > > that > > > > too, and I really > > > > > > > > > > need to get out of the office now. I might take a look at > > > > > > > > > > this > > > > later but > > > > > > > > > > ideally if you could get this working in a > > > > > > > > > > --no-site-packages > > > > virtualenv and > > > > > > > > > > list any dependencies on the bitbucket.org wiki (or include > > > > any extra deps in > > > > > > > > > > the distribution) that'd be great. > > > > > > > > > > > > Nice work, though - good to see you're taking the right > > > > approach with keeping > > > > > > > > > > bpython agnostic. Once we figure out what's up with the > > > > attribute lookup issue > > > > > > > > > > (which I can probably diagnose by just using bpython without > > > > the --oranj flag) > > > > > > > > > > I'll do some testing and then I see no problem pulling your > > > > changes upstream. > > > > > > > > > > > > On Wed, May 13, 2009 at 08:20:32AM -0700, Pavel Panchekha > > > > wrote: > > > > > > > > > > > > >http://bitbucket.org/pavpanchekha/bpython-oranj/ > > > > > > > > > > > > > Python is now a bit broken (no attr matching), oranj just > > > > > > > > > > > as > > > > good (use > > > > > > > > > > > --oranj command line flag). > > > > > > > > > > > > > Because I've yet to make a build system thing for oranj, > > > > > > > > > > > the > > > > following > > > > > > > > > > > directory tree is required: > > > > > > > > > > > > > oranj > > > > > > > > > > > - folder > > > > > > > > > > > - bpython > > > > > > > > > > > - src > > > > > > > > > > > - ... > > > > > > > > > > > > > folder can be called anything. > > > > > > > > > > > > > I should really fix that. > > > > > > > > > > > > > On May 13, 2:22 pm, Bob Farrell < > > > > [email protected]> > > > > > > > > > > > wrote: > > > > > > > > > > > > Well, there's some hideously dark magic that goes on > > > > > > > > > > > > with > > > > the autocompletion > > > > > > > > > > > > stuff which you might want to bypass. Feel free to send > > > > > > > > > > > > a > > > > patch over (or, > > > > > > > > > > > > ideally, if you can fork the bpython project on > > > > bitbucket.org so I > > > > ... > > > > read more » > > -- Bob Farrell --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "bpython" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/bpython?hl=en -~----------~----~----~----~------~----~------~--~---
