Move Disqus comments to package not resource page
Move Disqus comments to package not resource page

<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="BookmarkManager"> <component name="BookmarkManager">
<bookmark url="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf" line="71" /> <bookmark url="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf" line="71" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="89ace156-8d75-43de-ba53-6e829c197435" name="Default" comment=""> <list default="true" id="89ace156-8d75-43de-ba53-6e829c197435" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html" afterPath="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf" afterPath="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf" />  
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html" afterPath="$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html" />  
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list> </list>
<ignored path="ckanext-datagovau.iws" /> <ignored path="ckanext-datagovau.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
<file path="/Dummy.txt" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378773145747" ignored="false" /> <file path="/Dummy.txt" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1379979540844" ignored="false" />
<file path="/plugin.py" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378731005672" ignored="false" /> <file path="/plugin.py" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378731005672" ignored="false" />
<file path="/setup.py" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378168657134" ignored="false" /> <file path="/setup.py" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378168657134" ignored="false" />
<file path="/package_basic_fields.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378727992485" ignored="false" /> <file path="/package_basic_fields.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378727992485" ignored="false" />
<file path="/package_metadata_fields.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378729194397" ignored="false" /> <file path="/package_metadata_fields.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378729194397" ignored="false" />
<file path="/read_base.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378774943838" ignored="false" /> <file path="/read_base.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378774943838" ignored="false" />
<file path="/read.rdf" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378775057466" ignored="false" /> <file path="/read.rdf" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378775057466" ignored="false" />
<file path="/README.rst" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378703724236" ignored="false" /> <file path="/README.rst" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378703724236" ignored="false" />
<file path="/a.dummy" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378689054922" ignored="false" /> <file path="/a.dummy" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378689054922" ignored="false" />
<file path="/read.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378721657045" ignored="false" /> <file path="/read.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378721657045" ignored="false" />
<file path="/create.py" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378705719051" ignored="false" /> <file path="/create.py" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378705719051" ignored="false" />
<file path="/additional_info.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378717234941" ignored="false" /> <file path="/additional_info.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378717234941" ignored="false" />
<file path="/resource_read.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378775248415" ignored="false" /> <file path="/resource_read.html" changelist="89ace156-8d75-43de-ba53-6e829c197435" time="1378775248415" ignored="false" />
<option name="TRACKING_ENABLED" value="true" /> <option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor"> <component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" /> <option name="PATCH_PATH" value="" />
</component> </component>
<component name="DaemonCodeAnalyzer"> <component name="DaemonCodeAnalyzer">
<disable_hints /> <disable_hints />
</component> </component>
<component name="DebuggerManager"> <component name="DebuggerManager">
<ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />  
<breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true"> <breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
<breakpoint> <breakpoint>
<option name="NOTIFY_CAUGHT" value="true" /> <option name="NOTIFY_CAUGHT" value="true" />
<option name="NOTIFY_UNCAUGHT" value="true" /> <option name="NOTIFY_UNCAUGHT" value="true" />
<option name="ENABLED" value="false" /> <option name="ENABLED" value="false" />
<option name="LOG_ENABLED" value="false" /> <option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="REMOVE_AFTER_HIT" value="false" /> <option name="REMOVE_AFTER_HIT" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="SUSPEND" value="true" /> <option name="SUSPEND" value="true" />
<option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" /> <option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="true" /> <option name="CONDITION_ENABLED" value="true" />
<option name="CLASS_FILTERS_ENABLED" value="false" /> <option name="CLASS_FILTERS_ENABLED" value="false" />
<option name="INSTANCE_FILTERS_ENABLED" value="false" /> <option name="INSTANCE_FILTERS_ENABLED" value="false" />
<option name="CONDITION" value="" /> <option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" /> <option name="LOG_MESSAGE" value="" />
</breakpoint> </breakpoint>
<breakpoint> <breakpoint>
<option name="NOTIFY_CAUGHT" value="true" /> <option name="NOTIFY_CAUGHT" value="true" />
<option name="NOTIFY_UNCAUGHT" value="true" /> <option name="NOTIFY_UNCAUGHT" value="true" />
<option name="ENABLED" value="false" /> <option name="ENABLED" value="false" />
<option name="LOG_ENABLED" value="false" /> <option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="REMOVE_AFTER_HIT" value="false" /> <option name="REMOVE_AFTER_HIT" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="SUSPEND" value="true" /> <option name="SUSPEND" value="true" />
<option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" /> <option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="true" /> <option name="CONDITION_ENABLED" value="true" />
<option name="CLASS_FILTERS_ENABLED" value="false" /> <option name="CLASS_FILTERS_ENABLED" value="false" />
<option name="INSTANCE_FILTERS_ENABLED" value="false" /> <option name="INSTANCE_FILTERS_ENABLED" value="false" />
<option name="CONDITION" value="" /> <option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" /> <option name="LOG_MESSAGE" value="" />
</breakpoint> </breakpoint>
</breakpoint_any> </breakpoint_any>
  <ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
