From: Alex Sadleir Date: Tue, 13 May 2014 03:19:32 +0000 Subject: Merge branch 'master' of git+ssh://maxious.lambdacomplex.org/git/ckanext-datagovau X-Git-Url: https://maxious.lambdacomplex.org/git/?p=ckanext-datagovau.git&a=commitdiff&h=d7a22865a764d43554d488a543d59a32e57e61b5 --- Merge branch 'master' of git+ssh://maxious.lambdacomplex.org/git/ckanext-datagovau --- --- /dev/null +++ b/admin/autoupdate.py @@ -1,1 +1,47 @@ +import requests +import ckanapi +# copy (select id,url,format,extras from resource where extras like '%"autoupdate": "active"%') TO STDOUT WITH CSV; +# f759e4b6-723c-4863-8a26-1529d689cad8,http://data.gov.au/geoserver/geelong-roofprints-kml/wms?request=GetCapabilities,wms,"{""autoupdate"": ""active""}" +import fileinput +import csv +def updateresource(id): + url = 'http://data.disclosurelo.gs' + api_key = '' + db_credentials = '' + print id + ckan = ckanapi.RemoteCKAN('http://data.disclosurelo.gs') + #ckan = ckanapi.RemoteCKAN('http://demo.ckan.org') + resource = ckan.action.resource_show(id=id) + print resource + url = resource['url'] + #last_modified= 'Mon, 24 Feb 2014 01:48:29 GMT' + #etag='"1393206509.38-638"' + headers={} + if 'etag' in resource: + headers['If-None-Match'] = resource['etag'] + if 'file_last_modified' in resource: + headers["If-Modified-Since"] = resource['file_last_modified'] + r = requests.head(url, headers=headers) + if r.status_code == 304: + print 'not modified' + return + else: + print r.status_code + print r.headers + if 'last-modified' in r.headers: + resource['file_last_modified'] = r.headers['last-modified'] + if 'etag' in r.headers: + resource['etag'] = r.headers['etag'] + #save updated resource + if 'format' == 'shp': + print "geoingest!" + else: + ckan.action.datapusher_submit(resource_id=id) +# result = ckan.action.resource_update(id,resource) + + +for line in fileinput.input(): + row = csv.reader(line) + updateresource(line.replace("\n","")) + --- /dev/null +++ b/admin/start.sh @@ -1,1 +1,6 @@ +export NEW_RELIC_CONFIG_FILE="newrelic.ini" +export VIRTUAL_ENV="/var/lib/ckan/dga/pyenv" +export PATH="/var/lib/ckan/dga/pyenv:/var/lib/ckan/dga/pyenv/bin:$PATH" +cd /var/lib/ckan/dga/pyenv/src/ckan +newrelic-admin run-program paster serve development.ini --- a/ckanext/datagovau/plugin.py +++ b/ckanext/datagovau/plugin.py @@ -22,6 +22,9 @@ filtered_dict[dataset['id']] = dataset return filtered_dict.values() +def related_create(context, data_dict=None): + return {'success': False, 'msg': 'No one is allowed to create related items'} + class DataGovAuPlugin(plugins.SingletonPlugin, tk.DefaultDatasetForm): '''An example IDatasetForm CKAN plugin. @@ -31,6 +34,10 @@ ''' plugins.implements(plugins.IConfigurer, inherit=False) plugins.implements(plugins.ITemplateHelpers, inherit=False) + plugins.implements(plugins.IAuthFunctions) + + def get_auth_functions(self): + return {'rekated_create': related_create} def update_config(self, config): # Add this plugin's templates dir to CKAN's extra_template_paths, so --- a/ckanext/datagovau/templates/home/index.html +++ b/ckanext/datagovau/templates/home/index.html @@ -1,24 +1,18 @@ {% ckan_extends %} - {% block home_search %} - -
- -
-
-
- - +
-
-

{{ _("Search Your Data") }}

-
- - -
-
+{{ super() }} {% endblock %} --- /dev/null +++ b/ckanext/datagovau/templates/home/snippets/promoted.html @@ -1,1 +1,17 @@ +{% set intro = g.site_intro_text %} +
+
+ {% if intro %} + {{ h.render_markdown(intro) }} + {% else %} +

{{ _("Welcome to CKAN") }}

+

+ {% trans %}This is a nice introductory paragraph about CKAN or the site + in general. We don't have any copy to go here yet but soon we will + {% endtrans %} +

+ {% endif %} +
+
+ --- a/ckanext/datagovau/templates/home/snippets/search.html +++ /dev/null @@ -1,70 +1,1 @@ -
- - - -
-
-
- - - - - -{% set tags = h.get_facet_items_dict('tags', limit=3) %} -{% set placeholder = _('eg. Gold Prices') %} - - - --- /dev/null +++ b/ckanext/datagovau/templates/home/snippets/stats.html @@ -1,1 +1,78 @@ +{% set stats = h.get_site_statistics() %} + +
+ +
+ +
+
+ + + + + + --- /dev/null +++ b/ckanext/datagovau/templates/package/snippets/resource_form.html @@ -1,1 +1,43 @@ +{% ckan_extends %} + {% block basic_fields_url %} + {% set is_upload = (data.url_type == 'upload') %} + {% set field_url='url' %} + {% set field_upload='upload' %} + {% set field_clear='clear_upload' %} + {% set is_upload_enabled=h.uploads_enabled() %} + {% set is_url=data.url and not is_upload %} + {% set upload_label=_('File') %} + {% set url_label=_('URL') %} + + {% set placeholder = placeholder if placeholder else _('http://example.com/my-image.jpg') %} + {% set url_label = url_label or _('Image URL') %} + {% set upload_label = upload_label or _('Image') %} + + {% if is_upload_enabled %} +
+ {% endif %} + + {% call form.input(field_url, label=url_label, id='field-image-url', placeholder=placeholder, value=data.get(field_url), error=errors.get(field_url), classes=['control-full']) %} + + {% call form.select('autoupdate', label=_('Generate API from this Link'), options= [{'value': 'active', 'text': 'Active'}, {'value': 'inactive', 'text': 'Inactive'}], selected='Active', error=errors.autoupdate) %} +
+Where a file is compatible with either CKAN or GeoServer we will attempt to make a functional end-point for this resource. The link provided above will also be checked for a new version based on the update frequency as set at the dataset level. +
+{% endcall %} +{% endcall %} + + {% if is_upload_enabled %} + {{ form.input(field_upload, label=upload_label, id='field-image-upload', type='file', placeholder='', value='', error='', classes=['control-full']) }} + {% if is_upload %} + {{form.checkbox(field_clear, label=_('Clear Upload'), id='field-clear-upload', value='true', error='', classes=['control-full']) }} + {% endif %} + {% endif %} + + {% if is_upload_enabled %}
{% endif %} + + + {% endblock %} + +