epydoc - can I provide multiple dirs to parse

2009-10-02 Thread Medi
Can I present multiple directories to epydoc to process. For example

epydoc -option -option -option dir_1 dir_2 dir_3

where dir_i is a directory containing some python src codes ?

I am currently running it on two directories with about 10M + 20 Meg
which takes a very long time (more than 40 minutes) and strace(1) is
showing mmap(2) ops back to backmight not be related but the
process gets wedged somewhere

Thanks
Medi
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: epydoc - can I provide multiple dirs to parse

2009-10-05 Thread Medi
On Oct 5, 2:09 am, Jean-Michel Pichavant 
wrote:
> Medi wrote:
> > Can I present multiple directories toepydocto process. For example
>
> >epydoc-option -option -option dir_1 dir_2 dir_3
>
> > where dir_i is a directory containing some python src codes ?
>
> > I am currently running it on two directories with about 10M + 20 Meg
> > which takes a very long time (more than 40 minutes) and strace(1) is
> > showing mmap(2) ops back to backmight not be related but the
> > process gets wedged somewhere
>
> > Thanks
> > Medi
>
> Here is an ugly python script we are using to build the doc.
>
> #!/usr/bin/python
> # coding: utf-8
>
> if __name__ == '__main__':
>         import sys
>         try :
>                 importepydoc
>         except ImportError:
>                 print "Error while importingepydoc"
>                 print "Make sure it is installed"
>         fromepydoc.cli import cli
>         modules = ['dir_1','dir_2','dir_3']
>         sys.argv = ["epydoc.py", "--html", "--no-frame", "--parse-only",
>                                         "--exclude=.*scripts.bug.*",
>                                         "--graph=all",
>                                         #"--no-sourcecode",
>                                         "--inheritance=grouped",
>                                         "-v",
>                                         "--output",
> "/home/labsys/public_html"
>                                         ] + sys.argv[1:]
>         sys.argv += modules
>         cli()

Looks like multiple dir should work...
Also, what does the author mean by --inheritance=STYLE where style =
{ grouped, listed, included } . The help text does not explain this
well.

-- 
http://mail.python.org/mailman/listinfo/python-list


Seeking a python code browser

2009-09-01 Thread Medi

Is there any recommendation for a python code browser (aka xref)
tool.
I am a Source Navigator user, but seems like its python support is
flaky. Unless you can help me with that...which is my preferred way.

Thanks
Medi
-- 
http://mail.python.org/mailman/listinfo/python-list


Tkinter help, please...

2007-05-24 Thread Medi Ochre
I've been away from Python for some time, and I'm just starting to look 
at Tkinter. Just so you know, I'm coming from Visual Basic, where this 
would, I *think*, not have been a problem, so it must be a case of 
getting my head around the Tkinter way of doing things.

In a nutshell, I've written an app wherein I wish to update the display 
often. What's happening is that I get *no* display until main() hits 
win.mainloop(). I've indicated the things I've tried (round about line 
180). At the risk of exposing myself, here's the whole thing.

If you have a thought, I'd sure appreciate it!

Nick.

from random import *
from Tkinter import *

'''
 Score the "good jack"
'''
def jack(h, f):
 hand = h[:]
 hand.remove(f)
 for card in hand:
 if card.rank == 10 and card.suit == f.suit:
 return 1
 return 0

'''
 Count and return 2 for each combination that adds up to 15
'''
def fifteen(h):
 if h[0].value() + h[1].value() + h[2].value() + h[3].value() + 
h[4].value() == 15:
 return 2
 # 4-card combos
 score = 0
 for a in range(0,2):
 for b in range(a+1,3):
 for c in range(b+1,4):
 for d in range(c+1,5):
 if h[a].value() + h[b].value() + h[c].value() + 
h[d].value() == 15:
 score += 2

 # 3-card combos
 for a in range(0,3):
 for b in range(a+1,4):
 for c in range(b+1,5):
 if h[a].value() + h[b].value() + h[c].value() == 15:
 score += 2

 # 2-card combos
 for a in range(0,4):
 for b in range(a+1,5):
 if h[a].value() + h[b].value() == 15:
 score += 2
 return score

