diff --git a/.gitignore b/.gitignore index a10ae2eb..fef1e218 100644 --- a/.gitignore +++ b/.gitignore @@ -77,25 +77,5 @@ atramhasis/static/node_modules atramhasis/static/admin/dist atramhasis/static/admin/node_modules -atramhasis/scaffolds/atramhasis_demo/+package+/static/css -atramhasis/scaffolds/atramhasis_demo/+package+/static/img -atramhasis/scaffolds/atramhasis_demo/+package+/static/js -atramhasis/scaffolds/atramhasis_demo/+package+/static/package.json -atramhasis/scaffolds/atramhasis_demo/+package+/static/package-lock.json -atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/atramhasis -atramhasis/scaffolds/atramhasis_demo/+package+/static/admin -atramhasis/scaffolds/atramhasis_demo/atramhasis-requirements-dev.txt_tmpl -atramhasis/scaffolds/atramhasis_demo/atramhasis-requirements.txt_tmpl - -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/css -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/img -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/js -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/package.json -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/package-lock.json -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/atramhasis -atramhasis/scaffolds/atramhasis_scaffold/+package+/static/admin -atramhasis/scaffolds/atramhasis_scaffold/atramhasis-requirements-dev.txt_tmpl -atramhasis/scaffolds/atramhasis_scaffold/atramhasis-requirements.txt_tmpl - # sqlite database created for tests. test.db diff --git a/.travis.yml b/.travis.yml index 0ea9224c..cfef7926 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,13 @@ sudo: false language: python python: - - "2.7" - "3.6" - "3.7" - "3.8" install: - pip install -U setuptools - - pip install -r requirements-dev.txt #fix versions + - pip install -r requirements-dev.txt - python setup.py develop - - pip install -U pytest pytest-cov coveralls webtest #install test deps script: - py.test --cov atramhasis --cov-report term-missing tests after_success: diff --git a/atramhasis/renderers.py b/atramhasis/renderers.py index 8e8ee54e..f22b274b 100644 --- a/atramhasis/renderers.py +++ b/atramhasis/renderers.py @@ -1,43 +1,24 @@ import csv -import codecs +from io import StringIO -from six import StringIO, text_type, PY2 from pyramid.renderers import JSON -from skosprovider_sqlalchemy.models import Collection, Concept, Label, Note, Source, Language, ConceptScheme -from pyramid_skosprovider.renderers import concept_adapter as skos_concept_adapter from pyramid_skosprovider.renderers import collection_adapter as skos_collection_adapter +from pyramid_skosprovider.renderers import concept_adapter as skos_concept_adapter from pyramid_skosprovider.renderers import label_adapter as skos_label_adapter from pyramid_skosprovider.renderers import note_adapter as skos_note_adapter from pyramid_skosprovider.renderers import source_adapter as skos_source_adapter -from skosprovider.skos import Concept as SkosConcept from skosprovider.skos import Collection as SkosCollection +from skosprovider.skos import Concept as SkosConcept from skosprovider.skos import Label as SkosLabel from skosprovider.skos import Note as SkosNote from skosprovider.skos import Source as SkosSource - - -class UnicodeWriter: - def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): - self.stream = f - self.writer = csv.writer(self.stream, dialect=dialect, **kwds) - self.encoder = codecs.getincrementalencoder(encoding)() - - def writerow(self, row): # pragma: no cover - # some ugly code to support python2 - if PY2: - encoded_row = [] - for s in row: - if isinstance(s, text_type): - encoded_row.append(self.encoder.encode(s)) - else: - encoded_row.append(s) - self.writer.writerow(encoded_row) - else: - self.writer.writerow(row) - - def writerows(self, rows): - for row in rows: - self.writerow(row) +from skosprovider_sqlalchemy.models import Collection +from skosprovider_sqlalchemy.models import Concept +from skosprovider_sqlalchemy.models import ConceptScheme +from skosprovider_sqlalchemy.models import Label +from skosprovider_sqlalchemy.models import Language +from skosprovider_sqlalchemy.models import Note +from skosprovider_sqlalchemy.models import Source class CSVRenderer(object): @@ -46,7 +27,7 @@ def __init__(self, info): def __call__(self, value, system): f_out = StringIO() - writer = UnicodeWriter(f_out, delimiter=',', quoting=csv.QUOTE_ALL) + writer = csv.writer(f_out, delimiter=',', quoting=csv.QUOTE_ALL) writer.writerow(value['header']) writer.writerows(value['rows']) diff --git a/atramhasis/scaffolds/__init__.py b/atramhasis/scaffolds/__init__.py deleted file mode 100644 index f7504e1b..00000000 --- a/atramhasis/scaffolds/__init__.py +++ /dev/null @@ -1,56 +0,0 @@ -from textwrap import dedent -from pyramid.scaffolds import PyramidTemplate, Template -import os -import distutils.dir_util - - -def copy_dir_to_scaffold(output_dir, package, dir): - source_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', dir)) - dest_dir = os.path.join(output_dir, package, dir) - distutils.dir_util.copy_tree(source_dir, dest_dir) - - -class AtramhasisTemplate(PyramidTemplate): - _template_dir = 'atramhasis_scaffold' - summary = 'Create an Atramhasis implementation' - - def post(self, command, output_dir, vars): # pragma: no cover - """ Overrides :meth:`pyramid.scaffolds.template.Template.post`""" - - copy_dir_to_scaffold(output_dir, vars['package'], 'locale') - - separator = "=" * 79 - msg = dedent( - """ - %(separator)s - Documentation: http://atramhasis.readthedocs.io - - Welcome to Atramhasis. - %(separator)s - """ % {'separator': separator}) - - self.out(msg) - - -class AtramhasisDemoTemplate(PyramidTemplate): - _template_dir = 'atramhasis_demo' - summary = 'Create an Atramhasis demo' - - def post(self, command, output_dir, vars): # pragma: no cover - """ Overrides :meth:`pyramid.scaffolds.template.Template.post`""" - - copy_dir_to_scaffold(output_dir, vars['package'], 'locale') - - separator = "=" * 79 - msg = dedent( - """ - %(separator)s - Documentation: http://atramhasis.readthedocs.io - Demo instructions: http://atramhasis.readthedocs.io/en/latest/demo.html - - Welcome to Atramhasis Demo. - %(separator)s - """ % {'separator': separator}) - - self.out(msg) - return Template.post(self, command, output_dir, vars) diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/__init__.py_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/__init__.py_tmpl deleted file mode 100644 index 79b51001..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/__init__.py_tmpl +++ /dev/null @@ -1,52 +0,0 @@ -import os - -from pyramid.authentication import AuthTktAuthenticationPolicy -from pyramid.config import Configurator -from pyramid.settings import aslist - -from sqlalchemy import engine_from_config - -from atramhasis.data.models import Base - - -def main(global_config, **settings): - """ This function returns a Pyramid WSGI application. - """ - - # Set up sqlalchemy - engine = engine_from_config(settings, 'sqlalchemy.') - Base.metadata.bind = engine - - # update settings - settings['layout.focus_conceptschemes'] = aslist(settings['layout.focus_conceptschemes'], flatten=False) - - # set up dump location - dump_location = settings['atramhasis.dump_location'] - if not os.path.exists(dump_location): - os.makedirs(dump_location) - - # Set up pyramid - config = Configurator(settings=settings) - - # set default session factory - from pyramid.session import SignedCookieSessionFactory - atramhasis_session_factory = SignedCookieSessionFactory(settings['atramhasis.session_factory.secret']) - config.set_session_factory(atramhasis_session_factory) - - # Set up atramhasis - config.include('atramhasis') - # Set up atramhasis db - config.include('atramhasis:data.db') - - # Set up translations - config.add_translation_dirs('{{package}}:locale/') - - # Override assets - config.override_asset( - to_override='atramhasis:static/', - override_with='{{package}}:static/' - ) - - config.scan() - - return config.make_wsgi_app() diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/event_handlers.py b/atramhasis/scaffolds/atramhasis_demo/+package+/event_handlers.py deleted file mode 100644 index 3f40c755..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/event_handlers.py +++ /dev/null @@ -1,11 +0,0 @@ -# -*- coding: utf-8 -*- -from pyramid.events import subscriber -from atramhasis.protected_resources import ProtectedResourceEvent, ProtectedResourceException - - -@subscriber(ProtectedResourceEvent) -def sample_impl(event): - if event.uri.endswith('2'): - referenced_in = ['urn:someobject', 'http://test.test.org/object/2'] - raise ProtectedResourceException('resource {0} is still in use, preventing operation'.format(event.uri), - referenced_in) \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/skos/__init__.py_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/skos/__init__.py_tmpl deleted file mode 100644 index f3337cd0..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/skos/__init__.py_tmpl +++ /dev/null @@ -1,160 +0,0 @@ -# -*- coding: utf-8 -*- - -import logging - -from skosprovider.registry import Registry -from skosprovider.uri import UriPatternGenerator -from skosprovider_sqlalchemy.providers import SQLAlchemyProvider - -from skosprovider_getty.providers import AATProvider, TGNProvider - -import requests -from cachecontrol import CacheControl -from cachecontrol.heuristics import ExpiresAfter - -from datetime import date - -log = logging.getLogger(__name__) -LICENSES = [ - 'https://creativecommons.org/licenses/by/4.0/', - 'http://data.vlaanderen.be/doc/licentie/modellicentie-gratis-hergebruik/v1.0' -] - - -def create_registry(request): - registry = Registry(instance_scope='threaded_thread') - - dataseturigenerator = UriPatternGenerator('https://id.erfgoed.net/datasets/thesauri/%s') - - TREES = SQLAlchemyProvider( - {'id': 'TREES', 'conceptscheme_id': 1}, - request.db - ) - - GEO = SQLAlchemyProvider( - {'id': 'GEOGRAPHY', 'conceptscheme_id': 2}, - request.db - ) - - STYLES = SQLAlchemyProvider( - { - 'id': 'STYLES', - 'conceptscheme_id': 3, - 'dataset': { - 'uri': dataseturigenerator.generate(id='stijlen_en_culturen'), - 'publisher': ['https://id.erfgoed.net/actoren/501'], - 'created': [date(2008,2,14)], - 'language': ['nl-BE'], - 'license': LICENSES - } - }, - request.db, - uri_generator=UriPatternGenerator('https://id.erfgoed.net/thesauri/stijlen_en_culturen/%s') - ) - - MATERIALS = SQLAlchemyProvider( - { - 'id': 'MATERIALS', - 'conceptscheme_id': 4, - 'dataset': { - 'uri': dataseturigenerator.generate(id='materialen'), - 'publisher': ['https://id.erfgoed.net/actoren/501'], - 'created': [date(2011,3,16)], - 'language': ['nl-BE'], - 'license': LICENSES - } - }, - request.db, - uri_generator=UriPatternGenerator('https://id.erfgoed.net/thesauri/materialen/%s') - ) - - EVENTTYPES = SQLAlchemyProvider( - { - 'id': 'EVENTTYPE', - 'conceptscheme_id': 5, - 'dataset': { - 'uri': dataseturigenerator.generate(id='gebeurtenistypes'), - 'publisher': ['https://id.erfgoed.net/actoren/501'], - 'created': [date(2010,8,13)], - 'language': ['nl-BE'], - 'license': LICENSES - } - }, - request.db, - uri_generator=UriPatternGenerator('https://id.erfgoed.net/thesauri/gebeurtenistypes/%s') - ) - - HERITAGETYPES = SQLAlchemyProvider( - { - 'id': 'HERITAGETYPE', - 'conceptscheme_id': 6, - 'dataset': { - 'uri': dataseturigenerator.generate(id='erfgoedtypes'), - 'publisher': ['https://id.erfgoed.net/actoren/501'], - 'created': [date(2008,2,14)], - 'language': ['nl-BE'], - 'license': LICENSES - } - }, - request.db, - uri_generator=UriPatternGenerator('https://id.erfgoed.net/thesauri/erfgoedtypes/%s') - ) - - PERIODS = SQLAlchemyProvider( - { - 'id': 'PERIOD', - 'conceptscheme_id': 7, - 'dataset': { - 'uri': dataseturigenerator.generate(id='dateringen'), - 'publisher': ['https://id.erfgoed.net/actoren/501'], - 'created': [date(2008,2,14)], - 'language': ['nl-BE'], - 'license': LICENSES - } - }, - request.db, - uri_generator=UriPatternGenerator('https://id.erfgoed.net/thesauri/dateringen/%s') - ) - - SPECIES = SQLAlchemyProvider( - { - 'id': 'SPECIES', - 'conceptscheme_id': 8, - 'dataset': { - 'uri': dataseturigenerator.generate(id='soorten'), - 'publisher': ['https://id.erfgoed.net/actoren/501'], - 'created': [date(2011,5,23)], - 'language': ['nl-BE', 'la'], - 'license': LICENSES - }, - 'atramhasis.force_display_label_language': 'la' - }, - request.db, - uri_generator=UriPatternGenerator('https://id.erfgoed.net/thesauri/soorten/%s') - ) - - # use 'subject': ['external'] for read only external providers (only available in REST service) - - getty_session = CacheControl(requests.Session(), heuristic=ExpiresAfter(weeks=1)) - - AAT = AATProvider( - {'id': 'AAT', 'subject': ['external']}, - session=getty_session - ) - - TGN = TGNProvider( - {'id': 'TGN', 'subject': ['external']}, - session=getty_session - ) - - registry.register_provider(TREES) - registry.register_provider(GEO) - registry.register_provider(STYLES) - registry.register_provider(MATERIALS) - registry.register_provider(EVENTTYPES) - registry.register_provider(HERITAGETYPES) - registry.register_provider(PERIODS) - registry.register_provider(SPECIES) - registry.register_provider(AAT) - registry.register_provider(TGN) - return registry diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/Gemfile b/atramhasis/scaffolds/atramhasis_demo/+package+/static/Gemfile deleted file mode 100644 index 3d2bbf85..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "sass", "~> 3.4.9" -gem "compass", "~> 1.0.0" diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/config.rb b/atramhasis/scaffolds/atramhasis_demo/+package+/static/config.rb deleted file mode 100644 index 41bc7951..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/config.rb +++ /dev/null @@ -1,27 +0,0 @@ -# Require any additional compass plugins here. -add_import_path "node_modules/foundation-sites/scss" -add_import_path "node_modules/font-awesome/scss" - -# Set this to the root of your project when deployed: -http_path = "/" -css_dir = "css" -sass_dir = "scss" -images_dir = "img" -javascripts_dir = "js" -extensions_dir = "extensions" - -# You can select your preferred output style here (can be overridden via the command line): -# output_style = :expanded or :nested or :compact or :compressed - -# To enable relative paths to assets via compass helper functions. Uncomment: -relative_assets = true - -# To disable debugging comments that display the original location of your selectors. Uncomment: -# line_comments = false - - -# If you prefer the indented syntax, you might want to regenerate this -# project again passing --syntax sass, or you can uncomment this: -# preferred_syntax = :sass -# and then run: -# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+-admin.scss_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+-admin.scss_tmpl deleted file mode 100644 index 250c40e8..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+-admin.scss_tmpl +++ /dev/null @@ -1 +0,0 @@ -// Custom SASS code for {{package}}-admin \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+-settings.scss_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+-settings.scss_tmpl deleted file mode 100644 index aa400019..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+-settings.scss_tmpl +++ /dev/null @@ -1 +0,0 @@ -// Custom SASS code for {{package}}-settings \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+.scss_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+.scss_tmpl deleted file mode 100644 index 9e8e509d..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/_+package+.scss_tmpl +++ /dev/null @@ -1 +0,0 @@ -// Custom SASS code for {{package}} \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/app-admin.scss_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/app-admin.scss_tmpl deleted file mode 100644 index dd449ab2..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/app-admin.scss_tmpl +++ /dev/null @@ -1,15 +0,0 @@ -@import "atramhasis/settings"; -@import "atramhasis/atramhasis-settings"; -@import "{{package}}-settings"; -@import "foundation"; -@import "font-awesome"; -@import "atramhasis/atramhasis-header"; -@import "atramhasis/atramhasis-footer"; -@import "atramhasis/atramhasis-custom"; -@import "atramhasis/atramhasis-home"; -@import "atramhasis/atramhasis-icons"; -@import "atramhasis/atramhasis-article"; -@import "atramhasis/atramhasis-mquery"; -@import "atramhasis/atramhasis-forms"; -@import "atramhasis/atramhasis-admin"; -@import "{{package}}-admin"; \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/app.scss_tmpl b/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/app.scss_tmpl deleted file mode 100644 index 267ba92a..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/+package+/static/scss/app.scss_tmpl +++ /dev/null @@ -1,14 +0,0 @@ -@import "atramhasis/settings"; -@import "atramhasis/atramhasis-settings"; -@import "{{package}}-settings"; -@import "foundation"; -@import "font-awesome"; -@import "atramhasis/atramhasis-header"; -@import "atramhasis/atramhasis-footer"; -@import "atramhasis/atramhasis-custom"; -@import "atramhasis/atramhasis-home"; -@import "atramhasis/atramhasis-icons"; -@import "atramhasis/atramhasis-article"; -//@import "atramhasis/atramhasis-topbar"; -@import "atramhasis/atramhasis-mquery"; -@import "{{package}}"; \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/CHANGES.txt_tmpl b/atramhasis/scaffolds/atramhasis_demo/CHANGES.txt_tmpl deleted file mode 100644 index 00655981..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/CHANGES.txt_tmpl +++ /dev/null @@ -1,4 +0,0 @@ -0.0 ---- - -- Initial version \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/MANIFEST.in_tmpl b/atramhasis/scaffolds/atramhasis_demo/MANIFEST.in_tmpl deleted file mode 100644 index b2535b7a..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/MANIFEST.in_tmpl +++ /dev/null @@ -1,2 +0,0 @@ -include *.txt *.ini *.cfg *.rst -recursive-include {{package}} *.ico *.png *.css *.gif *.jpg *.pt *.txt *.jinja2 *.js *.html *.xml \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/README.txt_tmpl b/atramhasis/scaffolds/atramhasis_demo/README.txt_tmpl deleted file mode 100644 index befdc17f..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/README.txt_tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{project}} README - -This is an Atramhasis demo application \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/alembic.ini b/atramhasis/scaffolds/atramhasis_demo/alembic.ini deleted file mode 100644 index 2da4fe97..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/alembic.ini +++ /dev/null @@ -1,60 +0,0 @@ -# A generic, single database configuration. - -[alembic] -# path to migration scripts -script_location = atramhasis:alembic - -# template used to generate migration files -# file_template = %%(rev)s_%%(slug)s - -# max length of characters to apply to the -# "slug" field -#truncate_slug_length = 40 - -# set to 'true' to run the environment during -# the 'revision' command, regardless of autogenerate -# revision_environment = false - -# set to 'true' to allow .pyc and .pyo files without -# a source .py file to be detected as revisions in the -# versions/ directory -# sourceless = false - -# sqlalchemy.url = sqlite:///%(here)s/atramhasis.sqlite - -ini_location = %(here)s/development.ini - -# Logging configuration -[loggers] -keys = root,sqlalchemy,alembic - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARN -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARN -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S diff --git a/atramhasis/scaffolds/atramhasis_demo/development.ini_tmpl b/atramhasis/scaffolds/atramhasis_demo/development.ini_tmpl deleted file mode 100644 index 77cbb8c1..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/development.ini_tmpl +++ /dev/null @@ -1,130 +0,0 @@ -### -# app configuration -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html -### - -[app:main] -use = egg:{{project}} - -pyramid.reload_templates = true -pyramid.debug_authorization = false -pyramid.debug_notfound = false -pyramid.debug_routematch = false -pyramid.default_locale_name = en -pyramid.includes = - pyramid_debugtoolbar - pyramid_tm -jinja2.directories = - atramhasis:templates - {{package}}:templates -jinja2.extensions = - jinja2.ext.do - jinja2.ext.with_ -jinja2.filters = - label_sort = atramhasis.utils.label_sort -available_languages = en nl fr -sqlalchemy.url = sqlite:///%(here)s/{{package}}.sqlite - -atramhasis.session_factory.secret = test123 - -skosprovider.skosregistry_location = request -skosprovider.skosregistry_factory = {{package}}.skos.create_registry - -jinja2.i18n.domain = atramhasis - -# Run dojo from source (src) or distribution (dist) -# If unspecified, defaults to src. -dojo.mode = dist - -# cache -cache.tree.backend = dogpile.cache.memory -cache.tree.arguments.cache_size = 5000 -cache.tree.expiration_time = 7000 - -cache.list.backend = dogpile.cache.memory -cache.list.arguments.cache_size = 5000 -cache.list.expiration_time = 7000 - -# Filesystem location to dump exports -atramhasis.dump_location = %(here)s/datadumps - -# Location of rdf2hdt executable -# atramhasis.rdf2hdt = /link/to/rdf2hdt - -# Assume an LDF server is present? -# atramhasis.ldf.enabled = True - -# Location of the config file for the LDF server -# atramhasis.ldf.config_location = %(here)s - -# External url of the LDF server -# atramhasis.ldf.baseurl = http://demo.atramhasis.org/ldf - -# Protocol the LDF server is operating under. -# See the LDF docs for more info -# atramhasis.ldf.protocol = http - -# By default, the toolbar only appears for clients from IP addresses -# '127.0.0.1' and '::1'. -# debugtoolbar.hosts = 127.0.0.1 ::1 - - -layout.focus_conceptschemes = - HERITAGETYPE - PERIOD - GEOGRAPHY - MATERIALS - -### -# wsgi server configuration -### - -[server:main] -use = egg:waitress#main -host = 0.0.0.0 -port = 6543 - -### -# logging configuration -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html -### - -[loggers] -keys = root, atramhasis, sqlalchemy, {{package_logger}} - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = INFO -handlers = console - -[logger_atramhasis] -level = DEBUG -handlers = -qualname = atramhasis - -[logger_sqlalchemy] -level = INFO -handlers = -qualname = sqlalchemy.engine -# "level = INFO" logs SQL queries. -# "level = DEBUG" logs SQL queries and results. -# "level = WARN" logs neither. (Recommended for production systems.) - -[logger_{{package_logger}}] -level = DEBUG -handlers = -qualname = {{package}} - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s diff --git a/atramhasis/scaffolds/atramhasis_demo/requirements-dev.txt_tmpl b/atramhasis/scaffolds/atramhasis_demo/requirements-dev.txt_tmpl deleted file mode 100644 index 2b0c915e..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/requirements-dev.txt_tmpl +++ /dev/null @@ -1,5 +0,0 @@ -# Runtime requirements ---requirement requirements.txt - -# Atramhasis dev requirements ---requirement atramhasis-requirements-dev.txt diff --git a/atramhasis/scaffolds/atramhasis_demo/requirements.txt_tmpl b/atramhasis/scaffolds/atramhasis_demo/requirements.txt_tmpl deleted file mode 100644 index 79d692a2..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/requirements.txt_tmpl +++ /dev/null @@ -1,5 +0,0 @@ -# Atramhasis requirements ---requirement atramhasis-requirements.txt - -# Atramhasis -atramhasis \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_demo/setup.cfg_tmpl b/atramhasis/scaffolds/atramhasis_demo/setup.cfg_tmpl deleted file mode 100644 index 6799b93b..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/setup.cfg_tmpl +++ /dev/null @@ -1,21 +0,0 @@ -[compile_catalog] -directory = {{package}}/locale -domain = atramhasis -statistics = true - -[extract_messages] -add_comments = TRANSLATORS: -output_file = {{package}}/locale/atramhasis.pot -width = 80 -mapping_file = message-extraction.ini - -[init_catalog] -domain = atramhasis -input_file = {{package}}/locale/atramhasis.pot -output_dir = {{package}}/locale - -[update_catalog] -domain = atramhasis -input_file = {{package}}/locale/atramhasis.pot -output_dir = {{package}}/locale -previous = true diff --git a/atramhasis/scaffolds/atramhasis_demo/setup.py_tmpl b/atramhasis/scaffolds/atramhasis_demo/setup.py_tmpl deleted file mode 100644 index 0c4d8e32..00000000 --- a/atramhasis/scaffolds/atramhasis_demo/setup.py_tmpl +++ /dev/null @@ -1,53 +0,0 @@ -import os - -from setuptools import setup, find_packages - -here = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(here, 'README.txt')) as f: - README = f.read() -with open(os.path.join(here, 'CHANGES.txt')) as f: - CHANGES = f.read() - -requires = [ - 'pyramid', - 'pyramid_debugtoolbar', - 'pyramid_tm', - 'SQLAlchemy', - 'transaction', - 'zope.sqlalchemy', - 'waitress', - 'skosprovider', - 'skosprovider_sqlalchemy', - 'pyramid_skosprovider', - 'pyramid_jinja2', - 'alembic', - 'babel', - 'colander', - 'atramhasis' - ] - -setup(name='{{project}}', - version='0.0', - description='{{project}}', - long_description=README + '\n\n' + CHANGES, - classifiers=[ - "Programming Language :: Python", - "Framework :: Pyramid", - "Topic :: Internet :: WWW/HTTP", - "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", - ], - author='', - author_email='', - url='', - keywords='web pyramid pylons', - packages=find_packages(), - include_package_data=True, - zip_safe=False, - install_requires=requires, - tests_require=requires, - test_suite="{{package}}", - entry_points="""\ - [paste.app_factory] - main = {{package}}:main - """, - ) diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/__init__.py_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/__init__.py_tmpl deleted file mode 100644 index 2d60d89b..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/__init__.py_tmpl +++ /dev/null @@ -1,54 +0,0 @@ -import os - -from pyramid.config import Configurator -from pyramid.settings import aslist -from sqlalchemy import engine_from_config - - -from atramhasis.data.models import Base - - -def main(global_config, **settings): - """ This function returns a Pyramid WSGI application. - """ - - # Set up sqlalchemy - engine = engine_from_config(settings, 'sqlalchemy.') - Base.metadata.bind = engine - - # update settings - settings['layout.focus_conceptschemes'] = aslist(settings['layout.focus_conceptschemes'], flatten=False) - - # set up dump location - dump_location = settings['atramhasis.dump_location'] - if not os.path.exists(dump_location): - os.makedirs(dump_location) - - # Set up pyramid - config = Configurator(settings=settings) - - # set default session factory - from pyramid.session import SignedCookieSessionFactory - atramhasis_session_factory = SignedCookieSessionFactory(settings['atramhasis.session_factory.secret']) - config.set_session_factory(atramhasis_session_factory) - - # Set up atramhasis - config.include('atramhasis') - # Set up atramhasis db - config.include('atramhasis:data.db') - - #Add skos support - config.include('{{package}}.skos') - - # Set up translations - config.add_translation_dirs('{{package}}:locale/') - - # Override assets - config.override_asset( - to_override='atramhasis:static/', - override_with='{{package}}:static/' - ) - - config.scan() - - return config.make_wsgi_app() diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/skos/__init__.py_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/skos/__init__.py_tmpl deleted file mode 100644 index 5fa4858b..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/skos/__init__.py_tmpl +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -from skosprovider.registry import Registry -from skosprovider.uri import UriPatternGenerator -from skosprovider_sqlalchemy.providers import SQLAlchemyProvider - -import logging -log = logging.getLogger(__name__) - - -def create_registry(request): - # create the SKOS registry - registry = Registry(instance_scope='threaded_thread') - - # create your own providers - # - # TREES = SQLAlchemyProvider( - # {'id': 'TREES', 'conceptscheme_id': 1}, - # request.db - # ) - - # Add your custom provider to the registry - # registry.register_provider(TREES) - - # return the SKOS registry - return registry diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/Gemfile b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/Gemfile deleted file mode 100644 index 3d2bbf85..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "sass", "~> 3.4.9" -gem "compass", "~> 1.0.0" diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/config.rb b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/config.rb deleted file mode 100644 index 41bc7951..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/config.rb +++ /dev/null @@ -1,27 +0,0 @@ -# Require any additional compass plugins here. -add_import_path "node_modules/foundation-sites/scss" -add_import_path "node_modules/font-awesome/scss" - -# Set this to the root of your project when deployed: -http_path = "/" -css_dir = "css" -sass_dir = "scss" -images_dir = "img" -javascripts_dir = "js" -extensions_dir = "extensions" - -# You can select your preferred output style here (can be overridden via the command line): -# output_style = :expanded or :nested or :compact or :compressed - -# To enable relative paths to assets via compass helper functions. Uncomment: -relative_assets = true - -# To disable debugging comments that display the original location of your selectors. Uncomment: -# line_comments = false - - -# If you prefer the indented syntax, you might want to regenerate this -# project again passing --syntax sass, or you can uncomment this: -# preferred_syntax = :sass -# and then run: -# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+-admin.scss_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+-admin.scss_tmpl deleted file mode 100644 index 250c40e8..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+-admin.scss_tmpl +++ /dev/null @@ -1 +0,0 @@ -// Custom SASS code for {{package}}-admin \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+-settings.scss_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+-settings.scss_tmpl deleted file mode 100644 index aa400019..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+-settings.scss_tmpl +++ /dev/null @@ -1 +0,0 @@ -// Custom SASS code for {{package}}-settings \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+.scss_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+.scss_tmpl deleted file mode 100644 index 9e8e509d..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/_+package+.scss_tmpl +++ /dev/null @@ -1 +0,0 @@ -// Custom SASS code for {{package}} \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/app-admin.scss_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/app-admin.scss_tmpl deleted file mode 100644 index dd449ab2..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/app-admin.scss_tmpl +++ /dev/null @@ -1,15 +0,0 @@ -@import "atramhasis/settings"; -@import "atramhasis/atramhasis-settings"; -@import "{{package}}-settings"; -@import "foundation"; -@import "font-awesome"; -@import "atramhasis/atramhasis-header"; -@import "atramhasis/atramhasis-footer"; -@import "atramhasis/atramhasis-custom"; -@import "atramhasis/atramhasis-home"; -@import "atramhasis/atramhasis-icons"; -@import "atramhasis/atramhasis-article"; -@import "atramhasis/atramhasis-mquery"; -@import "atramhasis/atramhasis-forms"; -@import "atramhasis/atramhasis-admin"; -@import "{{package}}-admin"; \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/app.scss_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/app.scss_tmpl deleted file mode 100644 index 267ba92a..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/+package+/static/scss/app.scss_tmpl +++ /dev/null @@ -1,14 +0,0 @@ -@import "atramhasis/settings"; -@import "atramhasis/atramhasis-settings"; -@import "{{package}}-settings"; -@import "foundation"; -@import "font-awesome"; -@import "atramhasis/atramhasis-header"; -@import "atramhasis/atramhasis-footer"; -@import "atramhasis/atramhasis-custom"; -@import "atramhasis/atramhasis-home"; -@import "atramhasis/atramhasis-icons"; -@import "atramhasis/atramhasis-article"; -//@import "atramhasis/atramhasis-topbar"; -@import "atramhasis/atramhasis-mquery"; -@import "{{package}}"; \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/CHANGES.txt_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/CHANGES.txt_tmpl deleted file mode 100644 index 00655981..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/CHANGES.txt_tmpl +++ /dev/null @@ -1,4 +0,0 @@ -0.0 ---- - -- Initial version \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/MANIFEST.in_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/MANIFEST.in_tmpl deleted file mode 100644 index b2535b7a..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/MANIFEST.in_tmpl +++ /dev/null @@ -1,2 +0,0 @@ -include *.txt *.ini *.cfg *.rst -recursive-include {{package}} *.ico *.png *.css *.gif *.jpg *.pt *.txt *.jinja2 *.js *.html *.xml \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/README.txt_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/README.txt_tmpl deleted file mode 100644 index a16bdb98..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/README.txt_tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{project}} README - -this is just a scaffold \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/alembic.ini b/atramhasis/scaffolds/atramhasis_scaffold/alembic.ini deleted file mode 100644 index 0dfeb651..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/alembic.ini +++ /dev/null @@ -1,64 +0,0 @@ -# A generic, single database configuration. - -[alembic] -# path to migration scripts -script_location = atramhasis:alembic - -# uncomment if your project uses its own alembic -# script_location = alembic -# version_locations = %(here)s/alembic/versions atramhasis:alembic/versions - -# template used to generate migration files -# file_template = %%(rev)s_%%(slug)s - -# max length of characters to apply to the -# "slug" field -#truncate_slug_length = 40 - -# set to 'true' to run the environment during -# the 'revision' command, regardless of autogenerate -# revision_environment = false - -# set to 'true' to allow .pyc and .pyo files without -# a source .py file to be detected as revisions in the -# versions/ directory -# sourceless = false - -# sqlalchemy.url = sqlite:///%(here)s/atramhasis.sqlite - -ini_location = %(here)s/development.ini - -# Logging configuration -[loggers] -keys = root,sqlalchemy,alembic - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARN -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARN -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S diff --git a/atramhasis/scaffolds/atramhasis_scaffold/development.ini_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/development.ini_tmpl deleted file mode 100644 index 5751bac4..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/development.ini_tmpl +++ /dev/null @@ -1,131 +0,0 @@ -### -# app configuration -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html -### - -[app:main] -use = egg:{{project}} - -pyramid.reload_templates = true -pyramid.debug_authorization = false -pyramid.debug_notfound = false -pyramid.debug_routematch = false -pyramid.default_locale_name = en -pyramid.includes = - pyramid_debugtoolbar - pyramid_tm -jinja2.directories = - atramhasis:templates -jinja2.extensions = - jinja2.ext.do - jinja2.ext.with_ -jinja2.filters = - label_sort = atramhasis.utils.label_sort -sqlalchemy.url = sqlite:///%(here)s/{{package}}.sqlite - -atramhasis.session_factory.secret = test123 - -skosprovider.skosregistry_location = request -skosprovider.skosregistry_factory = {{package}}.skos.create_registry - -# cache -cache.tree.backend = dogpile.cache.memory -cache.tree.arguments.cache_size = 5000 -cache.tree.expiration_time = 7000 - -cache.list.backend = dogpile.cache.memory -cache.list.arguments.cache_size = 5000 -cache.list.expiration_time = 7000 - - -# Edit and uncomment to activate nl and fr language support or other languages -# you have added yourself. -# available_languages = en nl fr - -# Run dojo from source (src) or distribution (dist) -# If unspecified, defaults to src. -dojo.mode = dist - -jinja2.i18n.domain = atramhasis - -# By default, the toolbar only appears for clients from IP addresses -# '127.0.0.1' and '::1'. -# debugtoolbar.hosts = 127.0.0.1 ::1 - -# Filesystem location to dump exports -atramhasis.dump_location = %(here)s/datadumps - -# Assume an LDF server is present? -# atramhasis.ldf.enabled = True - -# Location of the config file for the LDF server -# atramhasis.ldf.config_location = %(here)s - -# External url of the LDF server -# atramhasis.ldf.baseurl = http://demo.atramhasis.org/ldf - -# Protocol the LDF server is operating under. -# See the LDF docs for more info -# atramhasis.ldf.protocol = http - -# Edit this to be a list of ids of conceptschemes. Concepts from these schemes -# will be presented on the homepage -layout.focus_conceptschemes = - STUFF - MORE_STUFF - EVEN_MORE_STUFF - THINGS - -### -# wsgi server configuration -### - -[server:main] -use = egg:waitress#main -host = 0.0.0.0 -port = 6543 - -### -# logging configuration -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html -### - -[loggers] -keys = root, atramhasis, sqlalchemy, {{package_logger}} - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = INFO -handlers = console - -[logger_atramhasis] -level = DEBUG -handlers = -qualname = atramhasis - -[logger_sqlalchemy] -level = INFO -handlers = -qualname = sqlalchemy.engine -# "level = INFO" logs SQL queries. -# "level = DEBUG" logs SQL queries and results. -# "level = WARN" logs neither. (Recommended for production systems.) - -[logger_{{package_logger}}] -level = DEBUG -handlers = -qualname = {{package}} - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s diff --git a/atramhasis/scaffolds/atramhasis_scaffold/requirements-dev.txt_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/requirements-dev.txt_tmpl deleted file mode 100644 index 2b0c915e..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/requirements-dev.txt_tmpl +++ /dev/null @@ -1,5 +0,0 @@ -# Runtime requirements ---requirement requirements.txt - -# Atramhasis dev requirements ---requirement atramhasis-requirements-dev.txt diff --git a/atramhasis/scaffolds/atramhasis_scaffold/requirements.txt_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/requirements.txt_tmpl deleted file mode 100644 index 79d692a2..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/requirements.txt_tmpl +++ /dev/null @@ -1,5 +0,0 @@ -# Atramhasis requirements ---requirement atramhasis-requirements.txt - -# Atramhasis -atramhasis \ No newline at end of file diff --git a/atramhasis/scaffolds/atramhasis_scaffold/setup.cfg_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/setup.cfg_tmpl deleted file mode 100644 index 6799b93b..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/setup.cfg_tmpl +++ /dev/null @@ -1,21 +0,0 @@ -[compile_catalog] -directory = {{package}}/locale -domain = atramhasis -statistics = true - -[extract_messages] -add_comments = TRANSLATORS: -output_file = {{package}}/locale/atramhasis.pot -width = 80 -mapping_file = message-extraction.ini - -[init_catalog] -domain = atramhasis -input_file = {{package}}/locale/atramhasis.pot -output_dir = {{package}}/locale - -[update_catalog] -domain = atramhasis -input_file = {{package}}/locale/atramhasis.pot -output_dir = {{package}}/locale -previous = true diff --git a/atramhasis/scaffolds/atramhasis_scaffold/setup.py_tmpl b/atramhasis/scaffolds/atramhasis_scaffold/setup.py_tmpl deleted file mode 100644 index d7895276..00000000 --- a/atramhasis/scaffolds/atramhasis_scaffold/setup.py_tmpl +++ /dev/null @@ -1,52 +0,0 @@ -import os - -from setuptools import setup, find_packages - -here = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(here, 'README.txt')) as f: - README = f.read() -with open(os.path.join(here, 'CHANGES.txt')) as f: - CHANGES = f.read() - -requires = [ - 'pyramid', - 'pyramid_tm', - 'SQLAlchemy', - 'transaction', - 'zope.sqlalchemy', - 'waitress', - 'skosprovider', - 'skosprovider_sqlalchemy', - 'pyramid_skosprovider', - 'pyramid_jinja2', - 'alembic', - 'babel', - 'colander', - 'atramhasis' - ] - -setup(name='{{project}}', - version='0.0', - description='{{project}}', - long_description=README + '\n\n' + CHANGES, - classifiers=[ - "Programming Language :: Python", - "Framework :: Pyramid", - "Topic :: Internet :: WWW/HTTP", - "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", - ], - author='', - author_email='', - url='', - keywords='web pyramid pylons', - packages=find_packages(), - include_package_data=True, - zip_safe=False, - install_requires=requires, - tests_require=requires, - test_suite="{{package}}", - entry_points="""\ - [paste.app_factory] - main = {{package}}:main - """, - ) diff --git a/atramhasis/views/rdf.py b/atramhasis/views/rdf.py index 0a47cab4..021ac13c 100644 --- a/atramhasis/views/rdf.py +++ b/atramhasis/views/rdf.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- import os -from pyramid import compat from pyramid.renderers import render from pyramid.response import Response, FileResponse from pyramid.view import view_defaults, view_config @@ -128,7 +127,7 @@ def rdf_individual_export_turtle(self): def get_conceptscheme_jsonld(self): conceptscheme = ProviderView(self.request).get_conceptscheme_jsonld() response = Response(content_type='application/ld+json') - response.text = compat.text_(render('skosjsonld', conceptscheme, self.request)) + response.text = render('skosjsonld', conceptscheme, self.request) response.content_disposition = 'attachment; filename="%s.jsonld"' % (str(self.scheme_id),) return response @@ -138,6 +137,6 @@ def get_conceptscheme_jsonld(self): def get_concept(self): concept = ProviderView(self.request).get_concept() response = Response(content_type='application/ld+json') - response.text = compat.text_(render('skosjsonld', concept, self.request)) + response.text = render('skosjsonld', concept, self.request) response.content_disposition = 'attachment; filename="%s.jsonld"' % (str(self.c_id),) return response diff --git a/docs/source/customisation.rst b/docs/source/customisation.rst index 28853b1d..f05d5471 100644 --- a/docs/source/customisation.rst +++ b/docs/source/customisation.rst @@ -16,24 +16,7 @@ instance with only these default settings. Creating your own project ========================= -Whenever you want to run an instance of Atramhasis, you start by creating your -own project. This is the place where you will maintain and develop your own -custom templates, static assets such as stylesheets, your security implementation -and other general configuration. To make it easier on you to get started, we -provide a scaffold just for this. As always, we advise working in a -virtual environment. - -.. code-block:: bash - - $ mkvirtualenv my_thesaurus - $ pip install atramhasis - $ pcreate -s atramhasis_scaffold my_thesaurus - $ cd my_thesaurus - # Install dependencies - $ pip install -r requirements-dev.txt - # Download and install client side libraries - $ cd my_thesaurus/static - $ npm install +Follow the README at `atramhasis_scaffold_cookiecutter `_ This gives you a clean slate to start your customisations on. diff --git a/requirements-dev-base.txt b/requirements-dev-base.txt index 57d7625d..cb833aae 100644 --- a/requirements-dev-base.txt +++ b/requirements-dev-base.txt @@ -4,21 +4,17 @@ pyramid-debugtoolbar==4.6.1 # Testing -pytest==4.6.11 ; python_version < '3.0' -pytest==6.0.1 ; python_version >= '3.0' +pytest==6.0.1 pytest-cov==2.10.0 coveralls==1.11.1 webtest==2.0.35 -mock==3.0.5 ; python_version < '3.6' -mock==4.0.2 ; python_version >= '3.6' +mock==4.0.2 testfixtures==6.14.1 # Documentation -Sphinx==1.8.5 ; python_version < '3.5' -Sphinx==3.2.0 ; python_version >= '3.5' +Sphinx==3.2.0 sphinxcontrib-httpdomain==1.7.0 -pygments==2.5.2 ; python_version < '3.5' -pygments==2.7.4 ; python_version >= '3.5' +pygments==2.7.4 # waitress waitress==1.4.4 diff --git a/requirements.txt b/requirements.txt index 80acc415..afc5093a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,28 +1,21 @@ # pyramid -pyramid==1.10.4 +pyramid==2.0 pyramid-tm==2.4 pyramid_rewrite==0.2 -skosprovider==0.7.1 -#-e git+https://github.com/koenedaele/skosprovider.git@develop#egg=skosprovider +# skosprovider +skosprovider==1.0.0 skosprovider_sqlalchemy==0.6.0 -#-e git+https://github.com/koenedaele/skosprovider_sqlalchemy.git@0.6.0#egg=skosprovider_sqlalchemy -pyramid_skosprovider==0.9.1 -#-e git+https://github.com/koenedaele/pyramid_skosprovider.git@0.9.1#egg=pyramid_skosprovider +pyramid_skosprovider==1.0.0 skosprovider_rdf==0.8.1 -#-e git+https://github.com/OnroerendErfgoed/skosprovider_rdf.git@develop#egg=skosprovider_rdf skosprovider_getty==0.5.1 -#-e git+https://github.com/OnroerendErfgoed/skosprovider_getty.git@0.5.0#egg=skosprovider_getty -#language-tags -#language-tags==0.5.0 ; python_version < '3.6' -language-tags==1.0.0 ; python_version >= '3.6' +language-tags==1.0.0 -# sqlalchemy +# database sqlalchemy==1.3.18 zope.sqlalchemy==1.3 transaction==3.0.0 -psycopg2==2.8.4 # jinja2 jinja2==2.11.3 @@ -32,17 +25,15 @@ Babel==2.9.1 # alembic alembic==1.4.2 -# colander +# validation colander==1.7.0 # caching dogpile.cache==0.9.0 # other -six==1.14.0 python-dateutil==2.8.1 rdflib==5.0.0 -html5lib==1.0.1 bleach==3.3.0 # requests diff --git a/setup.py b/setup.py index 299eebd0..2d2c9778 100644 --- a/setup.py +++ b/setup.py @@ -1,9 +1,9 @@ import os -import distutils.file_util as file_util -import distutils.dir_util as dir_util import subprocess -from setuptools import setup, find_packages, Command +from setuptools import Command +from setuptools import find_packages +from setuptools import setup here = os.path.abspath(os.path.dirname(__file__)) with open(os.path.join(here, 'README.rst')) as f: @@ -12,48 +12,6 @@ CHANGES = f.read() -def copy_files_scaffolds(filename, new_filename, output_dir): - source_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), filename)) - dest_dir = os.path.join(os.path.dirname(__file__), 'atramhasis', 'scaffolds', output_dir, new_filename + '_tmpl') - file_util.copy_file(source_dir, dest_dir, update=True) - - -def copy_static_scaffold(output_dir): - source_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'atramhasis', 'static')) - dest_dir = os.path.join(os.path.dirname(__file__), 'atramhasis', 'scaffolds', output_dir, '+package+', 'static') - dir_util.copy_tree(os.path.join(source_dir, 'css'), os.path.join(dest_dir, 'css'), update=True) - dir_util.copy_tree(os.path.join(source_dir, 'img'), os.path.join(dest_dir, 'img'), update=True) - dir_util.copy_tree(os.path.join(source_dir, 'js'), os.path.join(dest_dir, 'js'), update=True) - dir_util.copy_tree(os.path.join(source_dir, 'scss', 'atramhasis'), os.path.join(dest_dir, 'scss', 'atramhasis'), - update=True) - file_util.copy_file( - os.path.join(source_dir, 'package.json'), - os.path.join(dest_dir, 'package.json'), - update=True - ) - file_util.copy_file( - os.path.join(source_dir, 'package-lock.json'), - os.path.join(dest_dir, 'package-lock.json'), - update=True - ) - dir_util.mkpath(os.path.join(dest_dir, 'admin')) - file_util.copy_file( - os.path.join(source_dir, 'admin', 'Gruntfile.js'), - os.path.join(dest_dir, 'admin', 'Gruntfile.js'), - update=True - ) - file_util.copy_file( - os.path.join(source_dir, 'admin', 'package.json'), - os.path.join(dest_dir, 'admin', 'package.json'), - update=True - ) - file_util.copy_file( - os.path.join(source_dir, 'admin', 'package-lock.json'), - os.path.join(dest_dir, 'admin', 'package-lock.json'), - update=True - ) - - def dojo_build(): print('-' * 50) print('==> check npm dependencies') @@ -70,7 +28,7 @@ def dojo_build(): print('-' * 50) -class PrepareScaffold(Command): +class Prepare(Command): user_options = [] def initialize_options(self): @@ -81,12 +39,6 @@ def finalize_options(self): def run(self): dojo_build() - copy_files_scaffolds("requirements.txt", "atramhasis-requirements.txt", "atramhasis_demo") - copy_files_scaffolds("requirements-dev-base.txt", "atramhasis-requirements-dev.txt", "atramhasis_demo") - copy_files_scaffolds("requirements.txt", "atramhasis-requirements.txt", "atramhasis_scaffold") - copy_files_scaffolds("requirements-dev-base.txt", "atramhasis-requirements-dev.txt", "atramhasis_scaffold") - copy_static_scaffold("atramhasis_scaffold") - copy_static_scaffold("atramhasis_demo") requires = [ @@ -102,14 +54,18 @@ def run(self): 'skosprovider_getty', 'pyramid_skosprovider', 'language_tags', + 'jinja2', 'pyramid_jinja2', 'alembic', 'babel', 'colander', 'requests', + 'cachecontrol', 'dogpile.cache', - 'six', - 'pyramid_rewrite' + 'pyramid_rewrite', + 'python-dateutil', + 'rdflib', + 'bleach', ] setup(name='atramhasis', @@ -124,7 +80,6 @@ def run(self): "Framework :: Pyramid", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" @@ -149,11 +104,8 @@ def run(self): generate_ldf_config = atramhasis.scripts.generate_ldf_config:main sitemap_generator = atramhasis.scripts.sitemap_generator:main delete_scheme = atramhasis.scripts.delete_scheme:main - [pyramid.scaffold] - atramhasis_scaffold=atramhasis.scaffolds:AtramhasisTemplate - atramhasis_demo=atramhasis.scaffolds:AtramhasisDemoTemplate """, cmdclass={ - 'prepare': PrepareScaffold + 'prepare': Prepare } ) diff --git a/tests/test_scaffold.py b/tests/test_scaffold.py deleted file mode 100644 index 6792e696..00000000 --- a/tests/test_scaffold.py +++ /dev/null @@ -1,23 +0,0 @@ -import unittest -import tempfile -import os - -from atramhasis.scaffolds import AtramhasisTemplate, AtramhasisDemoTemplate, copy_dir_to_scaffold - - -class TestScaffolding(unittest.TestCase): - def test_scaffolding(self): - atemp = AtramhasisTemplate('test') - atempdemo = AtramhasisDemoTemplate('demo') - self.assertEqual(atemp.summary, 'Create an Atramhasis implementation') - self.assertEqual(atempdemo.summary, 'Create an Atramhasis demo') - self.assertEqual(atemp.name, 'test') - self.assertEqual(atempdemo.name, 'demo') - - def test_copy_locale(self): - temp_dir = tempfile.mkdtemp() - copy_dir_to_scaffold(temp_dir, 'package', 'locale') - result_dir = os.path.join(temp_dir, 'package', 'locale') - self.assertTrue(os.path.exists(result_dir)) - size = len([name for name in os.listdir(result_dir)]) - self.assertTrue(size > 0)