コード例 #1
0
def test_tiddler_limit_field():
    store = Store('tiddlywebplugins.mappingsql', {'db_config': 'sqlite:///test.db'}, {'tiddlyweb.config': config})
    tiddler = Tiddler('monkey', 'avox')
    tiddler = store.get(tiddler)
    assert tiddler.fields['field_one'] == 'fat'
    assert 'field_three' not in tiddler.fields
    assert 'field_two' not in tiddler.fields

    store = Store('tiddlywebplugins.mappingsql', {'db_config': 'sqlite:///test.db'}, {
        'tiddlyweb.config': config,
        'tiddlyweb.usersign': {'name': 'zow'}
        })
    tiddler = Tiddler('monkey', 'avox')
    tiddler = store.get(tiddler)
    assert tiddler.fields['field_one'] == 'fat'
    assert 'field_three' in tiddler.fields
    assert 'field_two' in tiddler.fields

    store = Store('tiddlywebplugins.mappingsql', {'db_config': 'sqlite:///test.db'}, {
        'tiddlyweb.config': config,
        'tiddlyweb.usersign': {'name': u'GUEST'}
        })
    tiddler = Tiddler('monkey', 'avox')
    tiddler = store.get(tiddler)
    assert tiddler.fields['field_one'] == 'fat'
    assert 'field_three' not in tiddler.fields
    assert 'field_two' not in tiddler.fields
コード例 #2
0
def init(init_config):
    selector = init_config['selector']
    replace_handler(selector, '/', GET=home_page)
    selector.add('/loadall', GET=load_all)
    store = Store(config['server_store'][0],
                  config['server_store'][1],
                  environ={'tiddlyweb.config': config})
コード例 #3
0
ファイル: test_commands.py プロジェクト: sgml/tiddlyweb
def setup_module(module):
    reset_textstore()
    module.savedin = sys.stdin
    sys.exit = boring_exit
    module.store = Store(config['server_store'][0],
            config['server_store'][1],
            environ={'tiddlyweb.config': config})
コード例 #4
0
def setup_module(module):
    if os.path.exists('store'):
        shutil.rmtree('store')

    module.config = config
    module.store = Store('simpletext', {'store_root': 'store'},
                         environ={'tiddlyweb.config': config})
コード例 #5
0
def profile_listing_tiddlers():
    store = Store('text', environ=environ)
    environ['tiddlyweb.store'] = store

    bag = Bag('profiler')
    bag.skinny = True
    store.get(bag)

    print 'filter', time()
    filter_string = 'select=tag:100'
    filters, leftovers = parse_for_filters(filter_string, environ)
    tiddlers = control.filter_tiddlers_from_bag(bag, filters)

    print 'tmp bag', time()
    tmp_bag = Bag('tmp_bag', tmpbag=True)
    tmp_bag.add_tiddlers(tiddlers)

    print 'output', time()
    print[tiddler.title for tiddler in control.get_tiddlers_from_bag(tmp_bag)]

    #print 'serializer', time()
    #serializer = Serializer('wiki', environ)
    #print 'wikify', time()
    #output = serializer.list_tiddlers(tmp_bag)

    print 'done', time()
コード例 #6
0
def migrate(args):
    """Migrate the content in current store to one described in target_store in config."""
    source_environ = {'tiddlyweb.config': config}
    target_environ = copy.deepcopy(source_environ)
    target_environ['tiddlyweb.config']['server_store'] = config['target_store']
    source_store = Store(config['server_store'][0], config['server_store'][1],
                         source_environ)
    target_store = Store(config['target_store'][0], config['target_store'][1],
                         target_environ)

    if args:
        migrate_bags(source_store, target_store, bags=args)
    else:
        migrate_users(source_store, target_store)
        migrate_recipes(source_store, target_store)
        migrate_bags(source_store, target_store)
コード例 #7
0
def test_tiddler_get():
    store = Store('tiddlywebplugins.mappingsql',
                  {'db_config': 'sqlite:///test.db'},
                  {'tiddlyweb.config': config})
    tiddler = Tiddler('monkey', 'avox')
    tiddler = store.get(tiddler)
    assert tiddler.fields['field_one'] == 'fat'
コード例 #8
0
ファイル: fixtures.py プロジェクト: sgml/tiddlyweb
def _teststore():
    """
    Different from the above because it is using config loaded in this
    module. Kept for backwards awareness.
    """
    return Store(config['server_store'][0],
                 config['server_store'][1],
                 environ={'tiddlyweb.config': config})
