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 »
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to