Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

python/rpmfts-py.c File Reference

More...

#include "system.h"
#include "Python.h"
#include "structmember.h"
#include <fts.h>
#include "rpmfts-py.h"
#include <rpmlib.h>
#include "debug.h"

Go to the source code of this file.

Class: Rpmfts

PyObject * rpmfts_Debug (rpmftsObject *s, PyObject *args)
PyObject * rpmfts_Open (rpmftsObject *s, PyObject *args)
PyObject * rpmfts_Read (rpmftsObject *s, PyObject *args)
PyObject * rpmfts_Children (rpmftsObject *s, PyObject *args)
PyObject * rpmfts_Close (rpmftsObject *s, PyObject *args)
PyObject * rpmfts_Set (rpmftsObject *s, PyObject *args)
PyObject * rpmfts_getattro (rpmftsObject *s, PyObject *n)
int rpmfts_setattro (rpmftsObject *s, PyObject *n, PyObject *v)
PyObject * rpmfts_iter (rpmftsObject *s)
PyObject * rpmfts_iternext (rpmftsObject *s)
void rpmfts_free (PyObject *s)
PyObject * rpmfts_alloc (PyTypeObject *type, int nitems)
void rpmfts_dealloc (rpmftsObject *s)
int rpmfts_init (rpmftsObject *s, PyObject *args, PyObject *kwds)
PyObject * rpmfts_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
int rpmfts_traverse (rpmftsObject *s, visitproc visit, void *arg)
int rpmfts_print (rpmftsObject *s, FILE *fp, int flags)
PyMethodDef rpmfts_methods []
PyMemberDef rpmfts_members []
char rpmfts_doc []
PyTypeObject rpmfts_Type

Defines

#define infoBit(_ix)   (1 << (((unsigned)(_ix)) & 0x1f))
#define RPMFTS_CLOSE   0
#define RPMFTS_OPEN   1
#define RPMFTS_OPEN_LAZY   2
#define CONSTANT(_v)   PyDict_SetItemString(s->md_dict, #_v, o=PyInt_FromLong(_v)); Py_DECREF(o)

Functions

const char * ftsInfoStr (int fts_info)
void rpmfts_debug (const char *msg, rpmftsObject *s)
int rpmfts_initialize (rpmftsObject *s, const char *root, int options, int ignore)
int rpmfts_state (rpmftsObject *s, int nactive)
PyObject * rpmfts_step (rpmftsObject *s)

Variables

int _rpmfts_debug = 1
const char * ftsInfoStrings []


Detailed Description

Definition in file rpmfts-py.c.


Define Documentation

#define CONSTANT _v       PyDict_SetItemString(s->md_dict, #_v, o=PyInt_FromLong(_v)); Py_DECREF(o)
 

#define infoBit _ix       (1 << (((unsigned)(_ix)) & 0x1f))
 

Definition at line 26 of file rpmfts-py.c.

Referenced by rpmfts_initialize(), and rpmfts_step().

#define RPMFTS_CLOSE   0
 

Definition at line 55 of file rpmfts-py.c.

Referenced by rpmfts_Close(), rpmfts_dealloc(), rpmfts_initialize(), rpmfts_iternext(), rpmfts_state(), and rpmfts_step().

#define RPMFTS_OPEN   1
 

Definition at line 56 of file rpmfts-py.c.

Referenced by rpmfts_Open(), and rpmfts_state().

#define RPMFTS_OPEN_LAZY   2
 

Definition at line 57 of file rpmfts-py.c.

Referenced by rpmfts_iternext(), rpmfts_state(), and rpmfts_step().


Function Documentation

const char* ftsInfoStr int    fts_info [static]
 

Definition at line 47 of file rpmfts-py.c.

References ftsInfoStrings.

PyObject* rpmfts_alloc PyTypeObject *    type,
int    nitems
[static]
 

Definition at line 349 of file rpmfts-py.c.

PyObject* rpmfts_Children rpmftsObject   s,
PyObject *    args
[static]
 

Definition at line 223 of file rpmfts-py.c.

References rpmftsObject_s::fts, Fts_children(), rpmftsObject_s::ftsp, and rpmfts_debug().

PyObject* rpmfts_Close rpmftsObject   s,
PyObject *    args
[static]
 

Definition at line 244 of file rpmfts-py.c.