<breakpoint_rules /> <breakpoint_rules />
<ui_properties /> <ui_properties />
</component> </component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager"> <component name="FavoritesManager">
<favorites_list name="ckanext-datagovau" /> <favorites_list name="ckanext-datagovau" />
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf> <leaf>
<file leaf-file-name="package_metadata_fields.html" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="package_metadata_fields.html" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html"> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="35" column="74" selection-start="1081" selection-end="1081" vertical-scroll-proportion="-20.875"> <state line="35" column="74" selection-start="1081" selection-end="1081" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="read_base.html" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="read_base.html" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html"> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="11" column="0" selection-start="247" selection-end="1668" vertical-scroll-proportion="-6.875"> <state line="11" column="0" selection-start="247" selection-end="1668" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="resource_read.html" pinned="false" current="true" current-in-tab="true"> <file leaf-file-name="resource_read.html" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html"> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="14" column="89" selection-start="580" selection-end="580" vertical-scroll-proportion="0.30837005"> <state line="31" column="51" selection-start="1921" selection-end="1921" vertical-scroll-proportion="-19.038462">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="read.rdf" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="read.html" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf"> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="47" column="50" selection-start="2578" selection-end="2596" vertical-scroll-proportion="0.0"> <state line="7" column="14" selection-start="148" selection-end="148" vertical-scroll-proportion="0.18364197">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
</leaf> </leaf>
</component> </component>
<component name="FindManager"> <component name="FindManager">
<FindUsagesManager> <FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="false" /> <setting name="OPEN_NEW_TAB" value="false" />
</FindUsagesManager> </FindUsagesManager>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="GitLogSettings"> <component name="GitLogSettings">
<option name="myDateState"> <option name="myDateState">
<MyDateState /> <MyDateState />
</option> </option>
</component> </component>
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="changedFiles"> <option name="changedFiles">
<list> <list>
<option value="$PROJECT_DIR$/ckanext/datagovau/theme/templates/layout.html" /> <option value="$PROJECT_DIR$/ckanext/datagovau/theme/templates/layout.html" />
<option value="$PROJECT_DIR$/ckanext/datagovau/forms.py" /> <option value="$PROJECT_DIR$/ckanext/datagovau/forms.py" />
<option value="$PROJECT_DIR$/setup.py" /> <option value="$PROJECT_DIR$/setup.py" />
<option value="$PROJECT_DIR$/README.rst" /> <option value="$PROJECT_DIR$/README.rst" />
<option value="$PROJECT_DIR$/ckanext/datagovau/theme/public/licenses.json" /> <option value="$PROJECT_DIR$/ckanext/datagovau/theme/public/licenses.json" />
<option value="$PROJECT_DIR$/../ckan/ckan/logic/action/create.py" /> <option value="$PROJECT_DIR$/../ckan/ckan/logic/action/create.py" />
<option value="$PROJECT_DIR$/../ckan/ckan/templates/package/snippets/additional_info.html" /> <option value="$PROJECT_DIR$/../ckan/ckan/templates/package/snippets/additional_info.html" />
<option value="$PROJECT_DIR$/../ckan/ckan/templates/package/read_base.html" /> <option value="$PROJECT_DIR$/../ckan/ckan/templates/package/read_base.html" />
<option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html" />  
<option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_basic_fields.html" /> <option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_basic_fields.html" />
<option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html" /> <option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html" />
<option value="$PROJECT_DIR$/ckanext/datagovau/plugin.py" /> <option value="$PROJECT_DIR$/ckanext/datagovau/plugin.py" />
<option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html" /> <option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html" />
<option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf" /> <option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf" />
<option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html" /> <option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html" />
  <option value="$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html" />
</list> </list>
</option> </option>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="1280" /> <option name="x" value="-4" />
<option name="width" value="1920" /> <option name="y" value="-4" />
<option name="height" value="1080" /> <option name="width" value="1928" />
  <option name="height" value="1044" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false"> <component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" /> <OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" /> <OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" /> <OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" /> <OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" /> <OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" /> <OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" /> <ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" /> <ConfirmationsSetting value="0" id="Remove" />
</component> </component>
<component name="ProjectReloadState"> <component name="ProjectReloadState">
<option name="STATE" value="0" /> <option name="STATE" value="0" />
</component> </component>
<component name="ProjectView"> <component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5"> <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
<flattenPackages /> <flattenPackages />
<showMembers /> <showMembers />
<showModules /> <showModules />
<showLibraryContents /> <showLibraryContents />
<hideEmptyPackages /> <hideEmptyPackages />
<abbreviatePackageNames /> <abbreviatePackageNames />
<autoscrollToSource /> <autoscrollToSource />
<autoscrollFromSource /> <autoscrollFromSource />
<sortByType /> <sortByType />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" /> <pane id="PackagesPane" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value=".idea" /> <option name="myItemId" value=".idea" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext_datagovau.egg-info" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
</PATH>  
<PATH>  
<PATH_ELEMENT>  
<option name="myItemId" value="ckanext-datagovau" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="ckanext-datagovau" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="ckanext" /> <option name="myItemId" value="ckanext" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext" /> <option name="myItemId" value="ckanext" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="datagovau" /> <option name="myItemId" value="datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext" /> <option name="myItemId" value="ckanext" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="datagovau" /> <option name="myItemId" value="datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="public" /> <option name="myItemId" value="public" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext-datagovau" /> <option name="myItemId" value="ckanext-datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="ckanext" /> <option name="myItemId" value="ckanext" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="datagovau" /> <option name="myItemId" value="datagovau" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
  <option name="myItemId" value="templates" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  </PATH>
  <PATH>
  <PATH_ELEMENT>
  <option name="myItemId" value="ckanext-datagovau" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="ckanext-datagovau" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="ckanext" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="datagovau" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="templates" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
<option name="myItemId" value="package" /> <option name="myItemId" value="package" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
</PATH>  
<PATH>  
<PATH_ELEMENT>  
<option name="myItemId" value="ckanext-datagovau" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="ckanext-datagovau" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="ckanext" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="datagovau" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="package" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />  
</PATH_ELEMENT>  
<PATH_ELEMENT>  
<option name="myItemId" value="snippets" />  
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" /> <pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="GoToFile.includeJavaFiles" value="false" /> <property name="GoToFile.includeJavaFiles" value="false" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" /> <property name="GoToClass.toSaveIncludeLibraries" value="false" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="MemberChooser.sorted" value="false" /> <property name="MemberChooser.sorted" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../ckan/ckan/templates/package/resource_read.html" /> <property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="MemberChooser.showClasses" value="true" /> <property name="MemberChooser.showClasses" value="true" />
  <property name="GoToClass.includeLibraries" value="false" />
