rpm  5.4.10
Macros | Functions | Variables
rpmpython.c File Reference
#include "system.h"
#include <rpmiotypes.h>
#include <rpmmacro.h>
#include <argv.h>
#include "rpmpython.h"
#include "debug.h"
Include dependency graph for rpmpython.c:

Go to the source code of this file.

Macros

#define _RPMIOB_INTERNAL   /* XXX necessary? */
 
#define _RPMPYTHON_INTERNAL
 

Functions

static void rpmpythonFini (void *_python)
 
static rpmpython rpmpythonGetPool (rpmioPool pool)
 
static rpmpython rpmpythonI (void)
 
rpmpython rpmpythonNew (char **av, uint32_t flags)
 Create and load a python interpreter. More...
 
rpmRC rpmpythonRunFile (rpmpython python, const char *fn, const char **resultp)
 Execute python from a file. More...
 
static const char * rpmpythonSlurp (const char *arg)
 
rpmRC rpmpythonRun (rpmpython python, const char *str, const char **resultp)
 Execute python string. More...
 

Variables

int _rpmpython_debug = 0
 
rpmpython _rpmpythonI = NULL
 
rpmioPool _rpmpythonPool
 

Macro Definition Documentation

§ _RPMIOB_INTERNAL

#define _RPMIOB_INTERNAL   /* XXX necessary? */

Definition at line 3 of file rpmpython.c.

§ _RPMPYTHON_INTERNAL

#define _RPMPYTHON_INTERNAL

Definition at line 8 of file rpmpython.c.

Function Documentation

§ rpmpythonFini()

static void rpmpythonFini ( void *  _python)
static

Definition at line 37 of file rpmpython.c.

Referenced by rpmpythonGetPool().

§ rpmpythonGetPool()

static rpmpython rpmpythonGetPool ( rpmioPool  pool)
static

Definition at line 52 of file rpmpython.c.

References _rpmpython_debug, _rpmpythonPool, rpmioGetPool(), rpmioNewPool(), and rpmpythonFini().

Referenced by rpmpythonNew().

§ rpmpythonI()

static rpmpython rpmpythonI ( void  )
static

Definition at line 75 of file rpmpython.c.

References _rpmpythonI, D_, rpmlog(), RPMLOG_WARNING, and rpmpythonNew().

Referenced by rpmpythonNew(), rpmpythonRun(), and rpmpythonRunFile().

§ rpmpythonNew()

rpmpython rpmpythonNew ( char **  av,
uint32_t  flags 
)

Create and load a python interpreter.

Parameters
fnpython interpreter args (or NULL)
flagspython interpreter flags ((1<<31): use global interpreter)
Returns
new python interpreter

Definition at line 110 of file rpmpython.c.

References _free(), _rpmpython_debug, _rpmpythonI, argvCount(), rpmExpand(), rpmpythonGetPool(), rpmpythonI(), rpmpythonLink(), and rpmpythonRun().

Referenced by expandMacro(), psmWait(), and rpmpythonI().

§ rpmpythonRun()

rpmRC rpmpythonRun ( rpmpython  python,
const char *  str,
const char **  resultp 
)

Execute python string.

Parameters
pythonpython interpreter (NULL uses global interpreter)
strpython string to execute (NULL returns RPMRC_FAIL)
*resultppython exec result
Returns
RPMRC_OK on success

Definition at line 203 of file rpmpython.c.

References _free(), _rpmpython_debug, rpmpythonI(), rpmpythonSlurp(), RPMRC_FAIL, and RPMRC_OK.

Referenced by expandMacro(), psmWait(), and rpmpythonNew().

§ rpmpythonRunFile()

rpmRC rpmpythonRunFile ( rpmpython  python,
const char *  fn,
const char **  resultp 
)

Execute python from a file.

Parameters
pythonpython interpreter (NULL uses global interpreter)
fnpython file to run (NULL returns RPMRC_FAIL)
*resultppython exec result
Returns
RPMRC_OK on success

Definition at line 151 of file rpmpython.c.

References _rpmpython_debug, rpmpythonI(), RPMRC_FAIL, and RPMRC_OK.

§ rpmpythonSlurp()

static const char* rpmpythonSlurp ( const char *  arg)
static

Definition at line 179 of file rpmpython.c.

References rpmiobAppend(), rpmiobFree(), rpmiobNew(), rpmiobSlurp(), rpmiobStr(), Stat(), and xstrdup().

Referenced by rpmpythonRun().

Variable Documentation

§ _rpmpython_debug

int _rpmpython_debug = 0

Definition at line 25 of file rpmpython.c.

Referenced by rpmpythonGetPool(), rpmpythonNew(), rpmpythonRun(), and rpmpythonRunFile().

§ _rpmpythonI

rpmpython _rpmpythonI = NULL

Definition at line 28 of file rpmpython.c.

Referenced by rpmioClean(), rpmpythonI(), and rpmpythonNew().

§ _rpmpythonPool

rpmioPool _rpmpythonPool

Definition at line 50 of file rpmpython.c.

Referenced by rpmioClean(), and rpmpythonGetPool().