References RPMFTS_CLOSE, rpmfts_debug(), and rpmfts_state().

void rpmfts_dealloc rpmftsObject   s [static]
 

Definition at line 355 of file rpmfts-py.c.

References _free(), rpmftsObject_s::callbacks, rpmftsObject_s::md_dict, rpmftsObject_s::roots, RPMFTS_CLOSE, rpmfts_debug(), and rpmfts_state().

PyObject* rpmfts_Debug rpmftsObject   s,
PyObject *    args
[static]
 

Definition at line 172 of file rpmfts-py.c.

References _rpmfts_debug.

void rpmfts_debug const char *    msg,
rpmftsObject   s
[static]
 

Definition at line 60 of file rpmfts-py.c.

References _rpmfts_debug, rpmftsObject_s::active, rpmftsObject_s::fts, and rpmftsObject_s::ftsp.

Referenced by rpmfts_Children(), rpmfts_Close(), rpmfts_dealloc(), rpmfts_getattro(), rpmfts_init(), rpmfts_new(), rpmfts_Open(), rpmfts_Read(), rpmfts_Set(), rpmfts_setattro(), rpmfts_state(), and rpmfts_step().

void rpmfts_free PyObject *    s [static]
 

Definition at line 343 of file rpmfts-py.c.

PyObject* rpmfts_getattro rpmftsObject   s,
PyObject *    n
[static]
 

Definition at line 305 of file rpmfts-py.c.

References rpmfts_debug().

int rpmfts_init rpmftsObject   s,
PyObject *    args,
PyObject *    kwds
[static]
 

Definition at line 377 of file rpmfts-py.c.

References rpmfts_debug(), and rpmfts_initialize().

int rpmfts_initialize rpmftsObject   s,
const char *    root,
int    options,
int    ignore
[static]
 

Definition at line 71 of file rpmfts-py.c.

References _free(), rpmftsObject_s::active, rpmftsObject_s::compare, rpmftsObject_s::fts, FTS_COMFOLLOW, FTS_DP, FTS_LOGICAL, FTS_NOSTAT, rpmftsObject_s::ftsp, rpmftsObject_s::ignore, infoBit, rpmftsObject_s::options, rpmftsObject_s::roots, RPMFTS_CLOSE, and stpcpy().

Referenced by rpmfts_init(), and rpmfts_Open().

PyObject* rpmfts_iter rpmftsObject   s [static]
 

Definition at line 322 of file rpmfts-py.c.

PyObject* rpmfts_iternext rpmftsObject   s [static]
 

Definition at line 330 of file rpmfts-py.c.

References rpmftsObject_s::active, RPMFTS_CLOSE, RPMFTS_OPEN_LAZY, rpmfts_state(), and rpmfts_step().

PyObject* rpmfts_new PyTypeObject *    type,
PyObject *    args,
PyObject *    kwds
[static]
 

Definition at line 391 of file rpmfts-py.c.

References rpmftsObject_s::callbacks, rpmftsObject_s::compare, rpmftsObject_s::fts, FTS_AGAIN, FTS_COMFOLLOW, FTS_D, FTS_DC, FTS_DEFAULT, FTS_DNR, FTS_DONTCHDIR, FTS_DOT, FTS_DP, FTS_ERR, FTS_F, FTS_FOLLOW, FTS_LOGICAL, FTS_NAMEONLY, FTS_NOCHDIR, FTS_NOINSTR, FTS_NOSTAT, FTS_NS, FTS_NSOK, FTS_OPTIONMASK, FTS_PHYSICAL, FTS_ROOTLEVEL, FTS_ROOTPARENTLEVEL, FTS_SEEDOT, FTS_SKIP, FTS_SL, FTS_SLNONE, FTS_STOP, FTS_SYMFOLLOW, FTS_W, FTS_WHITEOUT, FTS_XDEV, rpmftsObject_s::ftsp, rpmftsObject_s::md_dict, rpmftsObject_s::roots, and rpmfts_debug().

PyObject* rpmfts_Open rpmftsObject   s,
PyObject *    args
[static]
 

Definition at line 184 of file rpmfts-py.c.

References rpmfts_debug(), rpmfts_initialize(), RPMFTS_OPEN, and rpmfts_state().

int rpmfts_print rpmftsObject   s,
FILE *    fp,
int    flags
[static]
 