<property name="DefaultHtmlFileTemplate" value="Html5" /> <property name="DefaultHtmlFileTemplate" value="Html5" />
<property name="GoToClass.includeLibraries" value="false" />  
<property name="MemberChooser.copyJavadoc" value="false" /> <property name="MemberChooser.copyJavadoc" value="false" />
</component> </component>
<component name="PyConsoleOptionsProvider"> <component name="PyConsoleOptionsProvider">
<option name="myPythonConsoleState"> <option name="myPythonConsoleState">
<PyConsoleSettings /> <PyConsoleSettings />
</option> </option>
<option name="myDjangoConsoleState"> <option name="myDjangoConsoleState">
<PyConsoleSettings /> <PyConsoleSettings />
</option> </option>
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/ckanext/datagovau/templates/package" /> <recent name="$PROJECT_DIR$/ckanext/datagovau/templates/package" />
</key> </key>
</component> </component>
<component name="RunManager"> <component name="RunManager">
<configuration default="true" type="Remote" factoryName="Remote">  
<option name="USE_SOCKET_TRANSPORT" value="true" />  
<option name="SERVER_MODE" value="false" />  
<option name="SHMEM_ADDRESS" value="javadebug" />  
<option name="HOST" value="localhost" />  
<option name="PORT" value="5005" />  
<method />  
</configuration>  
<configuration default="true" type="PythonConfigurationType" factoryName="Python"> <configuration default="true" type="PythonConfigurationType" factoryName="Python">
<option name="INTERPRETER_OPTIONS" value="" /> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" /> <option name="PARENT_ENVS" value="true" />
<envs> <envs>
<env name="PYTHONUNBUFFERED" value="1" /> <env name="PYTHONUNBUFFERED" value="1" />
</envs> </envs>
<option name="SDK_HOME" value="" /> <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" /> <option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" /> <option name="IS_MODULE_SDK" value="false" />
<module name="ckanext-datagovau" /> <module name="ckanext-datagovau" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" /> <option name="SCRIPT_NAME" value="" />
<option name="PARAMETERS" value="" /> <option name="PARAMETERS" value="" />
  <method />
  </configuration>
  <configuration default="true" type="Remote" factoryName="Remote">
  <option name="USE_SOCKET_TRANSPORT" value="true" />
  <option name="SERVER_MODE" value="false" />
  <option name="SHMEM_ADDRESS" value="javadebug" />
  <option name="HOST" value="localhost" />
  <option name="PORT" value="5005" />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="tests" factoryName="Unittests"> <configuration default="true" type="tests" factoryName="Unittests">
