#!/usr/bin/python
import os
__file__=os.path.realpath(__file__)
import site
site.addsitedir('/mit/xavid/lib/python2.7/site-packages/')
site.addsitedir(os.path.dirname(__file__))

__requires__ = 'Monkey'
import pkg_resources
pkg_resources.require('Monkey')

import monkey

import sys

print >>sys.stderr,"In script:",os.path.dirname(__file__)+"/dev.cfg"

if __name__ == '__main__':
    # Load the WSGI application from the config file
    from paste.deploy import loadapp
    wsgi_app = loadapp('config:'+os.path.dirname(__file__)+'/development.ini')
    
    from bazbase import model, db, custom
    from bazki import util
    import bazsvn

    bazsvn.custom.get_username = lambda: 'regen_from_db'
    util.set_commit_message('Renerated Subversion state from DB.')
     
    custom.version_control_hook.begin()
    
    props = model.Prop.getAll()
    for p in props:
        custom.version_control_hook.psetattr(p, 'flavor', p.flavor)
        custom.version_control_hook.psetattr(p, 'default', p.default)
        custom.version_control_hook.psetattr(p, 'comment', p.comment)
        custom.version_control_hook.psetattr(p, 'visible', p.visible)

    root = model.Element.getRoot()
    all = root.withDescendants()
    for e in all:
        custom.version_control_hook.esetattr(e, 'parent', e.parent,
                                             bootstrapping=True)
        for pname in e:
            custom.version_control_hook.setprop(e, pname,
                                                buffer(e[pname].value))
        
    custom.version_control_hook.commit()
