Assembla home | Assembla project page
 

Changeset 140:db13c054475d

Show
Ignore:
Timestamp:
08/13/08 17:53:50 (4 months ago)
Author:
shadytrees
branch:
default
Message:

Setuptools plus a normal directory layout. (ticket:10)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • .hgignore

    r101 r140  
    33art/ 
    44sessions/ 
     5Ovenfreak.egg-info/ 
     6dist/ 
     7build/ 
  • ovenfreak/feudalism.py

    r139 r140  
    1 from ovenfreak import water, config 
     1from ovenfreak import water 
     2from ovenfreak.water import config 
    23import time 
    34 
  • ovenfreak/handlers.py

    r139 r140  
    22from cgi import escape, parse_qs, FieldStorage 
    33from Cookie import SimpleCookie, Morsel 
     4import ovenfreak 
     5from ovenfreak import errors 
    46 
    57base = os.path.dirname(__file__) 
    6 sys.path.append(base) 
    7 sys.path.append(os.path.dirname(base)) 
    8 sys.path.append(os.path.join(base, 'lib')) 
     8sys.path.append(os.path.join(os.path.dirname(base), 'lib')) 
    99 
    10 from ovenfreak import errors 
    1110error_page = None 
    12 try: 
    13     from ovenfreak import nervous 
    14 except errors.NoConfigError: 
    15     error_page = errors.NoConfigPage() 
    16 except Exception, e: 
    17     error_page = errors.ExceptionPage(sys.exc_info()) 
    1811 
    1912class Request(object): pass 
     
    4033 
    4134def mod_python(req): 
     35    from ovenfreak import nervous 
    4236    req.content_type = 'text/html; charset=utf-8' 
    4337    os.environ.update(req.subprocess_env) 
     
    9387@Rye 
    9488def wsgi(e, r): 
     89    from ovenfreak import nervous 
    9590    file = e['PATH_INFO'][1:] or 'HomePage' 
    9691    sun = error_page or nervous.get_logic(file) 
     
    123118        if type(body) == str: return [body] 
    124119        else: return [body.encode('utf-8')] 
     120 
     121def _get(aconfig): 
     122    ## TODO: Throw an error page if there's a bad config. 
     123    storage = type('Storage', (), {}) 
     124    for key in aconfig: 
     125        setattr(storage, key, aconfig[key]) 
     126    ovenfreak.config = storage 
     127 
     128    try: 
     129        from ovenfreak import nervous 
     130    except Exception, e: 
     131        error_page = errors.ExceptionPage(sys.exc_info()) 
     132 
     133    server = aconfig['server'] 
     134    if server == 'mod_wsgi': 
     135        # mod_wsgi wants a WSGI application() function. 
     136        return wsgi 
     137    elif server == 'fastcgi': 
     138        # fcgi wants us to call its own WSGIServer. 
     139        from fcgi import WSGIServer 
     140        WSGIServer(wsgi).run() 
     141        return None 
     142    elif server == 'mod_python': 
     143        return mod_python 
     144 
     145def get(*a, **k): 
     146    try: 
     147        return _get(*a, **k) 
     148    except Exception, e: 
     149       error_page = errors.ExceptionPage(sys.exc_info()) 
  • ovenfreak/logics/main.py

    r139 r140  
    1 from ovenfreak import page, nonce, template, errors, config 
     1from ovenfreak import page, nonce, template, errors 
    22from ovenfreak.feudalism import Administrator 
     3from ovenfreak.water import config 
    34 
    45not_exist = """ 
  • ovenfreak/page.py

    r139 r140  
    33from simple_hg import Hg 
    44 
    5 base = os.path.dirname(__file__) 
    65class BasePage(object): 
    76    """ 
     
    109    """ 
    1110    def __init__(self, path): 
    12         self.path = os.path.join(base, 'art', path + '.txt') 
     11        self.path = os.path.join(config.abspath, 'art', path + '.txt') 
    1312 
    1413    def read(self): 
     
    4746        BasePage.__init__(self, path) 
    4847        self.file = path 
    49         self.hg = Hg(os.path.join(base, 'art')) 
     48        self.hg = Hg(os.path.join(config.abspath, 'art')) 
    5049 
    5150    def write(self, body, user): 
  • ovenfreak/plugins/nemo/admin.py

    r139 r140  
    1 from water import * 
     1from ovenfreak import errors, nonce 
     2from ovenfreak.water import * 
    23from ovenfreak.logics.main import MainPage 
    34from ovenfreak.feudalism import Administrator 
    4 from ovenfreak import errors 
    5 import nonce 
    65 
    76class Admin(MainPage): 
  • ovenfreak/plugins/nemo/faults.py

    r139 r140  
    44""" 
    55 
    6 import user, time, session 
    7 from water import * 
     6import user, time 
     7from ovenfreak import session 
     8from ovenfreak.water import * 
     9 
    810iago = 'one_names[]', 'two_names[]', 'three_names[]' 
    911cassio = 'one_grades[]', 'two_grades[]', 'three_grades[]' 
  • ovenfreak/plugins/nemo/sword.py

    r139 r140  
    1 from water import * 
    21from user import is_user_valid 
    3 import smtplib, time, re, session 
     2import smtplib, time, re 
    43import os.path as pather 
     4from ovenfreak import session 
    55from ovenfreak.logics.main import MainPage 
     6from ovenfreak.water import * 
    67 
    78header = """From: %s 
  • ovenfreak/plugins/nemo/user.py

    r139 r140  
    1 from water import * 
     1from ovenfreak.water import * 
    22from ovenfreak.feudalism import Serf 
    33 
  • ovenfreak/plugins/nemo/user_edit.py

    r139 r140  
    1 from water import * 
    2 from user import * 
    3 from user_view import get_email 
    4  
    51from ovenfreak import page, session 
    62from ovenfreak.logics import main 
    73from nemo import faults, register, fudge 
     4from user_view import get_email 
    85 
    96masquerade_note = '<input type="hidden" name="is_masquerade" value="~"></form>' 
  • ovenfreak/plugins/nemo/user_view.py

    r139 r140  
    1 from water import * 
    2 from ovenfreak.logics.main import MainPage 
    31from ovenfreak import errors 
    42from ovenfreak.feudalism import Administrator 
     3from ovenfreak.water import * 
     4from ovenfreak.logics.main import MainPage 
    55from nemo.user import * 
    66import cgi 
  • ovenfreak/session.py

    r139 r140  
    22import os.path, os 
    33 
    4 session_dir = water.config.chdire + 'sessions/' 
     4session_dir = os.path.join(water.config.abspath + 'sessions/') 
    55if not os.path.exists(session_dir): os.makedirs(session_dir) 
    66 
  • ovenfreak/template.py

    r139 r140  
    1 import config, os.path, jinja2, cgitb, sys 
     1import os.path, jinja2, cgitb, sys 
    22from jinja2 import Environment, FileSystemLoader 
    33from markdown2 import markdown 
    44from smartypants import smartyPants 
     5from ovenfreak import config 
    56 
    6 folder = os.path.join(config.chdire, config.theme) 
     7folder = os.path.join(config.abspath, 'ovenfreak', config.theme) 
    78env = Environment(loader = FileSystemLoader(folder), 
    89                  autoescape = True, 
  • ovenfreak/water.py

    r139 r140  
    11import MySQLdb as dbapi 
    2 import sha, os 
     2import sha, os, sys 
     3from ovenfreak import config 
    34 
    4 # Let a handler handle this 
    5 from ovenfreak.errors import NoConfigError 
    6 try: 
    7     from ovenfreak import config 
    8 except ImportError: 
    9     raise NoConfigError() 
    10  
    11 def kiloread(file, prefix = config.chdire): 
     5def kiloread(file, prefix = config.abspath): 
    126    return open(os.path.join(prefix, file)).read() 
    137