<option name="INTERPRETER_OPTIONS" value="" /> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" /> <option name="PARENT_ENVS" value="true" />
<envs /> <envs />
<option name="SDK_HOME" value="" /> <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" /> <option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" /> <option name="IS_MODULE_SDK" value="false" />
<module name="" /> <module name="" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" /> <option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" /> <option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" /> <option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" /> <option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" /> <option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" /> <option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" /> <option name="USE_PATTERN" value="false" />
<option name="PUREUNITTEST" value="true" /> <option name="PUREUNITTEST" value="true" />
<option name="PARAMS" value="" /> <option name="PARAMS" value="" />
<option name="USE_PARAM" value="false" /> <option name="USE_PARAM" value="false" />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="Applet" factoryName="Applet"> <configuration default="true" type="Applet" factoryName="Applet">
<module name="" /> <module name="" />
<option name="MAIN_CLASS_NAME" /> <option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" /> <option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" /> <option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" /> <option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" /> <option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" /> <option name="VM_PARAMETERS" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" /> <option name="ALTERNATIVE_JRE_PATH" />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="Application" factoryName="Application"> <configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" /> <option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" /> <option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" /> <option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" /> <option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" /> <option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" /> <option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" /> <option name="PASS_PARENT_ENVS" value="true" />
<module name="" /> <module name="" />
<envs /> <envs />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="tests" factoryName="Doctests"> <configuration default="true" type="tests" factoryName="Doctests">
<option name="INTERPRETER_OPTIONS" value="" /> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" /> <option name="PARENT_ENVS" value="true" />
<envs /> <envs />
<option name="SDK_HOME" value="" /> <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" /> <option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" /> <option name="IS_MODULE_SDK" value="false" />
<module name="ckanext-datagovau" /> <module name="ckanext-datagovau" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" /> <option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" /> <option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" /> <option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" /> <option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" /> <option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" /> <option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" /> <option name="USE_PATTERN" value="false" />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="JavascriptDebugSession" factoryName="Local" singleton="true"> <configuration default="true" type="JavascriptDebugSession" factoryName="Local" singleton="true">
<JSDebuggerConfigurationSettings> <JSDebuggerConfigurationSettings>
<option name="engineId" value="embedded" /> <option name="engineId" value="embedded" />
<option name="fileUrl" /> <option name="fileUrl" />
</JSDebuggerConfigurationSettings> </JSDebuggerConfigurationSettings>
<method /> <method />
</configuration> </configuration>
<list size="0" /> <list size="0" />
<configuration name="&lt;template&gt;" type="JUnit" default="true" selected="false"> <configuration name="&lt;template&gt;" type="JUnit" default="true" selected="false">
<option name="MAIN_CLASS_NAME" /> <option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" /> <option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
</configuration> </configuration>
<configuration name="&lt;template&gt;" type="TestNG" default="true" selected="false"> <configuration name="&lt;template&gt;" type="TestNG" default="true" selected="false">
<option name="MAIN_CLASS_NAME" /> <option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" /> <option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
</configuration> </configuration>
<configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false"> <configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" /> <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" />
</configuration> </configuration>
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false"> <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<Host>localhost</Host> <Host>localhost</Host>
<Port>5050</Port> <Port>5050</Port>
</configuration> </configuration>
</component> </component>
<component name="ShelveChangesManager" show_recycled="false" /> <component name="ShelveChangesManager" show_recycled="false" />
<component name="TodoView" selected-index="0"> <component name="TodoView" selected-index="0">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
<are-packages-shown value="false" /> <are-packages-shown value="false" />
<are-modules-shown value="false" /> <are-modules-shown value="false" />
<flatten-packages value="false" /> <flatten-packages value="false" />
<is-autoscroll-to-source value="true" /> <is-autoscroll-to-source value="true" />
</todo-panel> </todo-panel>
<todo-panel id="all"> <todo-panel id="all">
<are-packages-shown value="true" /> <are-packages-shown value="true" />
<are-modules-shown value="false" /> <are-modules-shown value="false" />
<flatten-packages value="false" /> <flatten-packages value="false" />
<is-autoscroll-to-source value="true" /> <is-autoscroll-to-source value="true" />
</todo-panel> </todo-panel>
<todo-panel id="default-changelist"> <todo-panel id="default-changelist">
<are-packages-shown value="false" /> <are-packages-shown value="false" />
<are-modules-shown value="false" /> <are-modules-shown value="false" />
<flatten-packages value="false" /> <flatten-packages value="false" />
<is-autoscroll-to-source value="false" /> <is-autoscroll-to-source value="false" />
</todo-panel> </todo-panel>
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="1280" y="0" width="1920" height="1080" extended-state="6" /> <frame x="-4" y="-4" width="1928" height="1044" extended-state="6" />
<editor active="true" /> <editor active="false" />
<layout> <layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290735" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290735" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290735" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290735" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16183448" sideWeight="0.7795527" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16183448" sideWeight="0.77951" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22044729" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22048998" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.22091782" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.22091782" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout> </layout>
</component> </component>
<component name="VcsContentAnnotationSettings"> <component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" /> <option name="myLimit" value="2678400000" />
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" /> <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" /> <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
<option name="CHECK_NEW_TODO" value="true" /> <option name="CHECK_NEW_TODO" value="true" />
<option name="myTodoPanelSettings"> <option name="myTodoPanelSettings">
<value> <value>
<are-packages-shown value="false" /> <are-packages-shown value="false" />
<are-modules-shown value="false" /> <are-modules-shown value="false" />
<flatten-packages value="false" /> <flatten-packages value="false" />
<is-autoscroll-to-source value="false" /> <is-autoscroll-to-source value="false" />
</value> </value>
</option> </option>
<option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" /> <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" /> <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
<option name="PERFORM_EDIT_IN_BACKGROUND" value="true" /> <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
<option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" /> <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
<option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" /> <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
<option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" /> <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
<option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" /> <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
<option name="CHANGED_ON_SERVER_INTERVAL" value="60" /> <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" /> <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" /> <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
<option name="DEFAULT_PATCH_EXTENSION" value="patch" /> <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
<option name="SHORT_DIFF_HORIZONTALLY" value="true" /> <option name="SHORT_DIFF_HORIZONTALLY" value="true" />
<option name="SHORT_DIFF_EXTRA_LINES" value="2" /> <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" /> <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" /> <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" /> <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" /> <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" /> <option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
<option name="SHOW_DIRTY_RECURSIVELY" value="false" /> <option name="SHOW_DIRTY_RECURSIVELY" value="false" />
<option name="LIMIT_HISTORY" value="true" /> <option name="LIMIT_HISTORY" value="true" />
<option name="MAXIMUM_HISTORY_ROWS" value="1000" /> <option name="MAXIMUM_HISTORY_ROWS" value="1000" />
<option name="UPDATE_FILTER_SCOPE_NAME" /> <option name="UPDATE_FILTER_SCOPE_NAME" />
<option name="USE_COMMIT_MESSAGE_MARGIN" value="false" /> <option name="USE_COMMIT_MESSAGE_MARGIN" value="false" />
<option name="COMMIT_MESSAGE_MARGIN_SIZE" value="72" /> <option name="COMMIT_MESSAGE_MARGIN_SIZE" value="72" />
<option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" /> <option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" /> <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" /> <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="Update HTML package output to interim metadata standard" /> <option name="LAST_COMMIT_MESSAGE" value="Update HTML package output to interim metadata standard" />
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" /> <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" /> <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" /> <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" /> <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" /> <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" /> <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" /> <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
<option name="ACTIVE_VCS_NAME" /> <option name="ACTIVE_VCS_NAME" />
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" /> <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" /> <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
<option name="UPDATE_FILTER_BY_SCOPE" value="false" /> <option name="UPDATE_FILTER_BY_SCOPE" value="false" />
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" /> <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" /> <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
<MESSAGE value="Update HTML package output to interim metadata standard" /> <MESSAGE value="Update HTML package output to interim metadata standard" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager /> <breakpoint-manager />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/../ckan/ckan/templates/base.html"> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" /> <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
</provider> <folding />
</entry> </state>
<entry file="file://$PROJECT_DIR$/../ckan/ckan/templates/macros/form.html"> </provider>
<provider selected="true" editor-type-id="text-editor"> </entry>
<state line="94" column="0" selection-start="4027" selection-end="4027" vertical-scroll-proportion="-21.333334" /> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html">
  <provider selected="true" editor-type-id="text-editor">
  <state line="11" column="0" selection-start="247" selection-end="1668" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html">
  <provider selected="true" editor-type-id="text-editor">
  <state line="14" column="89" selection-start="580" selection-end="580" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_basic_fields.html">
  <provider selected="true" editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/plugin.py">
  <provider selected="true" editor-type-id="text-editor">
  <state line="106" column="0" selection-start="4140" selection-end="4271" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html">
  <provider selected="true" editor-type-id="text-editor">
  <state line="35" column="74" selection-start="1081" selection-end="1081" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html">
  <provider selected="true" editor-type-id="text-editor">
  <state line="11" column="0" selection-start="247" selection-end="1668" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf">
  <provider selected="true" editor-type-id="text-editor">
  <state line="47" column="50" selection-start="2578" selection-end="2596" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html">
  <provider selected="true" editor-type-id="text-editor">
  <state line="31" column="51" selection-start="1921" selection-end="1921" vertical-scroll-proportion="-19.038462">
  <folding />
  </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html"> <entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0"> <state line="7" column="14" selection-start="148" selection-end="148" vertical-scroll-proportion="0.18364197">
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_basic_fields.html">  
<provider selected="true" editor-type-id="text-editor">  
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">  
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/templates/package/snippets/package_metadata_fields.html">  
<provider selected="true" editor-type-id="text-editor">  
<state line="21" column="0" selection-start="1147" selection-end="1147" vertical-scroll-proportion="-0.625" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/model/package.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="209" column="0" selection-start="7434" selection-end="7434" vertical-scroll-proportion="0.0" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/logic/action/get.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="758" column="37" selection-start="24462" selection-end="24462" vertical-scroll-proportion="-6.6" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/logic/schema.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="172" column="0" selection-start="7641" selection-end="7641" vertical-scroll-proportion="0.0" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/lib/navl/validators.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/logic/converters.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="33" column="0" selection-start="391" selection-end="1056" vertical-scroll-proportion="0.0" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/plugin.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="106" column="0" selection-start="4140" selection-end="4271" vertical-scroll-proportion="0.0" />  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/snippets/package_metadata_fields.html">  
<provider selected="true" editor-type-id="text-editor">  
<state line="35" column="74" selection-start="1081" selection-end="1081" vertical-scroll-proportion="-20.875">  
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read_base.html">  
<provider selected="true" editor-type-id="text-editor">  
<state line="11" column="0" selection-start="247" selection-end="1668" vertical-scroll-proportion="-6.875">  
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/../ckan/ckan/templates/package/resource_read.html">  
<provider selected="true" editor-type-id="text-editor">  
<state line="24" column="105" selection-start="970" selection-end="970" vertical-scroll-proportion="0.48018292">  
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/read.rdf">  
<provider selected="true" editor-type-id="text-editor">  
<state line="47" column="50" selection-start="2578" selection-end="2596" vertical-scroll-proportion="0.0">  
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/ckanext/datagovau/templates/package/resource_read.html">  
<provider selected="true" editor-type-id="text-editor">  
<state line="14" column="89" selection-start="580" selection-end="580" vertical-scroll-proportion="0.30837005">  
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</component> </component>
</project> </project>
   
   
import logging import logging
   
