Skip to content

Commit

Permalink
Add paster create-test-data vocabs
Browse files Browse the repository at this point in the history
  • Loading branch information
Sean Hammond committed Feb 29, 2012
1 parent 8346d5d commit 5540a66
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions ckan/lib/create_test_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ class CreateTestData(cli.CkanCommand):
create-test-data gov - government style data
create-test-data family - package relationships data
create-test-data user - create a user 'tester' with api key 'tester'
create-test-data vocabs - annakerenina, warandpeace, and some test
vocabularies
'''
summary = __doc__.split('\n')[0]
usage = __doc__
Expand Down Expand Up @@ -51,6 +53,8 @@ def command(self):
self.create_gov_test_data()
elif cmd == 'family':
self.create_family_test_data()
elif cmd == 'vocabs':
self.create_vocabs_test_data()
else:
print 'Command %s not recognized' % cmd
raise NotImplementedError
Expand Down Expand Up @@ -87,6 +91,43 @@ def create_test_user(cls):
model.Session.remove()
cls.user_refs.append(u'tester')

@classmethod
def create_vocabs_test_data(cls):
import ckan.model
CreateTestData.create()
sysadmin_user = ckan.model.User.get('testsysadmin')
annakarenina = ckan.model.Package.get('annakarenina')
warandpeace = ckan.model.Package.get('warandpeace')

# Create a couple of vocabularies.
context = {
'model': ckan.model,
'session': ckan.model.Session,
'user': sysadmin_user.name
}
data_dict = {
'name': 'Genre',
'tags': [{'name': 'Drama'}, {'name': 'Sci-Fi'},
{'name': 'Mystery'}],
}
ckan.logic.action.create.vocabulary_create(context, data_dict)

data_dict = {
'name': 'Actors',
'tags': [{'name': 'keira-knightley'}, {'name': 'jude-law'},
{'name': 'alessio-boni'}],
}
ckan.logic.action.create.vocabulary_create(context, data_dict)

# Add some vocab tags to some packages.
genre_vocab = ckan.model.Vocabulary.get('Genre')
actors_vocab = ckan.model.Vocabulary.get('Actors')
annakarenina.add_tag_by_name('Drama', vocab=genre_vocab)
annakarenina.add_tag_by_name('keira-knightley', vocab=actors_vocab)
annakarenina.add_tag_by_name('jude-law', vocab=actors_vocab)
warandpeace.add_tag_by_name('Drama', vocab=genre_vocab)
warandpeace.add_tag_by_name('alessio-boni', vocab=actors_vocab)

@classmethod
def create_arbitrary(cls, package_dicts, relationships=[],
extra_user_names=[], extra_group_names=[],
Expand Down

0 comments on commit 5540a66

Please sign in to comment.