'''
 Simplified flush rules:
 Try the 4 flush and 5 flush, give the best score.
'''
def flushes(h, f):
   # 5-flush
   suit = h[0].suit
   total = 0
   for card in h:
   if card.suit == suit:
   total += 1
   #end if
   #end for
   if total == 5: return 5

   # 4-flush
   hand = h[:]
   hand.remove(f)
   suit = hand[0].suit
   total = 0
   for card in hand:
   if card.suit == suit:
   total += 1
   if total == 4:
   return 4
   return 0

'''
 1 Point per card per run
'''
def runs(h):
 # Is there a 5-run?
 if h[0].rank == h[1].rank-1 and h[1].rank == h[2].rank-1 and \
h[2].rank == h[3].rank-1 and h[3].rank == h[4].rank-1 :
 return 5
 # Look for 4-runs:
 score = 0
 for a in range(0,2):
 for b in range(a+1,3):
 for c in range(b+1,4):
 for d in range(c+1,5):
 if h[a].rank == h[b].rank-1 and h[b].rank == 
h[c].rank-1 \
and h[c].rank == h[d].rank-1:
 score += 4
 if score != 0:
 return score

 #Look for 3-runs
 for a in range(0,3):
 for b in range(a+1,4):
 for c in range(b+1,5):
 if h[a].rank == h[b].rank-1 and h[b].rank == h[c].rank-1:
 score += 3
 return score

'''
 Two points per pair
'''
def pairs(h):

'''
 Tally me hand
'''
 score = 0
 for left in range(0,4):
 for right in range(left+1, 5):
 if h[left].rank == h[right].rank:
 score += 2
 return score

def tally(h, f):

 return  pairs(h) + runs(h) + flushes(h, f) + fifteen(h) + jack(h, f)


class Card:
 def __init__(self, r, s):
 self.rank = r
 self.suit = s

 def value(self):
 return min([self.rank+1, 10])

 def __repr__(self):
 s = "HSCD"[self.suit]
 r = "A23456789TJQK"[self.rank]
 return r+s

 __str__ = __repr__

class Deck:
 def __init__(self):
 self.deck = []
 for r in range(13):
 for s in range(4):
 self.deck.append(Card(r,s))
 shuffle(self.deck)
 #self.card = 0

 def deal(self):
 #self.card += 1
 if len(self.deck) == 2:
 self.deck = []
 for r in range(13):
 for s in range(4):
 self.deck.append(Card(r,s))
 shuffle(self.deck)
 return self.deck.pop()

class Cribbage:
 def __init__(self, win):

 #Draw the interface
 self.f = Frame(win)
 self.f.grid()
 self.cardpix = [Label(self.f), Label(self.f), Label(self.f), 
Label(self.f), Label(self.f)]
 clr = ["red", "blue"]
 n = 1
 for c in self.cardpix:
 c.configure(width=10, height=10, bg=clr[n%2], text="card 
"+str(n))
 c.grid(row=0, column=n-1)
 n += 1
 self.scorebox = Label(self.f)
 self.scorebox.configure(height=5, bg="green", text="Score: 0")
 self.scorebox.grid(row=1, column=0, columnspan=5)

 def play(self, win):
 d = Deck()
 hand = [d.deal(), d

Re: Tkinter help, please...

2007-05-24 Thread Medi Ochre
John McMonagle wrote:
> I've made a couple of minor changes to your code from the Cribbage class 
> down:
> 
> class Cribbage:
>  def __init__(self, win):
> 
...
>  score = run.play()
>  if score >= best: best = score
>  time.sleep(1)  <--- short sleep to see what's happening
>  win.mainloop()
> 
> main()
> 
> 
> 
> Regards,
> 
> John
Thank you, Mr. McMonagle!

-- 
Posted via a free Usenet account from http://www.teranews.com

-- 
http://mail.python.org/mailman/listinfo/python-list