import ckan.plugins as plugins import ckan.plugins as plugins
import ckan.lib as lib import ckan.lib as lib
import ckan.lib.dictization.model_dictize as model_dictize import ckan.lib.dictization.model_dictize as model_dictize
import ckan.plugins.toolkit as tk import ckan.plugins.toolkit as tk
import ckan.model as model import ckan.model as model
  from pylons import config
   
#parse the activity feed for last active non-system user #parse the activity feed for last active non-system user
def get_last_active_user(id): def get_last_active_user(id):
system_user = "de0ba262-83fe-45e2-adda-41bb9f0c86d8" system_user = lib.helpers.get_action('user_show',{'id': config.get('ckan.site_id', 'ckan_site_user')})
user_list = [x for x in lib.helpers.get_action('package_activity_list',{'id':id}) if x['user_id'] != system_user] user_list = [x for x in lib.helpers.get_action('package_activity_list',{'id':id}) if x['user_id'] != system_user['id']]
user = user_list[0]['user_id'] user = None
  if len(user_list) > 0:
  user = user_list[0].get('user_id', None)
if user is None: if user is None:
return lib.helpers.get_action('user_show',{'id':system_user}) return system_user
else: else:
return lib.helpers.get_action('user_show',{'id':user}) return lib.helpers.get_action('user_show',{'id':user})
   
  # get user created datasets and those they have edited
  def get_user_datasets(user_dict):
  created_datasets_list = user_dict['datasets']
  active_datasets_list = [x['data']['package'] for x in
  lib.helpers.get_action('user_activity_list',{'id':user_dict['id']}) if x['data'].get('package')]
  return created_datasets_list + active_datasets_list
   
   
class ExampleIDatasetFormPlugin(plugins.SingletonPlugin, class ExampleIDatasetFormPlugin(plugins.SingletonPlugin,
tk.DefaultDatasetForm): tk.DefaultDatasetForm):
'''An example IDatasetForm CKAN plugin. '''An example IDatasetForm CKAN plugin.
   
Uses a tag vocabulary to add a custom metadata field to datasets. Uses a tag vocabulary to add a custom metadata field to datasets.
   
''' '''
plugins.implements(plugins.IConfigurer, inherit=False) plugins.implements(plugins.IConfigurer, inherit=False)
plugins.implements(plugins.IDatasetForm, inherit=False) plugins.implements(plugins.IDatasetForm, inherit=False)
plugins.implements(plugins.ITemplateHelpers, inherit=False) plugins.implements(plugins.ITemplateHelpers, inherit=False)
   
# These record how many times methods that this plugin's methods are # These record how many times methods that this plugin's methods are
# called, for testing purposes. # called, for testing purposes.
num_times_new_template_called = 0 num_times_new_template_called = 0
num_times_read_template_called = 0 num_times_read_template_called = 0
num_times_edit_template_called = 0 num_times_edit_template_called = 0
num_times_search_template_called = 0 num_times_search_template_called = 0
num_times_history_template_called = 0 num_times_history_template_called = 0
num_times_package_form_called = 0 num_times_package_form_called = 0
num_times_check_data_dict_called = 0 num_times_check_data_dict_called = 0
num_times_setup_template_variables_called = 0 num_times_setup_template_variables_called = 0
   
   
def update_config(self, config): def update_config(self, config):
# Add this plugin's templates dir to CKAN's extra_template_paths, so # Add this plugin's templates dir to CKAN's extra_template_paths, so
# that CKAN will use this plugin's custom templates. # that CKAN will use this plugin's custom templates.
# here = os.path.dirname(__file__) # here = os.path.dirname(__file__)
# rootdir = os.path.dirname(os.path.dirname(here)) # rootdir = os.path.dirname(os.path.dirname(here))
   
tk.add_template_directory(config, 'templates') tk.add_template_directory(config, 'templates')
tk.add_public_directory(config, 'theme/public') tk.add_public_directory(config, 'theme/public')
tk.add_resource('theme/public', 'ckanext-datagovau') tk.add_resource('theme/public', 'ckanext-datagovau')
# config['licenses_group_url'] = 'http://%(ckan.site_url)/licenses.json' # config['licenses_group_url'] = 'http://%(ckan.site_url)/licenses.json'
   
def get_helpers(self): def get_helpers(self):
return {'get_last_active_user': get_last_active_user} return {'get_last_active_user': get_last_active_user, 'get_user_datasets': get_user_datasets}
   
def is_fallback(self): def is_fallback(self):
# Return True to register this plugin as the default handler for # Return True to register this plugin as the default handler for
# package types not handled by any other IDatasetForm plugin. # package types not handled by any other IDatasetForm plugin.
return True return True
   
