intensional /

Jonathan Eunice edb5327 

Jonathan Eunice 716a303 
Jonathan Eunice edb5327 

#! /usr/bin/env python

from setuptools import setup
from decimal import Decimal
import re

def linelist(text):
    Returns each non-blank line in text enclosed in a list.
    return [ l.strip() for l in text.strip().splitlines() if l.split() ]
    # The double-mention of l.strip() is yet another fine example of why
    # Python needs en passant aliasing.

def verno(s):
    Update the version number passed in by extending it to the 
    thousands place and adding 1/1000, then returning that result
    and as a side-effect updating

    Dangerous, self-modifying, and also, helps keep version numbers
    ascending without human intervention.
    d = Decimal(s)
    increment = Decimal('0.001')
    d = d.quantize(increment) + increment
    dstr = str(d)
    setup = open('', 'r').read()
    setup = re.sub('verno\(\w*[\'"]([\d\.]+)[\'"]', 'verno("' + dstr + '"', setup)
    open('', 'w').write(setup)
    return dstr

    author='Jonathan Eunice',
    description='Intensional sets in Python',
        Development Status :: 3 - Alpha
        Operating System :: OS Independent
        License :: OSI Approved :: BSD License
        Intended Audience :: Developers
        Programming Language :: Python
        Topic :: Software Development :: Libraries :: Python Modules
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.