Definition at line 488 of file rpmfts-py.c.

References rpmftsObject_s::fts, _ftsent::fts_info, _ftsent::fts_level, _ftsent::fts_name, ftsInfoStr(), and rpmftsObject_s::ftsp.

PyObject* rpmfts_Read rpmftsObject   s,
PyObject *    args
[static]
 

Definition at line 203 of file rpmfts-py.c.

References rpmfts_debug(), and rpmfts_step().

PyObject* rpmfts_Set rpmftsObject   s,
PyObject *    args
[static]
 

Definition at line 255 of file rpmfts-py.c.

References rpmftsObject_s::fts, Fts_set(), rpmftsObject_s::ftsp, and rpmfts_debug().

int rpmfts_setattro rpmftsObject   s,
PyObject *    n,
PyObject *    v
[static]
 

Definition at line 312 of file rpmfts-py.c.

References rpmfts_debug().

int rpmfts_state rpmftsObject   s,
int    nactive
[static]
 

Definition at line 105 of file rpmfts-py.c.

References rpmftsObject_s::active, rpmftsObject_s::compare, rpmftsObject_s::fts, Fts_close(), Fts_open(), rpmftsObject_s::ftsp, rpmftsObject_s::options, rpmftsObject_s::roots, RPMFTS_CLOSE, rpmfts_debug(), RPMFTS_OPEN, and RPMFTS_OPEN_LAZY.

Referenced by rpmfts_Close(), rpmfts_dealloc(), rpmfts_iternext(), rpmfts_Open(), and rpmfts_step().

PyObject* rpmfts_step rpmftsObject   s [static]
 

Definition at line 135 of file rpmfts-py.c.

References rpmftsObject_s::active, rpmftsObject_s::fts, _ftsent::fts_info, Fts_read(), rpmftsObject_s::ftsp, rpmftsObject_s::ignore, infoBit, RPMFTS_CLOSE, rpmfts_debug(), RPMFTS_OPEN_LAZY, and rpmfts_state().

Referenced by rpmfts_iternext(), and rpmfts_Read().

int rpmfts_traverse rpmftsObject   s,
visitproc    visit,
void *    arg
[static]
 

Definition at line 478 of file rpmfts-py.c.

References rpmftsObject_s::callbacks, and rpmftsObject_s::md_dict.


Variable Documentation

int _rpmfts_debug = 1 [static]
 

Definition at line 24 of file rpmfts-py.c.

Referenced by rpmfts_Debug(), and rpmfts_debug().

const char* ftsInfoStrings[] [static]
 

Initial value:

 {
    "UNKNOWN",
    "D",
    "DC",
    "DEFAULT",
    "DNR",
    "DOT",
    "DP",
    "ERR",
    "F",
    "INIT",
    "NS",
    "NSOK",
    "SL",
    "SLNONE",
    "W",
}

Definition at line 28 of file rpmfts-py.c.

Referenced by ftsInfoStr().

char rpmfts_doc[] [static]
 

Initial value:

""

Definition at line 505 of file rpmfts-py.c.

PyMemberDef rpmfts_members[] [static]
 

Initial value:

 {
    {"__dict__",T_OBJECT,offsetof(rpmftsObject, md_dict),       READONLY,
        NULL},
    {"callbacks",T_OBJECT,offsetof(rpmftsObject, callbacks),    0,
"Callback dictionary per fts_info state: FTS_{D|DC|DEFAULT|DNR|DOT|DP|ERR|F|INIT|NS|NSOK|SL|SLNONE|W}"}, 
    {"options", T_INT,  offsetof(rpmftsObject, options),        0,
"Option bit(s): FTS_{COMFOLLOW|LOGICAL|NOCHDIR|NOSTAT|PHYSICAL|SEEDOT|XDEV}"},
    {"ignore",  T_INT,  offsetof(rpmftsObject, ignore),         0,
"Ignore bit(s): (1 << info) with info one of FTS_{D|DC|DEFAULT|DNR|DOT|DP|ERR|F|INIT|NS|NSOK|SL|SLNONE|W}"}, 
    {NULL, 0, 0, 0}
}

Definition at line 293 of file rpmfts-py.c.


Generated on Sun Oct 26 13:02:06 2003 for rpm by doxygen1.2.18