diff options
author | David McNab <david@rebirthing.co.nz> | 2003-12-22 23:26:52 +0000 |
---|---|---|
committer | David McNab <david@rebirthing.co.nz> | 2003-12-22 23:26:52 +0000 |
commit | 73070a4396d22378763e769f31e9df711b170843 (patch) | |
tree | 3833a4359a13342f82dace3fe52dd7c879bda964 | |
parent | 2f3d940b2e5fa1c6c0b44372bd3372a20ccc71ab (diff) | |
download | libfuse-73070a4396d22378763e769f31e9df711b170843.tar.gz |
Changed the '#include <fuse.h>' to '#include "fuse.h"' to allow symlinking
of fuse.h into python dir.
-rw-r--r-- | python/_fusemodule.c | 2 | ||||
-rw-r--r-- | python/code.leo | 137 |
2 files changed, 134 insertions, 5 deletions
diff --git a/python/_fusemodule.c b/python/_fusemodule.c index c323c60..9518074 100644 --- a/python/_fusemodule.c +++ b/python/_fusemodule.c @@ -11,7 +11,7 @@ //@+others //@+node:includes #include <Python.h> -#include <fuse.h> +#include "fuse.h" #include <time.h> //@-node:includes //@+node:globals diff --git a/python/code.leo b/python/code.leo index 2fa915d..8ff723e 100644 --- a/python/code.leo +++ b/python/code.leo @@ -2,7 +2,7 @@ <leo_file> <leo_header file_format="2" tnodes="0" max_tnode_index="69" clone_windows="0"/> <globals body_outline_ratio="0.2448559670781893"> - <global_window_position top="130" left="90" height="631" width="1124"/> + <global_window_position top="129" left="90" height="631" width="1124"/> <global_log_window_position top="0" left="0" height="0" width="0"/> </globals> <preferences> @@ -13,7 +13,7 @@ </find_panel_settings> <vnodes> <v t="davidmcnab.121303142957" a="E"><vh>fuse python bindings</vh> -<v t="davidmcnab.121303142957.1" tnodeList="davidmcnab.121303142957.1,davidmcnab.121303142957.2,davidmcnab.121303142957.3,davidmcnab.121303142957.4,davidmcnab.121303142957.5,davidmcnab.121303142957.6,davidmcnab.121303142957.7,davidmcnab.121303142957.8,davidmcnab.121303142957.9,davidmcnab.121303142957.10,davidmcnab.121303142957.11,davidmcnab.121303142957.12,davidmcnab.121303142957.13,davidmcnab.121303142957.14,davidmcnab.121303142957.15,davidmcnab.121303142957.16,davidmcnab.121303142957.17,davidmcnab.121303142957.18,davidmcnab.121303142957.19,davidmcnab.121303142957.20,davidmcnab.121303142957.21,davidmcnab.121303142957.22,davidmcnab.121303142957.23,davidmcnab.121303142957.24,davidmcnab.121303144441,davidmcnab.121303144441.1,davidmcnab.121303142957.25,davidmcnab.121303142957.26,davidmcnab.121303142957.27,davidmcnab.121303142957.28"><vh>@file _fusemodule.c</vh> +<v t="davidmcnab.121303142957.1" a="E" tnodeList="davidmcnab.121303142957.1,davidmcnab.121303142957.2,davidmcnab.121303142957.3,davidmcnab.121303142957.4,davidmcnab.121303142957.5,davidmcnab.121303142957.6,davidmcnab.121303142957.7,davidmcnab.121303142957.8,davidmcnab.121303142957.9,davidmcnab.121303142957.10,davidmcnab.121303142957.11,davidmcnab.121303142957.12,davidmcnab.121303142957.13,davidmcnab.121303142957.14,davidmcnab.121303142957.15,davidmcnab.121303142957.16,davidmcnab.121303142957.17,davidmcnab.121303142957.18,davidmcnab.121303142957.19,davidmcnab.121303142957.20,davidmcnab.121303142957.21,davidmcnab.121303142957.22,davidmcnab.121303142957.23,davidmcnab.121303142957.24,davidmcnab.121303144441,davidmcnab.121303144441.1,davidmcnab.121303142957.25,davidmcnab.121303142957.26,davidmcnab.121303142957.27,davidmcnab.121303142957.28"><vh>@file _fusemodule.c</vh> <v t="davidmcnab.121303142957.2"><vh>includes</vh></v> <v t="davidmcnab.121303142957.3" a="M"><vh>globals</vh></v> <v t="davidmcnab.121303142957.4"><vh>PROLOGUE</vh></v> @@ -81,14 +81,27 @@ <v t="davidmcnab.121303142957.60"><vh>read</vh></v> <v t="davidmcnab.121303142957.61"><vh>write</vh></v> <v t="davidmcnab.121303142957.62" a="M"><vh>release</vh></v> -<v t="davidmcnab.121303144134" a="V"><vh>statfs</vh></v> +<v t="davidmcnab.121303144134"><vh>statfs</vh></v> <v t="davidmcnab.121303144134.1"><vh>fsync</vh></v> </v> <v t="davidmcnab.121303142957.63"><vh>mainline</vh></v> </v> <v t="davidmcnab.121303142957.64" tnodeList="davidmcnab.121303142957.64"><vh>@file setup.py</vh></v> <v t="davidmcnab.121303142957.65" tnodeList="davidmcnab.121303142957.65"><vh>@file README</vh></v> -<v t="davidmcnab.121303142957.67" tnodeList="davidmcnab.121303142957.67"><vh>@file mount.fuse</vh></v> +<v t="davidmcnab.121303142957.67" a="E" tnodeList="davidmcnab.121303142957.67"><vh>@file mount.fuse</vh></v> +<v t="davidmcnab.121403050157" a="E"><vh>@file fuse.py</vh> +<v t="davidmcnab.121403050157.1"><vh><< fuse declarations >></vh></v> +<v t="davidmcnab.121403050157.2" a="E"><vh>class ErrnoWrapper</vh> +<v t="davidmcnab.121403050157.3"><vh><< class ErrnoWrapper declarations >></vh></v> +<v t="davidmcnab.121403050157.4"><vh>__init__</vh></v> +<v t="davidmcnab.121403050157.5" a="V"><vh>__call__</vh></v> +</v> +<v t="davidmcnab.121403050157.6" a="E"><vh>class Fuse</vh> +<v t="davidmcnab.121403050157.7"><vh><< class Fuse declarations >></vh></v> +<v t="davidmcnab.121403050157.8"><vh>__init__</vh></v> +<v t="davidmcnab.121403050157.9"><vh>main</vh></v> +</v> +</v> </v> </vnodes> <tnodes> @@ -987,5 +1000,121 @@ EPILOGUE } </t> +<t tx="davidmcnab.121403050157">@ignore +@language python +<< fuse declarations >> +@others + #@-node:main + #@-others +#@-node:class Fuse +#@-others +#@-node:@file fuse.py +#@-leo +</t> +<t tx="davidmcnab.121403050157.1">#@+leo-ver=4 +#@+node:@file fuse.py +# +# Copyright (C) 2001 Jeff Epler <jepler@unpythonic.dhs.org> +# +# This program can be distributed under the terms of the GNU GPL. +# See the file COPYING. +# + + +#@@language python +#@+others +#@+node:imports +# suppress version mismatch warnings +try: + import warnings + warnings.filterwarnings('ignore', + 'Python C API version mismatch', + RuntimeWarning, + ) +except: + pass + +from _fuse import main, DEBUG +import os, sys +from errno import * + +#@-node:imports +#@+node:class ErrnoWrapper +</t> +<t tx="davidmcnab.121403050157.2">class ErrnoWrapper: + << class ErrnoWrapper declarations >> + @others +</t> +<t tx="davidmcnab.121403050157.3"> #@ @+others + #@+node:__init__ +</t> +<t tx="davidmcnab.121403050157.4">def __init__(self, func): + self.func = func +</t> +<t tx="davidmcnab.121403050157.5">#@-node:__init__ +#@+node:__call__ +def __call__(self, *args, **kw): + try: + return apply(self.func, args, kw) + except (IOError, OSError), detail: + # Sometimes this is an int, sometimes an instance... + if hasattr(detail, "errno"): detail = detail.errno + return -detail +</t> +<t tx="davidmcnab.121403050157.6"> #@-node:__call__ + #@-others +#@-node:class ErrnoWrapper +#@+node:class Fuse +class Fuse: + << class Fuse declarations >> + @others +</t> +<t tx="davidmcnab.121403050157.7">#@ @+others +#@+node:attribs +_attrs = ['getattr', 'readlink', 'getdir', 'mknod', 'mkdir', + 'unlink', 'rmdir', 'symlink', 'rename', 'link', 'chmod', + 'chown', 'truncate', 'utime', 'open', 'read', 'write', 'release', + 'statfs', 'fsync'] + +flags = 0 +multithreaded = 0 + +#@-node:attribs +#@+node:__init__ +</t> +<t tx="davidmcnab.121403050157.8">def __init__(self, *args, **kw): + + # default attributes + self.optlist = [] + self.optdict = {} + self.mountpoint = None + + # grab arguments, if any + argv = sys.argv + argc = len(argv) + if argc > 1: + # we've been given the mountpoint + self.mountpoint = argv[1] + if argc > 2: + # we've received mount args + optstr = argv[2] + opts = optstr.split(",") + for o in opts: + try: + k, v = o.split("=", 1) + self.optdict[k] = v + except: + self.optlist.append(o) +</t> +<t tx="davidmcnab.121403050157.9">#@-node:__init__ +#@+node:main +def main(self): + d = {'flags': self.flags} + d['multithreaded'] = self.multithreaded + for a in self._attrs: + if hasattr(self,a): + d[a] = ErrnoWrapper(getattr(self, a)) + apply(main, (), d) +</t> </tnodes> </leo_file> |