def package_types(self): def package_types(self):
# This plugin doesn't handle any special package types, it just # This plugin doesn't handle any special package types, it just
# registers itself as the default (above). # registers itself as the default (above).
return [] return []
   
   
def create_package_schema(self): def create_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).create_package_schema() schema = super(ExampleIDatasetFormPlugin, self).create_package_schema()
schema = self._modify_package_schema(schema) schema = self._modify_package_schema(schema)
return schema return schema
   
def update_package_schema(self): def update_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).update_package_schema() schema = super(ExampleIDatasetFormPlugin, self).update_package_schema()
schema = self._modify_package_schema(schema) schema = self._modify_package_schema(schema)
return schema return schema
   
def show_package_schema(self): def show_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).show_package_schema() schema = super(ExampleIDatasetFormPlugin, self).show_package_schema()
   
# Don't show vocab tags mixed in with normal 'free' tags # Don't show vocab tags mixed in with normal 'free' tags
# (e.g. on dataset pages, or on the search page) # (e.g. on dataset pages, or on the search page)
schema['tags']['__extras'].append(tk.get_converter('free_tags_only')) schema['tags']['__extras'].append(tk.get_converter('free_tags_only'))
   
# Add our custom_text field to the dataset schema. # Add our custom_text field to the dataset schema.
# ignore_missing == optional # ignore_missing == optional
# ignore_empty == mandatory but not for viewing # ignore_empty == mandatory but not for viewing
# !!! always convert_from_extras first # !!! always convert_from_extras first
schema.update({ schema.update({
'agency_program': [tk.get_converter('convert_from_extras'), 'agency_program': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_missing')], tk.get_validator('ignore_missing')],
'contact_point': [tk.get_converter('convert_from_extras'), 'contact_point': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')], tk.get_validator('ignore_empty')],
'spatial_coverage': [tk.get_converter('convert_from_extras'), 'spatial_coverage': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')], tk.get_validator('ignore_empty')],
'granularity': [tk.get_converter('convert_from_extras'), 'granularity': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')], tk.get_validator('ignore_empty')],
'jurisdiction': [tk.get_converter('convert_from_extras'), 'jurisdiction': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')], tk.get_validator('ignore_empty')],
'temporal_coverage': [tk.get_converter('convert_from_extras'), 'temporal_coverage': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')], tk.get_validator('ignore_empty')],
'data_state': [tk.get_converter('convert_from_extras'), 'data_state': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')], tk.get_validator('ignore_empty')],
'update_freq': [tk.get_converter('convert_from_extras'), 'update_freq': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_empty')] tk.get_validator('ignore_empty')]
}) })
return schema return schema
   
def _modify_package_schema(self, schema): def _modify_package_schema(self, schema):
# Add our custom_test metadata field to the schema, this one will use # Add our custom_test metadata field to the schema, this one will use
# convert_to_extras instead of convert_to_tags. # convert_to_extras instead of convert_to_tags.
# ignore_missing == optional # ignore_missing == optional
# not_empty == mandatory, enforced here while modifying # not_empty == mandatory, enforced here while modifying
   
schema.update({ schema.update({
'agency_program': [tk.get_validator('ignore_missing'), 'agency_program': [tk.get_validator('ignore_missing'),
tk.get_converter('convert_to_extras')], tk.get_converter('convert_to_extras')],
'contact_point': [tk.get_converter('convert_to_extras'), 'contact_point': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')], tk.get_validator('not_empty')],
'spatial_coverage': [tk.get_converter('convert_to_extras'), 'spatial_coverage': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')], tk.get_validator('not_empty')],
'granularity': [tk.get_converter('convert_to_extras'), 'granularity': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')], tk.get_validator('not_empty')],
'jurisdiction': [tk.get_converter('convert_to_extras'), 'jurisdiction': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')], tk.get_validator('not_empty')],
'temporal_coverage': [tk.get_converter('convert_to_extras'), 'temporal_coverage': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')], tk.get_validator('not_empty')],
'data_state': [tk.get_converter('convert_to_extras'), 'data_state': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')], tk.get_validator('not_empty')],
'update_freq': [tk.get_converter('convert_to_extras'), 'update_freq': [tk.get_converter('convert_to_extras'),
tk.get_validator('not_empty')] tk.get_validator('not_empty')]
}) })
return schema return schema
   
# These methods just record how many times they're called, for testing # These methods just record how many times they're called, for testing
# purposes. # purposes.
# TODO: It might be better to test that custom templates returned by # TODO: It might be better to test that custom templates returned by
# these methods are actually used, not just that the methods get # these methods are actually used, not just that the methods get
# called. # called.
   
def setup_template_variables(self, context, data_dict): def setup_template_variables(self, context, data_dict):
return super(ExampleIDatasetFormPlugin, self).setup_template_variables( return super(ExampleIDatasetFormPlugin, self).setup_template_variables(
context, data_dict) context, data_dict)
   
def new_template(self): def new_template(self):
return super(ExampleIDatasetFormPlugin, self).new_template() return super(ExampleIDatasetFormPlugin, self).new_template()
   
def read_template(self): def read_template(self):
return super(ExampleIDatasetFormPlugin, self).read_template() return super(ExampleIDatasetFormPlugin, self).read_template()
   
def edit_template(self): def edit_template(self):
return super(ExampleIDatasetFormPlugin, self).edit_template() return super(ExampleIDatasetFormPlugin, self).edit_template()
   
def search_template(self): def search_template(self):
return super(ExampleIDatasetFormPlugin, self).search_template() return super(ExampleIDatasetFormPlugin, self).search_template()
   
def history_template(self): def history_template(self):
return super(ExampleIDatasetFormPlugin, self).history_template() return super(ExampleIDatasetFormPlugin, self).history_template()
   
def package_form(self): def package_form(self):
return super(ExampleIDatasetFormPlugin, self).package_form() return super(ExampleIDatasetFormPlugin, self).package_form()
   
   
{% ckan_extends %} {% ckan_extends %}
  {% block primary_content_inner %}
  {{ super() }}
   
  <div class="module-content">
  {{ h.disqus_comments() }}
  </div>
  {% endblock %}
{% block package_additional_info %} {% block package_additional_info %}
<section class="additional-info" xmlns:dcat="http://www.w3.org/ns/dcat#" <section class="additional-info" xmlns:dcat="http://www.w3.org/ns/dcat#"
xmlns:dcam="http://purl.org/dc/dcam/" xmlns:dcam="http://purl.org/dc/dcam/"
xmlns:aglsterms="http://www.agls.gov.au/agls/terms/" xmlns:aglsterms="http://www.agls.gov.au/agls/terms/"
xmlns:agentterms="http://www.agls.gov.au/agls/agentterms/" xmlns:agentterms="http://www.agls.gov.au/agls/agentterms/"
xmlns:availterms="http://www.agls.gov.au/agls/availterms/" xmlns:availterms="http://www.agls.gov.au/agls/availterms/"
xmlns:adminterms="http://www.agls.gov.au/agls/adminterms/" xmlns:adminterms="http://www.agls.gov.au/agls/adminterms/"
xmlns:dct="http://purl.org/dc/terms/"> xmlns:dct="http://purl.org/dc/terms/">
<h3>{{ _('Additional Info') }}</h3> <h3>{{ _('Additional Info') }}</h3>
<table class="table table-striped table-bordered table-condensed"> <table class="table table-striped table-bordered table-condensed">
<thead> <thead>
<tr> <tr>
<th scope="col">{{ _('Field') }}</th> <th scope="col">{{ _('Field') }}</th>
<th scope="col">{{ _('Value') }}</th> <th scope="col">{{ _('Value') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
   
   
{# Add our custom field to the dataset read page. #} {# Add our custom field to the dataset read page. #}
{% if pkg.get('metadata_created') %} {% if pkg.get('metadata_created') %}
<tr> <tr>
<th scope="row" class="dataset-label">Date Published</th> <th scope="row" class="dataset-label">Date Published</th>
<td class="dataset-details" property="dct:issued">{{ pkg.metadata_created.split("T")[0] }}</td> <td class="dataset-details" property="dct:issued">{{ pkg.metadata_created.split("T")[0] }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('metadata_updated') %} {% if pkg.get('metadata_updated') %}
<tr> <tr>
<th scope="row" class="dataset-label">Date Updated</th> <th scope="row" class="dataset-label">Date Updated</th>
<td class="dataset-details" property="dct:updated">{{ pkg.metadata_updated.split("T")[0] }}</td> <td class="dataset-details" property="dct:updated">{{ pkg.metadata_updated.split("T")[0] }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('agency_program') %} {% if pkg.get('agency_program') %}
<tr> <tr>
<th scope="row" class="dataset-label">Agency Program</th> <th scope="row" class="dataset-label">Agency Program</th>
<td class="dataset-details"> {{ pkg.agency_program }}</td> <td class="dataset-details"> {{ pkg.agency_program }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('Agency Program') %} {% if pkg.get('Agency Program') %}
<tr> <tr>
<th scope="row" class="dataset-label">Agency Program</th> <th scope="row" class="dataset-label">Agency Program</th>
<td class="dataset-details"> {{ pkg.get('Agency Program') }}</td> <td class="dataset-details"> {{ pkg.get('Agency Program') }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if h.get_pkg_dict_extra(pkg,'DCTERMS.Source.URI') %} {% if h.get_pkg_dict_extra(pkg,'DCTERMS.Source.URI') %}
<tr> <tr>
<th scope="row" class="dataset-label">{{ _('Source') }}</th> <th scope="row" class="dataset-label">{{ _('Source') }}</th>
<td class="dataset-details" property="dct:source">{{ h.link_to(h.get_pkg_dict_extra(pkg,'DCTERMS.Source.URI'), <td class="dataset-details" property="dct:source">{{ h.link_to(h.get_pkg_dict_extra(pkg,'DCTERMS.Source.URI'),
h.get_pkg_dict_extra(pkg,'DCTERMS.Source.URI'), rel='dct:source', target='_blank') }} h.get_pkg_dict_extra(pkg,'DCTERMS.Source.URI'), rel='dct:source', target='_blank') }}
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
   
{% if pkg.get('contact_point') %} {% if pkg.get('contact_point') %}
<tr> <tr>
<th scope="row" class="dataset-label">Contact Point</th> <th scope="row" class="dataset-label">Contact Point</th>
<td class="dataset-details" property="dcat:contactPoint"> {{ h.mail_to(email_address=pkg.contact_point, <td class="dataset-details" property="dcat:contactPoint"> {{ h.mail_to(email_address=pkg.contact_point,
name=pkg.contact_point) }}</td> name=pkg.contact_point) }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('spatial_coverage') %} {% if pkg.get('spatial_coverage') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Geospatial Coverage</th> <th scope="row" class="dataset-label">Geospatial Coverage</th>
<td class="dataset-details" property="dct:spatial"> {{ pkg.spatial_coverage }}</td> <td class="dataset-details" property="dct:spatial"> {{ pkg.spatial_coverage }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if h.get_pkg_dict_extra(pkg,'Geospatial Coverage') %} {% if h.get_pkg_dict_extra(pkg,'Geospatial Coverage') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Geospatial Coverage</th> <th scope="row" class="dataset-label">Geospatial Coverage</th>
<td class="dataset-details" property="dct:spatial"> {{ h.get_pkg_dict_extra(pkg,'Geospatial Coverage') }}</td> <td class="dataset-details" property="dct:spatial"> {{ h.get_pkg_dict_extra(pkg,'Geospatial Coverage') }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('granularity') %} {% if pkg.get('granularity') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Data Granularity</th> <th scope="row" class="dataset-label">Data Granularity</th>
<td class="dataset-details"> {{ pkg.granularity }}</td> <td class="dataset-details"> {{ pkg.granularity }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if h.get_pkg_dict_extra(pkg,'Granularity') %} {% if h.get_pkg_dict_extra(pkg,'Granularity') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Data Granularity</th> <th scope="row" class="dataset-label">Data Granularity</th>
<td class="dataset-details"> {{ h.get_pkg_dict_extra(pkg,'Granularity') }}</td> <td class="dataset-details"> {{ h.get_pkg_dict_extra(pkg,'Granularity') }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('jurisdiction') %} {% if pkg.get('jurisdiction') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Government Jurisdiction</th> <th scope="row" class="dataset-label">Government Jurisdiction</th>
<td class="dataset-details" property="aglsterms:AglsJuri"> {{ pkg.jurisdiction }}</td> <td class="dataset-details" property="aglsterms:AglsJuri"> {{ pkg.jurisdiction }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if h.get_pkg_dict_extra(pkg,'AGLSTERMS.Jurisdiction') %} {% if h.get_pkg_dict_extra(pkg,'AGLSTERMS.Jurisdiction') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Government Jurisdiction</th> <th scope="row" class="dataset-label">Government Jurisdiction</th>
<td class="dataset-details" property="aglsterms:AglsJuri"> {{ h.get_pkg_dict_extra(pkg,'AGLSTERMS.Jurisdiction') }}</td> <td class="dataset-details" property="aglsterms:AglsJuri"> {{ h.get_pkg_dict_extra(pkg,'AGLSTERMS.Jurisdiction') }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('temporal_coverage') %} {% if pkg.get('temporal_coverage') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Temporal Coverage</th> <th scope="row" class="dataset-label">Temporal Coverage</th>
<td class="dataset-details" property="dct:temporal"> {{ pkg.temporal_coverage }}</td> <td class="dataset-details" property="dct:temporal"> {{ pkg.temporal_coverage }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if h.get_pkg_dict_extra(pkg,'Temporal Coverage') %} {% if h.get_pkg_dict_extra(pkg,'Temporal Coverage') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Temporal Coverage</th> <th scope="row" class="dataset-label">Temporal Coverage</th>
<td class="dataset-details" property="dct:temporal"> {{ h.get_pkg_dict_extra(pkg,'Temporal Coverage') }}</td> <td class="dataset-details" property="dct:temporal"> {{ h.get_pkg_dict_extra(pkg,'Temporal Coverage') }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('data_state') %} {% if pkg.get('data_state') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Data State</th> <th scope="row" class="dataset-label">Data State</th>
<td class="dataset-details"> {{ pkg.data_state }}</td> <td class="dataset-details"> {{ pkg.data_state }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if pkg.get('update_freq') %} {% if pkg.get('update_freq') %}
   
<tr> <tr>
<th scope="row" class="dataset-label">Update Frequency</th> <th scope="row" class="dataset-label">Update Frequency</th>
<td class="dataset-details"> {{ pkg.update_freq }}</td> <td class="dataset-details"> {{ pkg.update_freq }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% if h.get_pkg_dict_extra(pkg,'Update Frequency') %} {% if h.get_pkg_dict_extra(pkg,'Update Frequency') %}
<tr> <tr>
<th scope="row" class="dataset-label">Update Frequency</th> <th scope="row" class="dataset-label">Update Frequency</th>
<td class="dataset-details"> {{ h.get_pkg_dict_extra(pkg,'Update Frequency') }}</td> <td class="dataset-details"> {{ h.get_pkg_dict_extra(pkg,'Update Frequency') }}</td>
</tr> </tr>
{% endif %} {% endif %}
   
{% set email =h.get_last_active_user(c.pkg_dict['id']).get('email','') %} {% set email =h.get_last_active_user(c.pkg_dict['id']).get('email','') %}
<tr> <tr>
<th scope="row" class="dataset-label">{{ _('Maintainer') }}</th> <th scope="row" class="dataset-label">{{ _('Maintainer') }}</th>
<td class="dataset-details" property="dc:contributor">{{ <td class="dataset-details" property="dc:contributor">{{
h.mail_to(email_address=(email or ' '), name=h.get_last_active_user(c.pkg_dict['id']).get("display_name",'')) }} h.mail_to(email_address=(email or ' '), name=h.get_last_active_user(c.pkg_dict['id']).get("display_name",'')) }}
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row" class="dataset-label">Publisher/Agency</th> <th scope="row" class="dataset-label">Publisher/Agency</th>
<td class="dataset-details" property="dc:publisher">{{ c.pkg_dict['organization']['title']}} <td class="dataset-details" property="dc:publisher">{{ c.pkg_dict['organization']['title']}}
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row" class="dataset-label">Type</th> <th scope="row" class="dataset-label">Type</th>
<td class="dataset-details" property="dc:type">Dataset</td> <td class="dataset-details" property="dc:type">Dataset</td>
</tr> </tr>
<tr> <tr>
<th scope="row" class="dataset-label">Language</th> <th scope="row" class="dataset-label">Language</th>
<td class="dataset-details" property="dc:language">English</td> <td class="dataset-details" property="dc:language">English</td>
</tr> </tr>
   
</tbody> </tbody>
</table> </table>
</section> </section>
   
   
{% endblock %} {% endblock %}
   
  {% ckan_extends %}
 
  {% block primary_content_inner %}
  <h2 class="page-heading">{{ _('My Datasets') }}</h2>
  {% if h.get_user_datasets(c.user_dict) %}
  {% snippet 'snippets/package_list.html', packages=h.get_user_datasets(c.user_dict) %}
  {% else %}
  <p class="empty">
  You haven\'t created/edited any datasets.
  {% if h.check_access('package_create') %}
  {% link_for _('Create one now?'), controller='package', action='new' %}
  {% endif %}
  </p>
  {% endif %}
  {% endblock %}
 
  {% ckan_extends %}
 
 
  {% block primary_content_inner %}
  <h2 class="hide-heading">
  {% block page_heading %}{{ _('Datasets') }}{% endblock %}
  </h2>
  {% block package_list %}
  {% if h.get_user_datasets(c.user_dict) %}
  {% snippet 'snippets/package_list.html', packages=h.get_user_datasets(c.user_dict) %}
  {% else %}
 
  {% if c.is_myself %}
  <p class="empty">
  {{ _('You haven\'t created any datasets.') }}
  {% if h.check_access('package_create') %}
  {% link_for _('Create one now?'), controller='package', action='new' %}
  {% endif %}
  </p>
  {% else %}
  <p class="empty">
  {{ _('User hasn\'t created any datasets.') }}
  </p>
  {% endif %}
  {% endif %}
  {% endblock %}
  {% endblock %}