コード例 #9
0
def setup_module(module):
    module.store = Store(config['server_store'][0],
                         config['server_store'][1],
                         environ={'tiddlyweb.config': config})
    module.environ = {
        'tiddlyweb.store': module.store,
        'tiddlyweb.config': config
    }
コード例 #10
0
def setup_module(module):
    module.store = Store(config['server_store'][0], config['server_store'][1],
                         {'tiddlyweb.config': config})
    # delete everything
    Base.metadata.drop_all()
    Base.metadata.create_all()
    import warnings
    warnings.simplefilter('error')
コード例 #11
0
def test_bag_get():
    store = Store('tiddlywebplugins.mappingsql', {'db_config': 'sqlite:///test.db'}, {'tiddlyweb.config': config})
    bag = Bag('avox')
    assert len(bag.list_tiddlers()) == 0

    bag = store.get(bag)
    assert len(bag.list_tiddlers()) == 1
    assert "NONE" in bag.policy.write
コード例 #12
0
def setup_module(module):
    module.store = Store('ramstore', {}, {})
    config['server_store'] = ['ramstore', {}]

    def app_fn():
        return serve.load_app()

    httplib2_intercept.install()
    wsgi_intercept.add_wsgi_intercept('our_test_domain', 8001, app_fn)
コード例 #13
0
def setup_module(module):
    config['system_plugins'] = ['tiddlywebplugins.methodhack']
    from tiddlyweb.web import serve
    def app_fn():
        return serve.load_app()
    httplib2_intercept.install()
    wsgi_intercept.add_wsgi_intercept('our_test_domain', 8001, app_fn)
    module.store = Store(config['server_store'][0], config['server_store'][1],
            {'tiddlyweb.config': config})
コード例 #14
0
def test_unsupported_class():
    class Foo(object):
        pass

    foo = Foo()
    store = Store(config['server_store'][0],
                  config['server_store'][1],
                  environ={'tiddlyweb.config': config})
    py.test.raises(AttributeError, 'store.put(foo)')
コード例 #15
0
def test_search():
    store = Store('tiddlywebplugins.mappingsql',
                  {'db_config': 'sqlite:///test.db'}, {
                      'tiddlyweb.config': config,
                      'tiddlyweb.query': {
                          'q': ['cdent'],
                          'field_one': ['fat'],
                      }
                  })
    tiddlers = list(store.search(''))
    assert tiddlers[0].title == 'monkey'

    store = Store('tiddlywebplugins.mappingsql',
                  {'db_config': 'sqlite:///test.db'}, {
                      'tiddlyweb.config': config,
                      'tiddlyweb.query': {
                          'field_one': ['fat'],
                      }
                  })
    tiddlers = list(store.search(''))
    assert tiddlers[0].title == 'monkey'

    store = Store('tiddlywebplugins.mappingsql',
                  {'db_config': 'sqlite:///test.db'}, {
                      'tiddlyweb.config': config,
                      'tiddlyweb.query': {
                          'field_two': ['clean'],
                      }
                  })
    tiddlers = list(store.search(''))
    assert len(tiddlers) == 0

    store = Store('tiddlywebplugins.mappingsql',
                  {'db_config': 'sqlite:///test.db'}, {
                      'tiddlyweb.config': config,
                      'tiddlyweb.usersign': {
                          'name': u'zow'
                      },
                      'tiddlyweb.query': {
                          'field_two': ['clean'],
                      }
                  })
    tiddlers = list(store.search(''))
    assert len(tiddlers) == 1
コード例 #16
0
def setup_module(module):
    module.store = Store(config['server_store'][0],
                         config['server_store'][1],
                         environ={'tiddlyweb.config': config})
    try:
        bag = Bag('holder')
        store.delete(bag)
    except:
        pass
    bag = Bag('holder')
    module.store.put(bag)
コード例 #17
0
def test_where_it_goes():
    store = Store(SAMPLE_CONFIG['server_store'][0],
                  SAMPLE_CONFIG['server_store'][1],
                  environ=ENVIRON)
    bbag = Bag('bbag')
    cbag = Bag('cbag')
    store.put(bbag)
    store.put(cbag)

    assert os.path.exists('store1/bags/bbag/tiddlers')
    assert os.path.exists('store2/bags/cbag/tiddlers')
    assert not os.path.exists('store2/bags/bbag/tiddlers')
    assert not os.path.exists('store1/bags/cbag/tiddlers')
コード例 #18
0
def setup_module(module):
    bag = Bag('holder')
    store = Store(config['server_store'][0], config['server_store'][1],
                  {'tiddlyweb.config': config})
    store.put(bag)

    import_one('holder', IMAGE, store)
    import_one('holder', ZERO, store)

    tiddler = Tiddler('index', 'holder')
    tiddler.text = open(HTML).read().decode('UTF-8')
    tiddler.type = 'text/html'
    store.put(tiddler)
    module.store = store
