How would I write this C code in Python?

2007-07-06 Thread DeveloperX
I am trying to figure out how to rewrite the following chunk of code
in Python:

C source
[code]
typedef struct PF
{
  int flags;
  long user;
  char*filename;
  unsigned char buffer[MAXBUFFERSIZE];
} PF;

typedef BLOCK
{
  PF * packdata;
} BLOCK;

BLOCK* blocks;
[/code]

My first idea was to create a class for PF and a class for BLOCK, but
I got lost somewhere along the lines. :\

Python Attempt: Please note that since I can't type TABs online
easily, I am using the @ character to represent TABs in the following
Python code.
[code]
class PF:
@def __init__(self):
@@self.flags, self.user = 0, 0
@@self.filename = ''
@@self.buffer = []

class BLOCK:
@def __init__(self):
@@self.packdata = []

blocks = []
[/code]

Any Python Gurus out there that can help me?

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


Re: How would I write this C code in Python?

2007-07-10 Thread DeveloperX
On Jul 10, 5:05 am, Bruno Desthuilliers  wrote:
> Mmm... We can't tell for sure since we have no use case, but I'm not
> sure that the OP wants an immutable object here.
>
> > or an `array.array`.
>
> or a StringIO.
>
> >  And is `BLOCK`
> > really just a structure with *one* member?  Looks a bit odd IMHO.
>
> +1
>
> 
> Unless you have behaviours attached to this type, you may as well just
> use lists.
> 
>
> And while we're at it, Python's conventions are that ALL_UPPER names
> denotes (pseudo) constants. For types, the conventions is to use
> CantRememberIfItsCamelOrMixedCaseButYouShouldGetTheIdeaByNow.
>
> HTH

I just used the same convention that the C code used in this post.
I write my python classes and functions in CamelCaps.

Not completely certain what to do at this point.

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