Popular recipes by Jürgen Hermann http://code.activestate.com/recipes/users/98061/2001-10-31T13:33:41-08:00ActiveState Code RecipesFork a daemon process on Unix (Python) 2001-07-10T14:01:38-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/66012-fork-a-daemon-process-on-unix/ <p style="color: grey"> Python recipe 66012 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/threads/">threads</a>). </p> <p>Forking a daemon on Unix requires a certain sequence of system calls. Since Python exposes a full POSIX interface, this can be done in Python, too.</p> The Singleton Pattern implemented with Python (Python) 2001-04-05T21:21:30-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52558-the-singleton-pattern-implemented-with-python/ <p style="color: grey"> Python recipe 52558 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/oop/">oop</a>). Revision 2. </p> <p>The following class shows how to implement the singleton pattern[1] in Python. A singleton is a class that makes sure only one instance of it is ever created. Typically such classes are used to manage resources that by their very nature can only exist once.</p> Handling URLs within a CGI script (Python) 2001-03-19T15:29:32-08:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52287-handling-urls-within-a-cgi-script/ <p style="color: grey"> Python recipe 52287 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/cgi/">cgi</a>). </p> <p>The following are some useful functions to build URLs within a CGI script, for example to send a HTTP redirection header (see example).</p> Using the SAX2 LexicalHandler Interface (Python) 2001-10-31T13:33:41-08:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/84516-using-the-sax2-lexicalhandler-interface/ <p style="color: grey"> Python recipe 84516 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/xml/">xml</a>). </p> <p>This code show how to use the relatively unknown LexicalHandler interface, which is an extension to the standard SAX2 interfaces like ContentHandler (we assume you already have some SAX2 know-how).</p> Colorize Python source using the built-in tokenizer (Python) 2001-04-06T23:05:53-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52298-colorize-python-source-using-the-built-in-tokenize/ <p style="color: grey"> Python recipe 52298 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/programs/">programs</a>). Revision 3. </p> <p>This code is part of MoinMoin (<a href="http://moin.sourceforge.net/" rel="nofollow">http://moin.sourceforge.net/</a>) and converts Python source code to HTML markup, rendering comments, keywords, operators, numeric and string literals in different colors.</p> <p>It shows how to use the built-in keyword, token and tokenize modules to scan Python source code and re-emit it with no changes to its original formatting (which is the hard part).</p> <p>The test code at the bottom of the module formats itself and launches a browser with the result.</p> Checking whether a string contains a set of chars (Python) 2001-07-03T21:00:41-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/65441-checking-whether-a-string-contains-a-set-of-chars/ <p style="color: grey"> Python recipe 65441 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/text/">text</a>). Revision 2. </p> <p>While the find() and count() string functions can check for string occurences, there is no function to check on the occurence of a set of characters.</p> Query whether an interface is up on UNIX (Python) 2001-07-05T16:24:30-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/65449-query-whether-an-interface-is-up-on-unix/ <p style="color: grey"> Python recipe 65449 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/network/">network</a>). </p> <p>This code shows how to call the low-level POSIX interface of Python, and handle the return values with the struct module.</p> Decorate an output stream with print-like methods (Python) 2001-07-03T13:57:02-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/65445-decorate-an-output-stream-with-print-like-methods/ <p style="color: grey"> Python recipe 65445 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/oop/">oop</a>). </p> <p>The following code shows how to "decorate" objects with new functions, in this case any stream with two methods that work similar to the built-in "print" statement.</p> Filter a string and only keep a given set of characters (Python) 2001-05-24T18:52:23-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/59857-filter-a-string-and-only-keep-a-given-set-of-chara/ <p style="color: grey"> Python recipe 59857 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/text/">text</a>). </p> <p>The following code creates a filtering functor for a given character set, that can then be used on any number of strings.</p> Safely morph a file in-place (Python) 2001-05-24T03:25:36-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/56037-safely-morph-a-file-in-place/ <p style="color: grey"> Python recipe 56037 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/files/">files</a>). </p> <p>A class that enables a client to securely update an existing file, including the ability to make an automated backup version.</p> Simulating the ternary operator in Python (Python) 2001-03-19T13:06:05-08:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52282-simulating-the-ternary-operator-in-python/ <p style="color: grey"> Python recipe 52282 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/text/">text</a>). </p> <p>People coming from C, C++ or Perl might miss the so-called ternary operator ?: (condition ? then-expr : else-expr). It's most often used for avoiding several lines of code and temporary variables for very simple decisions, like printing the plural form of words after a counter (see example code).</p> <p>There are two ways to get the same effect in Python: selecting one of two values from a tuple, or using the special behaviour of the "and" and "or" operators in Python. The second method has the advantage that only ONE of the two possible expressions is evaluated, and is thus more close to the behaviour of ?: as defined by C.</p> Controlling XSLT stylesheet loading (Python) 2001-06-30T10:56:25-07:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52242-controlling-xslt-stylesheet-loading/ <p style="color: grey"> Python recipe 52242 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/xml/">xml</a>). Revision 6. </p> <p>This code shows how to load a stylesheet from "virtual" URLs, by detecting a special URL scheme.</p> Getting a dictionary of all members of a class hierarchy (Python) 2001-03-19T16:29:45-08:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52288-getting-a-dictionary-of-all-members-of-a-class-hie/ <p style="color: grey"> Python recipe 52288 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/oop/">oop</a>). </p> <p>The following function creates a map of all members of a class, navigating ALL of the base classes in the correct order. This can be used for various purposes, like checking whether a certain method is defined anywhere in a class hierarchy.</p> Importing a name from a module with a computed name (Python) 2001-03-15T16:43:03-08:00Jürgen Hermannhttp://code.activestate.com/recipes/users/98061/http://code.activestate.com/recipes/52241-importing-a-name-from-a-module-with-a-computed-nam/ <p style="color: grey"> Python recipe 52241 by <a href="/recipes/users/98061/">Jürgen Hermann</a> (<a href="/recipes/tags/oop/">oop</a>). </p> <p>This function allows you to do "from module import name", where both "module" and "name" are dynamic values (i.e. expressions or variables). For example, this can be used to implement a "plugin" mechanism to extend an application by external modules that adhere to some common interface.</p> <p>This pattern is used in MoinMoin (<a href="http://moin.sourceforge.net/" rel="nofollow">http://moin.sourceforge.net/</a>) to load extensions implementing variations of a common interface, like "action", "macro", and "formatter".</p>