コード例 #19
0
def setup_module(module):
    initialize_app()

    module.store = Store(config['server_store'][0], config['server_store'][1],
                         {'tiddlyweb.config': config})
    bag = Bag('MAPUSER')
    module.store.put(bag)

    user = User('ben')
    user.set_password('mocha')
    module.store.put(user)
    user = User('chris')
    user.set_password('piccolo')
    module.store.put(user)
コード例 #20
0
def make_tiddlers_for_bag():
    store = Store('text', environ=environ)

    print 'store', time()
    bag = Bag('profiler')
    store.put(bag)

    for name in range(1, 10000):
        tag = name % 10
        name = str(name)
        tag = str(tag)
        tiddler = Tiddler(name, bag.name)
        tiddler.text = name
        tiddler.tags.append(tag)
        store.put(tiddler)
    print 'stored', time()
コード例 #21
0
def profile_listing_tiddlers():
    store = Store('text', environ['tiddlyweb.config']['server_store'][1],
                  environ)
    environ['tiddlyweb.store'] = store

    bag = Bag('profiler')

    print 'filter', time()
    filter_string = 'select=tag:1'
    filters, leftovers = parse_for_filters(filter_string, environ)
    tiddlers = control.filter_tiddlers(store.list_bag_tiddlers(bag),
                                       filters,
                                       environ=environ)

    print 'output', time()
    print[tiddler.title for tiddler in tiddlers]

    #print 'serializer', time()
    #serializer = Serializer('wiki', environ)
    #print 'wikify', time()
    #output = serializer.list_tiddlers(tmp_bag)

    print 'done', time()
コード例 #22
0
ファイル: wsgi.py プロジェクト: funkyeah/tiddlyweb
 def __call__(self, environ, start_response):
     database = Store(environ['tiddlyweb.config']['server_store'][0],
             environ['tiddlyweb.config']['server_store'][1],
             environ)
     environ['tiddlyweb.store'] = database
     return self.application(environ, start_response)
コード例 #23
0
def setup_module(module):
    module.store = Store('sql', {'db_config': 'sqlite:///store.db'},
                         environ={'tiddlyweb.config': config})
コード例 #24
0
from tiddlyweb.config import config
from tiddlyweb.store import Store
from tiddlyweb.model.bag import Bag
from tiddlyweb.model.tiddler import Tiddler

from tiddlywebplugins.whoosher import init, search

environ = {'tiddlyweb.config': config}
store = Store(config['server_store'][0], config['server_store'][1], environ)
environ['tiddlyweb.store'] = store

init(config)


def test_search_unique():
    bag = Bag('bag1')
    store.put(bag)
    tiddler1 = Tiddler('tiddler1', 'bag1')
    tiddler1.text = 'catsdogshouses'
    store.put(tiddler1)

    tiddler2 = Tiddler('tiddler2', 'bag1')
    tiddler2.text = 'housesdogscats'
    store.put(tiddler2)

    tiddlers = list(search(config, 'catsdogshouses'))
    assert len(tiddlers) == 1
    assert tiddlers[0]['id'] == 'bag1:tiddler1'

    tiddlers = list(search(config, 'housesdogscats'))
コード例 #25
0
def test_module_load_fail():
    with py.test.raises(ImportError):
        store = Store("notexiststore")
コード例 #26
0
 def _store():
     """Get our Store from config."""
     return Store(config['server_store'][0],
                  config['server_store'][1],
                  environ={'tiddlyweb.config': config})
コード例 #27
0
def setup_module(module):
    module.store = Store(config['server_store'][0], config['server_store'][1], environ={'tiddlyweb.config': config})
    bag = Bag(BAGNAME)
    module.store.put(bag)
コード例 #28
0
ファイル: fixtures.py プロジェクト: funkyeah/tiddlyweb
def _teststore():
    return Store(config['server_store'][0], config['server_store'][1],
            environ={'tiddlyweb.config': config})
コード例 #29
0
def setup_module(module):
    clean_store()
    module.environ = {'tiddlyweb.config': config}
    module.store = Store(config['server_store'][0], config['server_store'][1],
                         module.environ)
    module.environ['tiddlyweb.store'] = module.store
コード例 #30
0
ファイル: fixtures.py プロジェクト: sgml/tiddlyweb
def get_store(config):
    return Store(config['server_store'][0], config['server_store'][1],
                 {'tiddlyweb.config': config})