Popular recipes tagged "meta:loc=61"http://code.activestate.com/recipes/tags/meta:loc=61/2017-04-20T23:34:50-07:00ActiveState Code RecipesImplementing class-based callbacks in Python (Python) 2017-04-20T23:34:50-07:00Vasudev Ramhttp://code.activestate.com/recipes/users/4173351/http://code.activestate.com/recipes/580788-implementing-class-based-callbacks-in-python/ <p style="color: grey"> Python recipe 580788 by <a href="/recipes/users/4173351/">Vasudev Ram</a> (<a href="/recipes/tags/callbacks/">callbacks</a>, <a href="/recipes/tags/classes/">classes</a>, <a href="/recipes/tags/functions/">functions</a>, <a href="/recipes/tags/methods/">methods</a>, <a href="/recipes/tags/objects/">objects</a>, <a href="/recipes/tags/programming/">programming</a>, <a href="/recipes/tags/python/">python</a>). </p> <p>This is a follow-on to this recently posted recipe:</p> <p>Implementing function-based callbacks in Python: <a href="https://code.activestate.com/recipes/580787-implementing-function-based-callbacks-in-python/?in=user-4173351" rel="nofollow">https://code.activestate.com/recipes/580787-implementing-function-based-callbacks-in-python/?in=user-4173351</a></p> <p>This new recipe shows how to create and use callbacks in Python, using classes with methods, instead of plain functions, as was done in the recipe linked above. All other points such as reasons and benefits for using callbacks, are more or less the same as mentioned in the previous recipe, except that class instances can carry state around, so to that extent, the two approaches are different.</p> <p><a href="https://jugad2.blogspot.in/2017/04/python-callbacks-using-classes-and.html" rel="nofollow">https://jugad2.blogspot.in/2017/04/python-callbacks-using-classes-and.html</a></p> Convert HTML text to PDF with Beautiful Soup and xtopdf (Python) 2015-01-28T22:20:53-08:00Vasudev Ramhttp://code.activestate.com/recipes/users/4173351/http://code.activestate.com/recipes/579014-convert-html-text-to-pdf-with-beautiful-soup-and-x/ <p style="color: grey"> Python recipe 579014 by <a href="/recipes/users/4173351/">Vasudev Ram</a> (<a href="/recipes/tags/file/">file</a>, <a href="/recipes/tags/format/">format</a>, <a href="/recipes/tags/pdf/">pdf</a>, <a href="/recipes/tags/pdfwriter/">pdfwriter</a>, <a href="/recipes/tags/python/">python</a>, <a href="/recipes/tags/reportgeneration/">reportgeneration</a>, <a href="/recipes/tags/reporting/">reporting</a>, <a href="/recipes/tags/reportlab/">reportlab</a>, <a href="/recipes/tags/xtopdf/">xtopdf</a>). </p> <p>This recipe shows how to convert the text in an HTML document to PDF. It uses the Beautiful Soup and xtopdf Python libraries. Beautiful Soup is a library for HTML parsing and content extraction. xtopdf is a library for PDF creation from other formats, including text and many others.</p> Convert HTML text to PDF with Beautiful Soup and xtopdf (Python) 2015-01-28T22:32:41-08:00Vasudev Ramhttp://code.activestate.com/recipes/users/4173351/http://code.activestate.com/recipes/579015-convert-html-text-to-pdf-with-beautiful-soup-and-x/ <p style="color: grey"> Python recipe 579015 by <a href="/recipes/users/4173351/">Vasudev Ram</a> . </p> <p>This recipe shows how to convert the text in an HTML document to PDF. It uses the Beautiful Soup and xtopdf Python libraries. Beautiful Soup is a library for HTML parsing and content extraction. xtopdf is a library for PDF creation from other formats, including text and many others.</p> Highly branched Trees (Python) 2014-05-14T19:16:04-07:00Chris Eckerhttp://code.activestate.com/recipes/users/4180203/http://code.activestate.com/recipes/578879-highly-branched-trees/ <p style="color: grey"> Python recipe 578879 by <a href="/recipes/users/4180203/">Chris Ecker</a> (<a href="/recipes/tags/tree/">tree</a>). Revision 2. </p> <p>Trees are very common data structures and are usually considered to be very efficient. However, this is only true if the tree is balanced, meaning that all branches have roughly the same number of nodes. </p> <p>There are good balancing trees, such as rb-trees or avl-trees. Unfortunately they are quite difficult to implement. An alternative tree structure is the highly branched b-tree (<a href="https://en.wikipedia.org/wiki/B-tree" rel="nofollow">https://en.wikipedia.org/wiki/B-tree</a>). In the c language, binary trees are preferable in most cases. However, in python things are different. This recipe shows how simple it is to implement a b-tree in python. The example is a sorted dict.</p> Get memory usage of Windows processes using GetProcessMemoryInfo (via ctypes) (Python) 2013-04-25T01:26:19-07:00Ben Hoythttp://code.activestate.com/recipes/users/4170919/http://code.activestate.com/recipes/578513-get-memory-usage-of-windows-processes-using-getpro/ <p style="color: grey"> Python recipe 578513 by <a href="/recipes/users/4170919/">Ben Hoyt</a> (<a href="/recipes/tags/ctypes/">ctypes</a>, <a href="/recipes/tags/memory/">memory</a>, <a href="/recipes/tags/process/">process</a>, <a href="/recipes/tags/win32/">win32</a>, <a href="/recipes/tags/windows/">windows</a>). </p> <p>These functions call the Win32 function GetProcessMemoryInfo() using ctypes to get the memory usage of the current process. Works on both 32-bit and 64-bit Windows and Python 2.6+ (including Python 3.x).</p> Linux ioctl numbers in Python (Python) 2012-07-25T12:25:26-07:00Dima Tisnekhttp://code.activestate.com/recipes/users/4068698/http://code.activestate.com/recipes/578225-linux-ioctl-numbers-in-python/ <p style="color: grey"> Python recipe 578225 by <a href="/recipes/users/4068698/">Dima Tisnek</a> (<a href="/recipes/tags/fcntl/">fcntl</a>, <a href="/recipes/tags/ioctl/">ioctl</a>, <a href="/recipes/tags/python/">python</a>). </p> <p>Copy _IOR/_IOWR constants from kernel headers and use with fcntl.iocl()</p> Password Card Generator (Python) 2012-01-26T02:37:30-08:00userendhttp://code.activestate.com/recipes/users/4179007/http://code.activestate.com/recipes/578027-password-card-generator/ <p style="color: grey"> Python recipe 578027 by <a href="/recipes/users/4179007/">userend</a> (<a href="/recipes/tags/card/">card</a>, <a href="/recipes/tags/create/">create</a>, <a href="/recipes/tags/generator/">generator</a>, <a href="/recipes/tags/passwd/">passwd</a>, <a href="/recipes/tags/password/">password</a>, <a href="/recipes/tags/python/">python</a>, <a href="/recipes/tags/secret/">secret</a>). </p> <p>This project was inspired by the <a href="http://passwordcard.org" rel="nofollow">passwordcard.org</a> website. I wanted to see if I could do the same thing using Python. Select a password using this convenient card that you carry with you. </p> Managment command to deploy a Django project (Python) 2011-06-21T22:10:31-07:00Filippo Squillacehttp://code.activestate.com/recipes/users/4174931/http://code.activestate.com/recipes/577767-managment-command-to-deploy-a-django-project/ <p style="color: grey"> Python recipe 577767 by <a href="/recipes/users/4174931/">Filippo Squillace</a> (<a href="/recipes/tags/django/">django</a>). </p> <p>This recipe shows a management command for django project that enables automatic synchronization between the local and remote project. Of course, the deploy exclude to overwrite the settings.py located in the remote server.</p> <p>This is a clean way to deploy your own project without calling external commands, although this command needs rsync to work.</p> For AMIGA-Heads Only. PAR: As A VOLUME In READ Mode Only. (Python) 2011-06-12T16:34:12-07:00Barry Walkerhttp://code.activestate.com/recipes/users/4177147/http://code.activestate.com/recipes/577750-for-amiga-heads-only-par-as-a-volume-in-read-mode-/ <p style="color: grey"> Python recipe 577750 by <a href="/recipes/users/4177147/">Barry Walker</a> (<a href="/recipes/tags/amiga/">amiga</a>, <a href="/recipes/tags/demo/">demo</a>, <a href="/recipes/tags/parallel/">parallel</a>, <a href="/recipes/tags/parallel_port/">parallel_port</a>, <a href="/recipes/tags/port/">port</a>, <a href="/recipes/tags/read/">read</a>). </p> <p>PAR: as a VOLUME in READ mode using Python 1.4 onwards on Classic AMIGAs...</p> <p>Many years ago Irmen de Jong ported Python to the Classic AMIGA range of computers, (many thanks Irmen for your time in doing so). The versions were at least 1.4.x to 2.0.1 and now someone else has included version 2.4.6.</p> <p>This gives we lowly users of the AMIGA at least a chance to see and use Python in some guise or another. This code shows how to access the AMIGA parallel port for 8 bit READ only. This is so that ADCs could be attached to the port, read by Python code EASILY and utilised as a Data Logger/Transient Recorder, as just one example.</p> <p>There needs to be a single HW WIRE link only from the 23 way video port to the 25 way parallel port for this to work. See the archive......</p> <p><a href="http://aminet.net/package/docs/hard/PAR_READ" rel="nofollow">http://aminet.net/package/docs/hard/PAR_READ</a></p> <p>......on how to set about this extremely simple task.</p> <p>NO knowledge of the parallel port programming is needed at all to grab 8 bit data from it using Python and other languages; (ARexx is used in the archive above).</p> <p>There is a flaw, NOTE:- NOT A BUG!, in the Python code but for this DEMO it is ignored. ;o)</p> <p>I'll let all you big guns work out what it is; you will need a good working knowledge of the Classic AMIGA.</p> <p>Enjoy finding simple solutions to often very difficult problems. ;o)</p> <p>This code is Public Domain and you may do with it as you please.</p> <p>Bazza...</p> Balance / Refunds of dues between friends (Python) 2011-04-26T16:11:15-07:00Raphaël Jolivethttp://code.activestate.com/recipes/users/4135673/http://code.activestate.com/recipes/577677-balance-refunds-of-dues-between-friends/ <p style="color: grey"> Python recipe 577677 by <a href="/recipes/users/4135673/">Raphaël Jolivet</a> (<a href="/recipes/tags/balance/">balance</a>, <a href="/recipes/tags/due/">due</a>, <a href="/recipes/tags/refund/">refund</a>, <a href="/recipes/tags/simplex/">simplex</a>). </p> <p>Here is a handy script that uses the <em>simplex</em> algorithm to compute an optimum list of refunds (for example, after a trip with shared expenses with friends).</p> <p>It minimizes the number of transactions (refunds) required to reach the balance.</p> iter_except -- a useful variant of __builtin__.iter() (Python) 2010-03-27T02:04:22-07:00Raymond Hettingerhttp://code.activestate.com/recipes/users/178123/http://code.activestate.com/recipes/577155-iter_except-a-useful-variant-of-__builtin__iter/ <p style="color: grey"> Python recipe 577155 by <a href="/recipes/users/178123/">Raymond Hettinger</a> (<a href="/recipes/tags/converter/">converter</a>, <a href="/recipes/tags/iterator/">iterator</a>, <a href="/recipes/tags/wrapper/">wrapper</a>). </p> <p>Variant of iter(func, sentinel) that looks for an exception rather than for a sentinel value. Good for making iterators from of APIs that advance over a data and return an exception when they are done.</p> query custom answers (Python) 2010-03-09T17:57:22-08:00Trent Mickhttp://code.activestate.com/recipes/users/4173505/http://code.activestate.com/recipes/577096-query-custom-answers/ <p style="color: grey"> Python recipe 577096 by <a href="/recipes/users/4173505/">Trent Mick</a> (<a href="/recipes/tags/cli/">cli</a>, <a href="/recipes/tags/query/">query</a>). </p> <p>Ask the user a question using raw_input() and looking something like this:</p> <pre class="prettyprint"><code>Frob nots the zids? [Yes (default), No, quit] _ ...validate... </code></pre> <p>See also: <a href="http://code.activestate.com/recipes/577058/">Recipe 577058</a> (query yes/no), <a href="http://code.activestate.com/recipes/577097/">Recipe 577097</a> (query yes/no/quit), <a href="http://code.activestate.com/recipes/577098/">Recipe 577098</a> (query long), <a href="http://code.activestate.com/recipes/577099/">Recipe 577099</a> (query)</p> wsgi SPNEGO middleware (Python) 2009-12-28T09:36:18-08:00Sven Ludwighttp://code.activestate.com/recipes/users/4172687/http://code.activestate.com/recipes/576992-wsgi-spnego-middleware/ <p style="color: grey"> Python recipe 576992 by <a href="/recipes/users/4172687/">Sven Ludwig</a> (<a href="/recipes/tags/kerberos/">kerberos</a>, <a href="/recipes/tags/spnego/">spnego</a>, <a href="/recipes/tags/wsgi/">wsgi</a>, <a href="/recipes/tags/wsgi_middleware/">wsgi_middleware</a>). </p> <p>Kerberos Single Sign On wsgi middleware</p> How to detect the Linux distribution from an init.d script (Bash) 2010-03-16T13:24:22-07:00Gui Rhttp://code.activestate.com/recipes/users/4166241/http://code.activestate.com/recipes/576676-how-to-detect-the-linux-distribution-from-an-initd/ <p style="color: grey"> Bash recipe 576676 by <a href="/recipes/users/4166241/">Gui R</a> (<a href="/recipes/tags/bash/">bash</a>, <a href="/recipes/tags/redhat/">redhat</a>). Revision 2. </p> <p>There is no trivial way to know what Linux you are running. Red Hat, SuSE, etc., each distribution has a different way to tell what version is installed.</p> make dictproxy object via ctypes.pythonapi and type() (Python) 2008-10-26T19:35:13-07:00Ikkei Shimomurahttp://code.activestate.com/recipes/users/987178/http://code.activestate.com/recipes/576540-make-dictproxy-object-via-ctypespythonapi-and-type/ <p style="color: grey"> Python recipe 576540 by <a href="/recipes/users/987178/">Ikkei Shimomura</a> . Revision 2. </p> <p>Python internal has type 'dictproxy'.</p> <p>You can get the dictproxy type object in Python.</p> <p>from types import DictProxyType</p> <p>any new-style classes has a __dict__ attribute, it's the dictproxy object. but, the type constructor disallow you to make the instance.</p> <p>DictProxyType({}) # TypeError</p> <p>This recipe explains how to make dictproxy object via Python API ... and type() more easy way</p> Find cyclical references (Python) 2007-06-29T08:54:52-07:00Michael Droettboomhttp://code.activestate.com/recipes/users/2323856/http://code.activestate.com/recipes/523004-find-cyclical-references/ <p style="color: grey"> Python recipe 523004 by <a href="/recipes/users/2323856/">Michael Droettboom</a> (<a href="/recipes/tags/debugging/">debugging</a>). </p> <p>This recipe helps find cyclical references in Python code to a] optimize so the garbage collector doesn't have to work as hard, and b] deal with uncollectable objects, such as those with a __del__ method, or extension objects that don't participate in garbage collection.</p> Upgradable Pickles (Python) 2007-06-16T16:17:06-07:00Justin Shawhttp://code.activestate.com/recipes/users/1523109/http://code.activestate.com/recipes/521901-upgradable-pickles/ <p style="color: grey"> Python recipe 521901 by <a href="/recipes/users/1523109/">Justin Shaw</a> . Revision 5. </p> <p>Stale Pickles ... New Classes. Pickles are by far the easiest way to achieve persistent objects in Python. A problem arises however, when a class is modified between the time when an object is pickled and when it is un-pickled. When a stale pickle is extracted, the old data is coupled with the new class code. This is not a problem as long as no new data attributes are required. For instance, a new method that relies only on old data may be added and still work with the old pickle.</p> <p>Of course, if attributes are added, the old pickle files will no longer function correctly with the new class definition.</p> <p>This recipe provides a framework for writing upgradable classes that support backward compatibility with stale pickles.</p> Find cyclical references (Python) 2007-06-29T08:51:26-07:00Michael Droettboomhttp://code.activestate.com/recipes/users/2323856/http://code.activestate.com/recipes/523003-find-cyclical-references/ <p style="color: grey"> Python recipe 523003 by <a href="/recipes/users/2323856/">Michael Droettboom</a> (<a href="/recipes/tags/debugging/">debugging</a>). </p> <p>This recipe helps find cyclical references in Python code to a] optimize so the garbage collector doesn't have to work as hard, and b] deal with uncollectable objects, such as those with a __del__ method, or extension objects that don't participate in garbage collection.</p> PEP 367 like super (Python) 2007-05-16T09:57:37-07:00Dmitry Vasilievhttp://code.activestate.com/recipes/users/1571302/http://code.activestate.com/recipes/519645-pep-367-like-super/ <p style="color: grey"> Python recipe 519645 by <a href="/recipes/users/1571302/">Dmitry Vasiliev</a> (<a href="/recipes/tags/oop/">oop</a>). </p> <p>The code based on <a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/286195" rel="nofollow">http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/286195</a> but interface is PEP 367 like so you can write just super.base_method() inside a method. See doctests for examples.</p> A generator for an arbitrary number of 'for' loops (Python) 2007-01-30T09:16:34-08:00Colin Gillespiehttp://code.activestate.com/recipes/users/4029798/http://code.activestate.com/recipes/502194-a-generator-for-an-arbitrary-number-of-for-loops/ <p style="color: grey"> Python recipe 502194 by <a href="/recipes/users/4029798/">Colin Gillespie</a> (<a href="/recipes/tags/shortcuts/">shortcuts</a>). </p> <p>Python has a number of nice methods to handle 'for' loops. However, the situation often arises where you have a large number of nested loops. Using this solution reduces the number of loops to one.</p>