From 15db2c947ed339a570e221176b95dc700ce1c2d2 Mon Sep 17 00:00:00 2001 From: cucc Date: Wed, 13 May 2009 08:08:37 +0200 Subject: [PATCH] [svn r8345] --- troggle/__init__.py | 0 troggle/alwaysUseRequestContext.py | 8 - troggle/databaseReset.py | 58 - troggle/expo/__init__.py | 0 troggle/expo/admin.py | 93 - troggle/expo/context.py | 4 - troggle/expo/fileAbstraction.py | 43 - troggle/expo/forms.py | 40 - troggle/expo/imagekit_specs.py | 23 - troggle/expo/models.py | 615 --- troggle/expo/models_survex.py | 66 - troggle/expo/randSent.py | 32 - troggle/expo/search.py | 39 - troggle/expo/templatetags/__init__.py | 0 troggle/expo/templatetags/survex_markup.py | 52 - troggle/expo/templatetags/wiki_markup.py | 101 - troggle/expo/view_surveys.py | 161 - troggle/expo/views.py | 8 - troggle/expo/views_caves.py | 96 - troggle/expo/views_logbooks.py | 120 - troggle/expo/views_other.py | 70 - troggle/expo/views_survex.py | 44 - troggle/export/__init__.py | 0 troggle/export/tocavetab.py | 52 - troggle/export/tologbooks.py | 0 troggle/export/toqms.py | 37 - troggle/imagekit/__init__.py | 13 - troggle/imagekit/defaults.py | 21 - troggle/imagekit/lib.py | 17 - troggle/imagekit/management/__init__.py | 1 - .../imagekit/management/commands/__init__.py | 1 - .../imagekit/management/commands/ikflush.py | 38 - troggle/imagekit/models.py | 136 - troggle/imagekit/options.py | 23 - troggle/imagekit/processors.py | 134 - troggle/imagekit/specs.py | 119 - troggle/imagekit/tests.py | 86 - troggle/imagekit/utils.py | 15 - troggle/localsettingsserver.py | 31 - troggle/localsettingsubuntu.py | 20 - troggle/localsettingswindows.py | 49 - troggle/manage.py | 11 - troggle/media/204plan.gif | Bin 39181 -> 0 bytes troggle/media/SilkRoadsilouetteAndrew.png | Bin 70596 -> 0 bytes troggle/media/css/main2.css | 339 -- troggle/media/css/main3.css | 374 -- troggle/media/css/nav.css | 12 - troggle/media/eieshole.jpg | Bin 25220 -> 0 bytes troggle/media/expoBanner.gif | Bin 254791 -> 0 bytes troggle/media/goesser.jpg | Bin 61696 -> 0 bytes troggle/media/js/base.js | 74 - troggle/media/js/jquery.js | 4376 ----------------- troggle/media/js/jquery.quicksearch.js | 328 -- troggle/media/js/survey.js | 42 - troggle/media/loserBanner.jpg | Bin 220305 -> 0 bytes troggle/media/open-quote.gif | Bin 187 -> 0 bytes troggle/media/surveyHover.gif | Bin 39482 -> 0 bytes troggle/media/timemachine.gif | Bin 42344 -> 0 bytes troggle/middleware.py | 49 - troggle/parsers/QMs.py | 120 - troggle/parsers/__init__.py | 0 troggle/parsers/cavetab.py | 314 -- troggle/parsers/logbooks.py | 346 -- troggle/parsers/people.py | 166 - troggle/parsers/survex.py | 152 - troggle/parsers/surveys.py | 130 - troggle/profiles/__init__.py | 0 troggle/profiles/urls.py | 46 - troggle/profiles/utils.py | 45 - troggle/profiles/views.py | 363 -- troggle/registration/__init__.py | 0 troggle/registration/admin.py | 11 - troggle/registration/forms.py | 134 - .../locale/ar/LC_MESSAGES/django.mo | Bin 2135 -> 0 bytes .../locale/ar/LC_MESSAGES/django.po | 81 - .../locale/bg/LC_MESSAGES/django.mo | Bin 2302 -> 0 bytes .../locale/bg/LC_MESSAGES/django.po | 78 - .../locale/de/LC_MESSAGES/django.mo | Bin 1909 -> 0 bytes .../locale/de/LC_MESSAGES/django.po | 85 - .../locale/el/LC_MESSAGES/django.mo | Bin 2424 -> 0 bytes .../locale/el/LC_MESSAGES/django.po | 84 - .../locale/en/LC_MESSAGES/django.mo | Bin 367 -> 0 bytes .../locale/en/LC_MESSAGES/django.po | 81 - .../locale/es/LC_MESSAGES/django.mo | Bin 1909 -> 0 bytes .../locale/es/LC_MESSAGES/django.po | 85 - .../locale/es_AR/LC_MESSAGES/django.mo | Bin 1849 -> 0 bytes .../locale/es_AR/LC_MESSAGES/django.po | 83 - .../locale/fr/LC_MESSAGES/django.mo | Bin 1883 -> 0 bytes .../locale/fr/LC_MESSAGES/django.po | 81 - .../locale/he/LC_MESSAGES/django.mo | Bin 1896 -> 0 bytes .../locale/he/LC_MESSAGES/django.po | 86 - .../locale/it/LC_MESSAGES/django.mo | Bin 1864 -> 0 bytes .../locale/it/LC_MESSAGES/django.po | 82 - .../locale/ja/LC_MESSAGES/django.mo | Bin 2035 -> 0 bytes .../locale/ja/LC_MESSAGES/django.po | 78 - .../locale/nl/LC_MESSAGES/django.mo | Bin 1898 -> 0 bytes .../locale/nl/LC_MESSAGES/django.po | 77 - .../locale/pl/LC_MESSAGES/django.mo | Bin 1769 -> 0 bytes .../locale/pl/LC_MESSAGES/django.po | 84 - .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1796 -> 0 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 81 - .../locale/ru/LC_MESSAGES/django.mo | Bin 2360 -> 0 bytes .../locale/ru/LC_MESSAGES/django.po | 81 - .../locale/sr/LC_MESSAGES/django.mo | Bin 1966 -> 0 bytes .../locale/sr/LC_MESSAGES/django.po | 80 - .../locale/sv/LC_MESSAGES/django.mo | Bin 1687 -> 0 bytes .../locale/sv/LC_MESSAGES/django.po | 81 - .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1669 -> 0 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 77 - .../locale/zh_TW/LC_MESSAGES/django.mo | Bin 1669 -> 0 bytes .../locale/zh_TW/LC_MESSAGES/django.po | 77 - troggle/registration/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../commands/cleanupregistration.py | 19 - troggle/registration/models.py | 255 - troggle/registration/signals.py | 8 - troggle/registration/tests.py | 355 -- troggle/registration/urls.py | 72 - troggle/registration/views.py | 163 - troggle/save_carefully.py | 31 - troggle/settings.py | 88 - troggle/templates/admin/base_site.html | 10 - troggle/templates/base.html | 73 - troggle/templates/calendar.html | 76 - troggle/templates/cave.html | 88 - troggle/templates/cavebase.html | 28 - troggle/templates/caveindex.html | 23 - troggle/templates/cavesearch.html | 23 - troggle/templates/controlPanel.html | 37 - troggle/templates/entrance.html | 80 - troggle/templates/expedition.html | 52 - troggle/templates/fileupload.html | 18 - troggle/templates/frontpage.html | 42 - troggle/templates/index.html | 59 - troggle/templates/listdir.html | 22 - troggle/templates/logbookentry.html | 71 - troggle/templates/logbooksearch.html | 21 - troggle/templates/person.html | 39 - troggle/templates/personForm.html | 6 - troggle/templates/personexpedition.html | 66 - troggle/templates/personindex.html | 43 - .../templates/profiles/create_profile.html | 13 - troggle/templates/profiles/edit_profile.html | 13 - .../templates/profiles/profile_detail.html | 14 - troggle/templates/profiles/profile_list.html | 0 .../templates/profiles/select_profile.html | 40 - troggle/templates/qm.html | 41 - troggle/templates/registration/activate.html | 25 - .../registration/activation_email.txt | 10 - .../registration/activation_email_subject.txt | 1 - troggle/templates/registration/login.html | 19 - troggle/templates/registration/logout.html | 4 - .../registration/registration_activate.html | 6 - .../registration/registration_complete.html | 13 - .../registration/registration_form.html | 56 - troggle/templates/statistics.html | 8 - troggle/templates/subcave.html | 45 - troggle/templates/survexblock.html | 47 - troggle/templates/survey.html | 220 - troggle/templates/svxfile.html | 19 - troggle/templates/todo.html | 59 - troggle/urls.py | 87 - 162 files changed, 14048 deletions(-) delete mode 100644 troggle/__init__.py delete mode 100644 troggle/alwaysUseRequestContext.py delete mode 100644 troggle/databaseReset.py delete mode 100644 troggle/expo/__init__.py delete mode 100644 troggle/expo/admin.py delete mode 100644 troggle/expo/context.py delete mode 100644 troggle/expo/fileAbstraction.py delete mode 100644 troggle/expo/forms.py delete mode 100644 troggle/expo/imagekit_specs.py delete mode 100644 troggle/expo/models.py delete mode 100644 troggle/expo/models_survex.py delete mode 100644 troggle/expo/randSent.py delete mode 100644 troggle/expo/search.py delete mode 100644 troggle/expo/templatetags/__init__.py delete mode 100644 troggle/expo/templatetags/survex_markup.py delete mode 100644 troggle/expo/templatetags/wiki_markup.py delete mode 100644 troggle/expo/view_surveys.py delete mode 100644 troggle/expo/views.py delete mode 100644 troggle/expo/views_caves.py delete mode 100644 troggle/expo/views_logbooks.py delete mode 100644 troggle/expo/views_other.py delete mode 100644 troggle/expo/views_survex.py delete mode 100644 troggle/export/__init__.py delete mode 100644 troggle/export/tocavetab.py delete mode 100644 troggle/export/tologbooks.py delete mode 100644 troggle/export/toqms.py delete mode 100644 troggle/imagekit/__init__.py delete mode 100644 troggle/imagekit/defaults.py delete mode 100644 troggle/imagekit/lib.py delete mode 100644 troggle/imagekit/management/__init__.py delete mode 100644 troggle/imagekit/management/commands/__init__.py delete mode 100644 troggle/imagekit/management/commands/ikflush.py delete mode 100644 troggle/imagekit/models.py delete mode 100644 troggle/imagekit/options.py delete mode 100644 troggle/imagekit/processors.py delete mode 100644 troggle/imagekit/specs.py delete mode 100644 troggle/imagekit/tests.py delete mode 100644 troggle/imagekit/utils.py delete mode 100644 troggle/localsettingsserver.py delete mode 100644 troggle/localsettingsubuntu.py delete mode 100644 troggle/localsettingswindows.py delete mode 100644 troggle/manage.py delete mode 100644 troggle/media/204plan.gif delete mode 100644 troggle/media/SilkRoadsilouetteAndrew.png delete mode 100644 troggle/media/css/main2.css delete mode 100644 troggle/media/css/main3.css delete mode 100644 troggle/media/css/nav.css delete mode 100644 troggle/media/eieshole.jpg delete mode 100644 troggle/media/expoBanner.gif delete mode 100644 troggle/media/goesser.jpg delete mode 100644 troggle/media/js/base.js delete mode 100644 troggle/media/js/jquery.js delete mode 100644 troggle/media/js/jquery.quicksearch.js delete mode 100644 troggle/media/js/survey.js delete mode 100644 troggle/media/loserBanner.jpg delete mode 100644 troggle/media/open-quote.gif delete mode 100644 troggle/media/surveyHover.gif delete mode 100644 troggle/media/timemachine.gif delete mode 100644 troggle/middleware.py delete mode 100644 troggle/parsers/QMs.py delete mode 100644 troggle/parsers/__init__.py delete mode 100644 troggle/parsers/cavetab.py delete mode 100644 troggle/parsers/logbooks.py delete mode 100644 troggle/parsers/people.py delete mode 100644 troggle/parsers/survex.py delete mode 100644 troggle/parsers/surveys.py delete mode 100644 troggle/profiles/__init__.py delete mode 100644 troggle/profiles/urls.py delete mode 100644 troggle/profiles/utils.py delete mode 100644 troggle/profiles/views.py delete mode 100644 troggle/registration/__init__.py delete mode 100644 troggle/registration/admin.py delete mode 100644 troggle/registration/forms.py delete mode 100644 troggle/registration/locale/ar/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/ar/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/bg/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/bg/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/de/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/de/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/el/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/el/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/en/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/en/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/es/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/es/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/es_AR/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/es_AR/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/fr/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/fr/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/he/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/he/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/it/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/it/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/ja/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/ja/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/nl/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/nl/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/pl/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/pl/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/pt_BR/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/pt_BR/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/ru/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/ru/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/sr/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/sr/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/sv/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/sv/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/zh_CN/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/zh_CN/LC_MESSAGES/django.po delete mode 100644 troggle/registration/locale/zh_TW/LC_MESSAGES/django.mo delete mode 100644 troggle/registration/locale/zh_TW/LC_MESSAGES/django.po delete mode 100644 troggle/registration/management/__init__.py delete mode 100644 troggle/registration/management/commands/__init__.py delete mode 100644 troggle/registration/management/commands/cleanupregistration.py delete mode 100644 troggle/registration/models.py delete mode 100644 troggle/registration/signals.py delete mode 100644 troggle/registration/tests.py delete mode 100644 troggle/registration/urls.py delete mode 100644 troggle/registration/views.py delete mode 100644 troggle/save_carefully.py delete mode 100644 troggle/settings.py delete mode 100644 troggle/templates/admin/base_site.html delete mode 100644 troggle/templates/base.html delete mode 100644 troggle/templates/calendar.html delete mode 100644 troggle/templates/cave.html delete mode 100644 troggle/templates/cavebase.html delete mode 100644 troggle/templates/caveindex.html delete mode 100644 troggle/templates/cavesearch.html delete mode 100644 troggle/templates/controlPanel.html delete mode 100644 troggle/templates/entrance.html delete mode 100644 troggle/templates/expedition.html delete mode 100644 troggle/templates/fileupload.html delete mode 100644 troggle/templates/frontpage.html delete mode 100644 troggle/templates/index.html delete mode 100644 troggle/templates/listdir.html delete mode 100644 troggle/templates/logbookentry.html delete mode 100644 troggle/templates/logbooksearch.html delete mode 100644 troggle/templates/person.html delete mode 100644 troggle/templates/personForm.html delete mode 100644 troggle/templates/personexpedition.html delete mode 100644 troggle/templates/personindex.html delete mode 100644 troggle/templates/profiles/create_profile.html delete mode 100644 troggle/templates/profiles/edit_profile.html delete mode 100644 troggle/templates/profiles/profile_detail.html delete mode 100644 troggle/templates/profiles/profile_list.html delete mode 100644 troggle/templates/profiles/select_profile.html delete mode 100644 troggle/templates/qm.html delete mode 100644 troggle/templates/registration/activate.html delete mode 100644 troggle/templates/registration/activation_email.txt delete mode 100644 troggle/templates/registration/activation_email_subject.txt delete mode 100644 troggle/templates/registration/login.html delete mode 100644 troggle/templates/registration/logout.html delete mode 100644 troggle/templates/registration/registration_activate.html delete mode 100644 troggle/templates/registration/registration_complete.html delete mode 100644 troggle/templates/registration/registration_form.html delete mode 100644 troggle/templates/statistics.html delete mode 100644 troggle/templates/subcave.html delete mode 100644 troggle/templates/survexblock.html delete mode 100644 troggle/templates/survey.html delete mode 100644 troggle/templates/svxfile.html delete mode 100644 troggle/templates/todo.html delete mode 100644 troggle/urls.py diff --git a/troggle/__init__.py b/troggle/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/troggle/alwaysUseRequestContext.py b/troggle/alwaysUseRequestContext.py deleted file mode 100644 index b587b5283..000000000 --- a/troggle/alwaysUseRequestContext.py +++ /dev/null @@ -1,8 +0,0 @@ -# this is the snippet from http://www.djangosnippets.org/snippets/3/ - -from django.shortcuts import render_to_response -from django.template import RequestContext - -def render_response(req, *args, **kwargs): - kwargs['context_instance'] = RequestContext(req) - return render_to_response(*args, **kwargs) \ No newline at end of file diff --git a/troggle/databaseReset.py b/troggle/databaseReset.py deleted file mode 100644 index f2c3b51b6..000000000 --- a/troggle/databaseReset.py +++ /dev/null @@ -1,58 +0,0 @@ -import os -import time -import settings -os.environ['PYTHONPATH'] = settings.PYTHON_PATH -os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' -from django.core import management -from django.db import connection -from django.contrib.auth.models import User - -def reload_db(): - cursor = connection.cursor() - cursor.execute("drop database %s" % settings.DATABASE_NAME) - cursor.execute("create database %s" % settings.DATABASE_NAME) - cursor.execute("ALTER DATABASE %s CHARACTER SET=utf8" % settings.DATABASE_NAME) - cursor.execute("USE %s" % settings.DATABASE_NAME) - management.call_command('syncdb') - user = User.objects.create_user('m', 'm@m.com', 'm') - user.is_staff = True - user.is_superuser = True - user.save() - -def make_dirs(): - """Make directories that troggle requires""" - if not os.path.isdir(settings.PHOTOS_ROOT): - os.mkdir(settings.PHOTOS_ROOT) - -def import_cavetab(): - import parsers.cavetab - parsers.cavetab.LoadCaveTab(logfile=settings.LOGFILE) - -def import_people(): - import parsers.people - parsers.people.LoadPersonsExpos() - -def import_logbooks(): - settings.LOGFILE.write('\nBegun importing logbooks at ' + time.asctime() +'\n'+'-'*60) - import parsers.logbooks - parsers.logbooks.LoadLogbooks() - -def import_survex(): - import parsers.survex - parsers.survex.LoadAllSurvexBlocks() - -def import_QMs(): - import parsers.QMs - -def import_surveys(): - import parsers.surveys - -def reset(): - reload_db() - make_dirs() - import_cavetab() - import_people() - import_logbooks() - import_survex() - import_QMs() - import_surveys() \ No newline at end of file diff --git a/troggle/expo/__init__.py b/troggle/expo/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/troggle/expo/admin.py b/troggle/expo/admin.py deleted file mode 100644 index f2717d920..000000000 --- a/troggle/expo/admin.py +++ /dev/null @@ -1,93 +0,0 @@ -from troggle.expo.models import * -from django.contrib import admin -from django.forms import ModelForm -import django.forms as forms -from expo.forms import LogbookEntryForm -#from troggle.reversion.admin import VersionAdmin #django-reversion version control - -#overriding admin save so we have the new since parsing field -class TroggleModelAdmin(admin.ModelAdmin): - def save_model(self, request, obj, form, change): - obj.new_since_parsing=True - obj.save() - -class RoleInline(admin.TabularInline): - model = PersonRole - extra = 4 - -class SurvexBlockAdmin(TroggleModelAdmin): - inlines = (RoleInline,) - -class ScannedImageInline(admin.TabularInline): - model = ScannedImage - extra = 4 - -class SurveyAdmin(TroggleModelAdmin): - inlines = (ScannedImageInline,) - search_fields = ('expedition__year','wallet_number') - -class QMInline(admin.TabularInline): - model=QM - extra = 4 - -class PhotoInline(admin.TabularInline): - model = Photo - exclude = ['is_mugshot', ] - extra = 1 - -class PersonTripInline(admin.TabularInline): - model = PersonTrip - exclude = ['persontrip_next','Delete'] - extra = 1 - -#class LogbookEntryAdmin(VersionAdmin): -class LogbookEntryAdmin(TroggleModelAdmin): - prepopulated_fields = {'slug':("title",)} - search_fields = ('title','expedition__year') - inlines = (PersonTripInline, PhotoInline) - form = LogbookEntryForm - #inlines = (QMInline,) #doesn't work because QM has two foreignkeys to Logbookentry- need workaround - -class PersonExpeditionInline(admin.TabularInline): - model = PersonExpedition - extra = 1 - - - -class PersonAdmin(TroggleModelAdmin): - search_fields = ('first_name','last_name') - inlines = (PersonExpeditionInline,) - -class QMAdmin(TroggleModelAdmin): - search_fields = ('found_by__cave__kataster_number','number') - -class PersonExpeditionAdmin(TroggleModelAdmin): - search_fields = ('person__first_name','expedition__year') - -class CaveAdmin(TroggleModelAdmin): - search_fields = ('official_name','kataster_number','unofficial_number') - #inlines = (QMInline,) - extra = 4 - - - -admin.site.register(Photo) -admin.site.register(Subcave) -admin.site.register(Cave, CaveAdmin) -admin.site.register(Area) -admin.site.register(OtherCaveName) -admin.site.register(CaveAndEntrance) -admin.site.register(SurveyStation) -admin.site.register(Entrance) -admin.site.register(SurvexBlock, SurvexBlockAdmin) -admin.site.register(Expedition) -admin.site.register(Person,PersonAdmin) -admin.site.register(PersonRole) -admin.site.register(PersonExpedition,PersonExpeditionAdmin) -admin.site.register(Role) -admin.site.register(LogbookEntry, LogbookEntryAdmin) -admin.site.register(PersonTrip) -admin.site.register(QM, QMAdmin) -admin.site.register(Survey, SurveyAdmin) -admin.site.register(ScannedImage) - diff --git a/troggle/expo/context.py b/troggle/expo/context.py deleted file mode 100644 index 06215cea0..000000000 --- a/troggle/expo/context.py +++ /dev/null @@ -1,4 +0,0 @@ -from django.conf import settings - -def settings_context(request): - return { 'settings':settings } \ No newline at end of file diff --git a/troggle/expo/fileAbstraction.py b/troggle/expo/fileAbstraction.py deleted file mode 100644 index 94b8b0c4b..000000000 --- a/troggle/expo/fileAbstraction.py +++ /dev/null @@ -1,43 +0,0 @@ -import troggle.settings as settings -import os -import urllib - -def urljoin(x, y): return x + "/" + y - -def listdir(*path): - try: - strippedpath = [p for p in path if p] - root = os.path.join(settings.FILES, *strippedpath ) - l = "" - #l = root + "\n" - isdir = os.path.isdir(root) #This seems to be required for os.path.isdir to work... - #l += str(isdir) + "\n" - for p in os.listdir(root): - if os.path.isdir(os.path.join(root, p)): - l += p + "/\n" - - elif os.path.isfile(os.path.join(root, p)): - l += p + "\n" - #Ignore non-files and non-directories - return l - except: - if strippedpath: - c = reduce(urljoin, strippedpath) - else: - c = "" - c = c.replace("#", "%23") - print "FILE: ", settings.FILES + "listdir/" + c - return urllib.urlopen(settings.FILES + "listdir/" + c).read() - -def dirsAsList(*path): - return [d for d in listdir(*path).split("\n") if len(d) > 0 and d[-1] == "/"] - -def filesAsList(*path): - return [d for d in listdir(*path).split("\n") if len(d) > 0 and d[-1] != "/"] - -def readFile(*path): - try: - f = open(os.path.join(settings.FILES, *path)) - except: - f = urllib.urlopen(settings.FILES + "download/" + reduce(urljoin, path)) - return f.read() \ No newline at end of file diff --git a/troggle/expo/forms.py b/troggle/expo/forms.py deleted file mode 100644 index 2225b0c83..000000000 --- a/troggle/expo/forms.py +++ /dev/null @@ -1,40 +0,0 @@ -from django.forms import ModelForm -from models import Cave, Person, LogbookEntry -import django.forms as forms -from django.forms.formsets import formset_factory -from django.contrib.admin.widgets import AdminDateWidget -import string - -class CaveForm(ModelForm): - class Meta: - model = Cave - -class PersonForm(ModelForm): - class Meta: - model = Person - -class LogbookEntryForm(ModelForm): - class Meta: - model = LogbookEntry - - def wikiLinkHints(LogbookEntry=None): - res = ["Please use the following wikilinks, which are related to this logbook entry:"] - - res.append(r'

QMs found:') - for QM in LogbookEntry.instance.QMs_found.all(): - res.append(QM.wiki_link()) - - res.append(r'

QMs ticked off:') - for QM in LogbookEntry.instance.QMs_ticked_off.all(): - res.append(QM.wiki_link()) - -# res.append(r'

People') -# for persontrip in LogbookEntry.instance.persontrip_set.all(): -# res.append(persontrip.wiki_link()) -# res.append(r'

') - - return string.join(res, r'
') - - def __init__(self, *args, **kwargs): - super(LogbookEntryForm, self).__init__(*args, **kwargs) - self.fields['text'].help_text=self.wikiLinkHints() \ No newline at end of file diff --git a/troggle/expo/imagekit_specs.py b/troggle/expo/imagekit_specs.py deleted file mode 100644 index 243cb9f76..000000000 --- a/troggle/expo/imagekit_specs.py +++ /dev/null @@ -1,23 +0,0 @@ -from imagekit.specs import ImageSpec -from imagekit import processors - -class ResizeThumb(processors.Resize): - width = 100 - height = 75 - crop = True - -class ResizeDisplay(processors.Resize): - width = 600 - -class EnhanceThumb(processors.Adjustment): - contrast = 1.2 - sharpness = 1.1 - -class Thumbnail(ImageSpec): - access_as = 'thumbnail_image' - pre_cache = True - processors = [ResizeThumb, EnhanceThumb] - -class Display(ImageSpec): - increment_count = True - processors = [ResizeDisplay] diff --git a/troggle/expo/models.py b/troggle/expo/models.py deleted file mode 100644 index 3472a01b9..000000000 --- a/troggle/expo/models.py +++ /dev/null @@ -1,615 +0,0 @@ -import urllib, urlparse, string, os, datetime -from django.forms import ModelForm -from django.db import models -from django.contrib import admin -from django.core.files.storage import FileSystemStorage -from django.contrib.auth.models import User -from django.contrib.contenttypes.models import ContentType -from django.conf import settings -from decimal import Decimal, getcontext -from django.core.urlresolvers import reverse -from imagekit.models import ImageModel -getcontext().prec=2 #use 2 significant figures for decimal calculations - -from models_survex import * - -#This class is for adding fields and methods which all of our models will have. -class TroggleModel(models.Model): - new_since_parsing = models.BooleanField(default=False, editable=False) - - def get_admin_url(self): - return settings.URL_ROOT + "/admin/expo/" + self._meta.object_name.lower() + "/" + str(self.pk) - - class Meta: - abstract = True - -class TroggleImageModel(ImageModel): - new_since_parsing = models.BooleanField(default=False, editable=False) - - def get_admin_url(self): - return settings.URL_ROOT + "/admin/expo/" + self._meta.object_name.lower() + "/" + str(self.pk) - - class Meta: - abstract = True - -class Expedition(TroggleModel): - year = models.CharField(max_length=20, unique=True) - name = models.CharField(max_length=100) - date_from = models.DateField(blank=True,null=True) - date_to = models.DateField(blank=True,null=True) - - def __unicode__(self): - return self.year - - class Meta: - ordering = ('year',) - get_latest_by = 'date_from' - - def get_absolute_url(self): - #return settings.URL_ROOT + "/expedition/%s" % self.year - return settings.URL_ROOT + reverse('expedition',args=[self.year]) - - - # lose these two functions (inelegant, and we may create a file with the dates that we can load from) - def GuessDateFrom(self): - try: - return self.logbookentry_set.order_by('date')[0].date - except IndexError: - pass - - def GuessDateTo(self): # returns the date of the last logbook entry in the expedition - try: - return self.logbookentry_set.order_by('date')[-1].date - except IndexError: - pass - - def ListDays(self): - if self.date_from and self.date_to: - res=[] - date=self.date_from - while date <= self.date_to: - res.append(date) - date+=datetime.timedelta(days=1) - return res - elif self.GuessDateFrom() and self.GuessDateTo(): # if we don't have the real dates, try it with the dates taken from the earliest and latest logbook entries - date=self.GuessDateFrom() - while date <= self.GuessDateTo(): - res.append(date) - date+=datetime.timedelta(days=1) - return res - - - - -class Person(TroggleModel): - first_name = models.CharField(max_length=100) - last_name = models.CharField(max_length=100) - is_vfho = models.BooleanField(help_text="VFHO is the Vereines für Höhlenkunde in Obersteier, a nearby Austrian caving club.") - mug_shot = models.CharField(max_length=100, blank=True,null=True) - blurb = models.TextField(blank=True,null=True) - - #href = models.CharField(max_length=200) - orderref = models.CharField(max_length=200) # for alphabetic - - #the below have been removed and made methods. I'm not sure what the b in bisnotable stands for. - AC 16 Feb - #notability = models.FloatField() # for listing the top 20 people - #bisnotable = models.BooleanField() - user = models.OneToOneField(User, null=True, blank=True) - def get_absolute_url(self): - return settings.URL_ROOT + reverse('person',kwargs={'first_name':self.first_name,'last_name':self.last_name}) - - class Meta: - verbose_name_plural = "People" - class Meta: - ordering = ('orderref',) # "Wookey" makes too complex for: ('last_name', 'first_name') - - def __unicode__(self): - if self.last_name: - return "%s %s" % (self.first_name, self.last_name) - return self.first_name - -# Below are no longer needed. Use {{ person.personexpedition_set.all.0.expedition }} for Firstexpedition, and {{ person.personexpedition_set.latest.expedition }} for Lastexpedition - # these ought to be possible by piping through |min in the template, or getting the first of an ordered list -# def Firstexpedition(self): -# return self.personexpedition_set.order_by('expedition')[0] -# def Lastexpedition(self): -# return self.personexpedition_set.order_by('-expedition')[0] - - def notability(self): - notability = Decimal(0) - for personexpedition in self.personexpedition_set.all(): - if not personexpedition.is_guest: - notability += Decimal(1) / (2012 - int(personexpedition.expedition.year)) - return notability - - def bisnotable(self): - return self.notability() > Decimal(1)/Decimal(3) - - #def Sethref(self): - #if self.last_name: - #self.href = self.first_name.lower() + "_" + self.last_name.lower() - #self.orderref = self.last_name + " " + self.first_name - #else: - # self.href = self.first_name.lower() - #self.orderref = self.first_name - #self.notability = 0.0 # set temporarily - - -class PersonExpedition(TroggleModel): - expedition = models.ForeignKey(Expedition) - person = models.ForeignKey(Person) - date_from = models.DateField(blank=True,null=True) - date_to = models.DateField(blank=True,null=True) - is_guest = models.BooleanField(default=False) - COMMITTEE_CHOICES = ( - ('leader','Expo leader'), - ('medical','Expo medical officer'), - ('treasurer','Expo treasurer'), - ('sponsorship','Expo sponsorship coordinator'), - ('research','Expo research coordinator'), - ) - expo_committee_position = models.CharField(blank=True,null=True,choices=COMMITTEE_CHOICES,max_length=200) - nickname = models.CharField(max_length=100,blank=True,null=True) - - def GetPersonroles(self): - res = [ ] - for personrole in self.personrole_set.order_by('survex_block'): - if res and res[-1]['survexpath'] == personrole.survex_block.survexpath: - res[-1]['roles'] += ", " + str(personrole.role) - else: - res.append({'date':personrole.survex_block.date, 'survexpath':personrole.survex_block.survexpath, 'roles':str(personrole.role)}) - return res - - class Meta: - ordering = ('expedition',) - get_latest_by = 'date_from' - - def GetPersonChronology(self): - res = { } - for persontrip in self.persontrip_set.all(): - a = res.setdefault(persontrip.date, { }) - a.setdefault("persontrips", [ ]).append(persontrip) - for personrole in self.personrole_set.all(): - a = res.setdefault(personrole.survex_block.date, { }) - b = a.setdefault("personroles", { }) - survexpath = personrole.survex_block.survexpath - - if b.get(survexpath): - b[survexpath] += ", " + str(personrole.role) - else: - b[survexpath] = str(personrole.role) -# needs converting dict into list - return sorted(res.items()) - - # possibly not useful functions anyway -JT - # if you can find a better way to make the expo calendar table, be my guest. It isn't possible to do this logic in a django template without writing custom tags. - def ListDays(self): - if self.date_from and self.date_to: - res=[] - date=self.date_from - while date <= self.date_to: - res.append(date) - date+=datetime.timedelta(days=1) - return res - - def ListDaysTF(self): - if self.date_from and self.date_to: - res=[] - for date in self.expedition.ListDays(): - res.append(date in self.ListDays()) - return res - - def __unicode__(self): - return "%s: (%s)" % (self.person, self.expedition) - - #why is the below a function in personexpedition, rather than in person? - AC 14 Feb 09 - def name(self): - if self.nickname: - return "%s (%s) %s" % (self.person.first_name, self.nickname, self.person.last_name) - if self.person.last_name: - return "%s %s" % (self.person.first_name, self.person.last_name) - return self.person.first_name - - def get_absolute_url(self): - #return settings.URL_ROOT + '/personexpedition/' + str(self.person.first_name) + '_' + str(self.person.last_name) + '/' +self.expedition.year - return settings.URL_ROOT + reverse('personexpedition',kwargs={'first_name':self.person.first_name,'last_name':self.person.last_name,'year':self.expedition.year}) - -class LogbookEntry(TroggleModel): - date = models.DateField() - expedition = models.ForeignKey(Expedition,blank=True,null=True) # yes this is double- - author = models.ForeignKey(PersonExpedition,blank=True,null=True) # the person who writes it up doesn't have to have been on the trip - title = models.CharField(max_length=200) - cave = models.ForeignKey('Cave',blank=True,null=True) - place = models.CharField(max_length=100,blank=True,null=True) - text = models.TextField() - slug = models.SlugField(max_length=50) - #href = models.CharField(max_length=100) - - - #logbookentry_next = models.ForeignKey('LogbookEntry', related_name='pnext', blank=True,null=True) - #logbookentry_prev = models.ForeignKey('LogbookEntry', related_name='pprev', blank=True,null=True) - - class Meta: - verbose_name_plural = "Logbook Entries" - # several PersonTrips point in to this object - class Meta: - ordering = ('-date',) - - def get_absolute_url(self): - return settings.URL_ROOT + reverse('logbookentry',kwargs={'date':self.date,'slug':self.slug}) - - def __unicode__(self): - return "%s: (%s)" % (self.date, self.title) - - def get_next_by_id(self): - LogbookEntry.objects.get(id=self.id+1) - - def get_previous_by_id(self): - LogbookEntry.objects.get(id=self.id-1) - -class PersonTrip(TroggleModel): - person_expedition = models.ForeignKey(PersonExpedition,null=True) - - # this will be a foreign key of the place(s) the trip went through - # possibly a trip has a plurality of triplets pointing into it - place = models.CharField(max_length=100) - # should add cave thing here (copied from logbook maybe) - date = models.DateField() - time_underground = models.FloatField() - logbook_entry = models.ForeignKey(LogbookEntry) - is_logbook_entry_author = models.BooleanField() - - #persontrip_next = models.ForeignKey('PersonTrip', related_name='pnext', blank=True,null=True) - #persontrip_prev = models.ForeignKey('PersonTrip', related_name='pprev', blank=True,null=True) - - def __unicode__(self): - return "%s %s (%s)" % (self.person_expedition, self.place, self.date) - - def get_persons_next_trip(self): - try: - return PersonTrip.objects.filter(person_expedition__person=self.person_expedition.person, date__gt=self.date)[0] - except: - return - - def get_persons_previous_trip(self): - try: - return PersonTrip.objects.filter(person_expedition__person=self.person_expedition.person, date__lt=self.date)[0] - except: - return - -# def get_persons_previous_trip(self): -# -# move following classes into models_cave -# - -class Area(TroggleModel): - short_name = models.CharField(max_length=100) - name = models.CharField(max_length=200, blank=True, null=True) - description = models.TextField(blank=True,null=True) - parent = models.ForeignKey('Area', blank=True, null=True) - def __unicode__(self): - if self.parent: - return unicode(self.parent) + u" - " + unicode(self.short_name) - else: - return unicode(self.short_name) - def kat_area(self): - if self.short_name in ["1623", "1626"]: - return self.short_name - elif self.parent: - return self.parent.kat_area() - -class CaveAndEntrance(TroggleModel): - cave = models.ForeignKey('Cave') - entrance = models.ForeignKey('Entrance') - entrance_letter = models.CharField(max_length=20,blank=True,null=True) - def __unicode__(self): - return unicode(self.cave) + unicode(self.entrance_letter) - -class Cave(TroggleModel): - # too much here perhaps - official_name = models.CharField(max_length=160) - area = models.ManyToManyField(Area, blank=True, null=True) - kataster_code = models.CharField(max_length=20,blank=True,null=True) - kataster_number = models.CharField(max_length=10,blank=True, null=True) - unofficial_number = models.CharField(max_length=60,blank=True, null=True) - entrances = models.ManyToManyField('Entrance', through='CaveAndEntrance') - explorers = models.TextField(blank=True,null=True) - underground_description = models.TextField(blank=True,null=True) - equipment = models.TextField(blank=True,null=True) - references = models.TextField(blank=True,null=True) - survey = models.TextField(blank=True,null=True) - kataster_status = models.TextField(blank=True,null=True) - underground_centre_line = models.TextField(blank=True,null=True) - notes = models.TextField(blank=True,null=True) - length = models.CharField(max_length=100,blank=True,null=True) - depth = models.CharField(max_length=100,blank=True,null=True) - extent = models.CharField(max_length=100,blank=True,null=True) - survex_file = models.CharField(max_length=100,blank=True,null=True) #should be filefield, need to fix parser first - - #href = models.CharField(max_length=100) - - def get_absolute_url(self): - if self.kataster_number: - href = self.kataster_number - elif self.unofficial_number: - href = self.unofficial_number - else: - href = official_name.lower() - #return settings.URL_ROOT + '/cave/' + href + '/' - return settings.URL_ROOT + reverse('cave',kwargs={'cave_id':href,}) - - - - def __unicode__(self): - if self.kataster_number: - if self.kat_area(): - return self.kat_area() + u": " + self.kataster_number - else: - return unicode("l") + u": " + self.kataster_number - else: - if self.kat_area(): - return self.kat_area() + u": " + self.unofficial_number - else: - return self.unofficial_number - - def get_QMs(self): - return QM.objects.filter(found_by__cave=self) - - def kat_area(self): - for a in self.area.all(): - if a.kat_area(): - return a.kat_area() - def entrances(self): - return CaveAndEntrance.objects.filter(cave=self) - def entrancelist(self): - rs = [] - res = "" - for e in CaveAndEntrance.objects.filter(cave=self): - rs.append(e.entrance_letter) - rs.sort() - prevR = None - n = 0 - for r in rs: - if prevR: - if chr(ord(prevR) + 1 ) == r: - prevR = r - n += 1 - else: - if n == 0: - res += ", " + prevR - else: - res += "–" + prevR - else: - prevR = r - n = 0 - res += r - if n == 0: - res += ", " + prevR - else: - res += "–" + prevR - return res - - - -class OtherCaveName(TroggleModel): - name = models.CharField(max_length=160) - cave = models.ForeignKey(Cave) - def __unicode__(self): - return unicode(self.name) - -class SurveyStation(TroggleModel): - name = models.CharField(max_length=200) - def __unicode__(self): - return unicode(self.name) - -class Entrance(TroggleModel): - name = models.CharField(max_length=100, blank=True,null=True) - entrance_description = models.TextField(blank=True,null=True) - explorers = models.TextField(blank=True,null=True) - map_description = models.TextField(blank=True,null=True) - location_description = models.TextField(blank=True,null=True) - approach = models.TextField(blank=True,null=True) - underground_description = models.TextField(blank=True,null=True) - photo = models.TextField(blank=True,null=True) - MARKING_CHOICES = ( - ('P', 'Paint'), - ('P?', 'Paint (?)'), - ('T', 'Tag'), - ('T?', 'Tag (?)'), - ('R', 'Retagged'), - ('S', 'Spit'), - ('S?', 'Spit (?)'), - ('U', 'Unmarked'), - ('?', 'Unknown')) - marking = models.CharField(max_length=2, choices=MARKING_CHOICES) - marking_comment = models.TextField(blank=True,null=True) - FINDABLE_CHOICES = ( - ('?', 'To be confirmed ...'), - ('S', 'Surveyed'), - ('L', 'Lost'), - ('R', 'Refindable')) - findability = models.CharField(max_length=1, choices=FINDABLE_CHOICES, blank=True, null=True) - findability_description = models.TextField(blank=True,null=True) - alt = models.TextField(blank=True, null=True) - northing = models.TextField(blank=True, null=True) - easting = models.TextField(blank=True, null=True) - tag_station = models.ForeignKey(SurveyStation, blank=True,null=True, related_name="tag_station") - exact_station = models.ForeignKey(SurveyStation, blank=True,null=True, related_name="exact_station") - other_station = models.ForeignKey(SurveyStation, blank=True,null=True, related_name="other_station") - other_description = models.TextField(blank=True,null=True) - bearings = models.TextField(blank=True,null=True) - def __unicode__(self): - a = CaveAndEntrance.objects.filter(entrance = self) - name = u'' - if self.name: - name = unicode(self.name) + u' ' - if len(a) == 1: - return name + unicode(a[0]) - return name + unicode(a) - def marking_val(self): - for m in self.MARKING_CHOICES: - if m[0] == self.marking: - return m[1] - def findability_val(self): - for f in self.FINDABLE_CHOICES: - if f[0] == self.findability: - return f[1] - -class Subcave(TroggleModel): - description = models.TextField() - name = models.CharField(max_length=200, ) - cave = models.ForeignKey('Cave', blank=True, null=True, help_text="Only the top-level subcave should be linked to a cave") - parent= models.ForeignKey('Subcave', blank=True, null=True, related_name='children') - adjoining = models.ManyToManyField('Subcave',blank=True, null=True,) - survex_file = models.CharField(max_length=200, blank=True, null=True,) - - def __unicode__(self): - return self.name - - def get_absolute_url(self): - urlString=self.name - if self.parent: - parent=self.parent - while parent: #recursively walk up the tree, adding parents to the left of the URL - urlString=parent.name+'/'+urlString - if parent.cave: - cave=parent.cave - parent=parent.parent - urlString='cave/'+unicode(cave.kataster_number)+'/'+urlString - else: - urlString='cave/'+unicode(self.cave.kataster_number)+'/'+urlString - - - return urlparse.urljoin(settings.URL_ROOT, urlString) - -class QM(TroggleModel): - #based on qm.csv in trunk/expoweb/smkridge/204 which has the fields: - #"Number","Grade","Area","Description","Page reference","Nearest station","Completion description","Comment" - found_by = models.ForeignKey(LogbookEntry, related_name='QMs_found',blank=True, null=True ) - ticked_off_by = models.ForeignKey(LogbookEntry, related_name='QMs_ticked_off',null=True,blank=True) - number = models.IntegerField() - GRADE_CHOICES=( - ('A', 'A: Large obvious lead'), - ('B', 'B: Average lead'), - ('C', 'C: Tight unpromising lead'), - ('D', 'D: Dig'), - ('X', 'X: Unclimbable aven') - ) - grade = models.CharField(max_length=1, choices=GRADE_CHOICES) - location_description = models.TextField(blank=True) - #should be a foreignkey to surveystation - nearest_station_description = models.CharField(max_length=400,null=True,blank=True) - nearest_station = models.CharField(max_length=200,blank=True,null=True) - area = models.CharField(max_length=100,blank=True,null=True) - completion_description = models.TextField(blank=True,null=True) - comment=models.TextField(blank=True,null=True) - #the below are unneeded- instead use the date fields of the QM's trips - #dateFound = models.DateField(blank=True) - #dateKilled = models.DateField(blank=True) - def __str__(self): - QMnumber=str(self.found_by.cave)+'-'+str(self.found_by.date.year)+"-"+str(self.number)+self.grade - return str(QMnumber) - - def get_absolute_url(self): - #return settings.URL_ROOT + '/cave/' + self.found_by.cave.kataster_number + '/' + str(self.found_by.date.year) + '-' + '%02d' %self.number - return settings.URL_ROOT + reverse('qm',kwargs={'cave_id':self.cave.kataster_number,'year':self.found_by.date.year,'qm_id':self.number,'grade':self.grade}) - - def get_next_by_id(self): - return QM.objects.get(id=self.id+1) - - def get_previous_by_id(self): - return QM.objects.get(id=self.id-1) - - def wiki_link(self): - res = '[[cave:' + str(self.found_by.cave.kataster_number) + ' ' - res += 'QM:' + str(self.found_by.date.year) + '-' - res += str(self.number) + self.grade + ']]' - return res - -photoFileStorage = FileSystemStorage(location=settings.PHOTOS_ROOT, base_url=settings.PHOTOS_URL) -class Photo(TroggleImageModel): - caption = models.CharField(max_length=1000,blank=True,null=True) - contains_logbookentry = models.ForeignKey(LogbookEntry,blank=True,null=True) - contains_person = models.ManyToManyField(Person,blank=True,null=True) - file = models.ImageField(storage=photoFileStorage, upload_to='.',) - is_mugshot = models.BooleanField(default=False) - contains_cave = models.ForeignKey(Cave,blank=True,null=True) - contains_entrance = models.ForeignKey(Entrance, related_name="photo_file",blank=True,null=True) - nearest_survey_point = models.ForeignKey(SurveyStation,blank=True,null=True) - nearest_QM = models.ForeignKey(QM,blank=True,null=True) - lon_utm = models.FloatField(blank=True,null=True) - lat_utm = models.FloatField(blank=True,null=True) - - class IKOptions: - spec_module = 'expo.imagekit_specs' - cache_dir = 'thumbs' - image_field = 'file' - - #content_type = models.ForeignKey(ContentType) - #object_id = models.PositiveIntegerField() - #location = generic.GenericForeignKey('content_type', 'object_id') - - def __str__(self): - return self.caption - -scansFileStorage = FileSystemStorage(location=settings.SURVEY_SCANS, base_url=settings.SURVEYS_URL) -def get_scan_path(instance, filename): - year=instance.survey.expedition.year - print "WN: ", type(instance.survey.wallet_number), instance.survey.wallet_number - number="%02d" % instance.survey.wallet_number + str(instance.survey.wallet_letter) #using %02d string formatting because convention was 2009#01 - return os.path.join('./',year,year+r'#'+number,instance.contents+str(instance.number_in_wallet)+r'.jpg') - -class ScannedImage(TroggleImageModel): - file = models.ImageField(storage=scansFileStorage, upload_to=get_scan_path) - scanned_by = models.ForeignKey(Person,blank=True, null=True) - scanned_on = models.DateField(null=True) - survey = models.ForeignKey('Survey') - contents = models.CharField(max_length=20,choices=(('notes','notes'),('plan','plan_sketch'),('elevation','elevation_sketch'))) - number_in_wallet = models.IntegerField(null=True) - lon_utm = models.FloatField(blank=True,null=True) - lat_utm = models.FloatField(blank=True,null=True) - - class IKOptions: - spec_module = 'expo.imagekit_specs' - cache_dir = 'thumbs' - image_field = 'file' - #content_type = models.ForeignKey(ContentType) - #object_id = models.PositiveIntegerField() - #location = generic.GenericForeignKey('content_type', 'object_id') - - #This is an ugly hack to deal with the #s in our survey scan paths. The correct thing is to write a custom file storage backend which calls urlencode on the name for making file.url but not file.path. - def correctURL(self): - return string.replace(self.file.url,r'#',r'%23') - - def __str__(self): - return get_scan_path(self,'') - -class Survey(TroggleModel): - expedition = models.ForeignKey('Expedition') - wallet_number = models.IntegerField(blank=True,null=True) - wallet_letter = models.CharField(max_length=1,blank=True,null=True) - comments = models.TextField(blank=True,null=True) - location = models.CharField(max_length=400,blank=True,null=True) - #notes_scan = models.ForeignKey('ScannedImage',related_name='notes_scan',blank=True, null=True) #Replaced by contents field of ScannedImage model - survex_block = models.ForeignKey('SurvexBlock',blank=True, null=True) - centreline_printed_on = models.DateField(blank=True, null=True) - centreline_printed_by = models.ForeignKey('Person',related_name='centreline_printed_by',blank=True,null=True) - #sketch_scan = models.ForeignKey(ScannedImage,blank=True, null=True) #Replaced by contents field of ScannedImage model - tunnel_file = models.FileField(upload_to='surveyXMLfiles',blank=True, null=True) - tunnel_main_sketch = models.ForeignKey('Survey',blank=True,null=True) - integrated_into_main_sketch_on = models.DateField(blank=True,null=True) - integrated_into_main_sketch_by = models.ForeignKey('Person' ,related_name='integrated_into_main_sketch_by', blank=True,null=True) - rendered_image = models.ImageField(upload_to='renderedSurveys',blank=True,null=True) - def __str__(self): - return self.expedition.year+"#"+"%02d" % self.wallet_number - - def notes(self): - return self.scannedimage_set.filter(contents='notes') - - def plans(self): - return self.scannedimage_set.filter(contents='plan') - - def elevations(self): - return self.scannedimage_set.filter(contents='elevation') - - diff --git a/troggle/expo/models_survex.py b/troggle/expo/models_survex.py deleted file mode 100644 index cf339f9fe..000000000 --- a/troggle/expo/models_survex.py +++ /dev/null @@ -1,66 +0,0 @@ -from django.db import models -from django.conf import settings -import os - -class SurvexBlock(models.Model): - name = models.CharField(max_length=100, blank=True, null=True) - parent = models.ForeignKey('SurvexBlock', blank=True, null=True) - text = models.TextField() - - # non-useful representation of incomplete data - start_year = models.IntegerField(blank=True, null=True) - start_month = models.IntegerField(blank=True, null=True) - start_day = models.IntegerField(blank=True, null=True) - end_year = models.IntegerField(blank=True, null=True) - end_month = models.IntegerField(blank=True, null=True) - end_day = models.IntegerField(blank=True, null=True) - - date = models.DateField(blank=True, null=True) - survexpath = models.CharField(max_length=100) - - # superfluous - person = models.ManyToManyField('Person', through='PersonRole', blank=True, null=True) - - # code for where in the survex data files this block sits - begin_file = models.CharField(max_length=200) - begin_char = models.IntegerField() - end_file = models.CharField(max_length=200, blank=True, null=True) - end_char = models.IntegerField(blank=True, null=True) - - class Meta: - ordering = ('date', 'survexpath') - - def __unicode__(self): - return unicode(self.name) - - def filecontents(self): - f = os.path.join(settings.SURVEX_DATA, self.begin_file) - fin = open(f, "rb") - res = fin.read().decode("latin1") - fin.close() - return res - - def GetPersonroles(self): - res = [ ] - for personrole in self.personrole_set.order_by('personexpedition'): - if res and res[-1]['person'] == personrole.personexpedition.person: - res[-1]['roles'] += ", " + str(personrole.role) - else: - res.append({'person':personrole.personexpedition.person, 'expeditionyear':personrole.personexpedition.expedition.year, 'roles':str(personrole.role)}) - print res - return res - - -class PersonRole(models.Model): - personexpedition = models.ForeignKey('PersonExpedition') - person = models.ForeignKey('Person') - survex_block = models.ForeignKey('SurvexBlock') - role = models.ForeignKey('Role') - def __unicode__(self): - return unicode(self.person) + " - " + unicode(self.survex_block) + " - " + unicode(self.role) - -class Role(models.Model): - name = models.CharField(max_length=50) - def __unicode__(self): - return unicode(self.name) - diff --git a/troggle/expo/randSent.py b/troggle/expo/randSent.py deleted file mode 100644 index a99b97466..000000000 --- a/troggle/expo/randSent.py +++ /dev/null @@ -1,32 +0,0 @@ -import troggle.settings as settings -from django import forms -from troggle.expo.models import LogbookEntry -import random -import re - -def weighted_choice(lst): - n = random.uniform(0,1) - for item, weight in lst: - if n < weight: - break - n = n - weight - return item - -def randomLogbookSentence(): - randSent={} - - # needs to handle empty logbooks without crashing - - #Choose a random logbook entry - randSent['entry']=LogbookEntry.objects.order_by('?')[0] - - #Choose again if there are no sentances (this happens if it is a placeholder entry) - while len(re.findall('[A-Z].*?\.',randSent['entry'].text))==0: - randSent['entry']=LogbookEntry.objects.order_by('?')[0] - - #Choose a random sentence from that entry. Store the sentence as randSent['sentence'], and the number of that sentence in the entry as randSent['number'] - sentenceList=re.findall('[A-Z].*?\.',randSent['entry'].text) - randSent['number']=random.randrange(0,len(sentenceList)) - randSent['sentence']=sentenceList[randSent['number']] - - return randSent diff --git a/troggle/expo/search.py b/troggle/expo/search.py deleted file mode 100644 index 5ec2ce2f1..000000000 --- a/troggle/expo/search.py +++ /dev/null @@ -1,39 +0,0 @@ -import re - -from django.db.models import Q - -# search script from http://www.julienphalip.com/blog/2008/08/16/adding-search-django-site-snap/ - -def normalize_query(query_string, - findterms=re.compile(r'"([^"]+)"|(\S+)').findall, - normspace=re.compile(r'\s{2,}').sub): - ''' Splits the query string in invidual keywords, getting rid of unecessary spaces - and grouping quoted words together. - Example: - - >>> normalize_query(' some random words "with quotes " and spaces') - ['some', 'random', 'words', 'with quotes', 'and', 'spaces'] - - ''' - return [normspace(' ', (t[0] or t[1]).strip()) for t in findterms(query_string)] - -def get_query(query_string, search_fields): - ''' Returns a query, that is a combination of Q objects. That combination - aims to search keywords within a model by testing the given search fields. - - ''' - query = None # Query to search for every search term - terms = normalize_query(query_string) - for term in terms: - or_query = None # Query to search for a given term in each field - for field_name in search_fields: - q = Q(**{"%s__icontains" % field_name: term}) - if or_query is None: - or_query = q - else: - or_query = or_query | q - if query is None: - query = or_query - else: - query = query & or_query - return query \ No newline at end of file diff --git a/troggle/expo/templatetags/__init__.py b/troggle/expo/templatetags/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/troggle/expo/templatetags/survex_markup.py b/troggle/expo/templatetags/survex_markup.py deleted file mode 100644 index 464a04bc6..000000000 --- a/troggle/expo/templatetags/survex_markup.py +++ /dev/null @@ -1,52 +0,0 @@ -from django import template -from django.utils.html import conditional_escape -from django.template.defaultfilters import stringfilter -from django.utils.safestring import mark_safe -import re - -register = template.Library() - -# seems to add extra lines between the commented lines, which isn't so great. -regexes = [] -regexes.append((re.compile(r"(;.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\n')) -regexes.append((re.compile(r"^(\s*)(\*include)(\s+)([^\s]*)(.svx)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4\5')) -regexes.append((re.compile(r"^(\s*)(\*include)(\s+)([^\s]*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*team\s+(?:notes|tape|insts|pics))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*(?:begin|end|copyright|date|entrance|equate|export|fix|prefix|require|SOLVE|title|truncate))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*calibrate\s+(?:TAPE|COMPASS|CLINO|COUNTER|DEPTH|DECLINATION|X|Y|Z)+)(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*data\s+(?:DEFAULT|NORMAL|DIVING|CARTESIAN|TOPOFIL|CYLPOLAR|NOSURVEY|passage)(?:\s+station|\s+from|\s+to|\s+FROMDEPTH|\s+TODEPTH|\s+DEPTHCHANGE|\s+newline|\s+direction|\s+tape|\s+compass|\s+clino|\s+northing|\s+easting|\s+altitude|\s+length|\s+bearing|\s+gradient|\s+ignoreall|\sleft|\sright|\sup|\sdown)*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2')) -regexes.append((re.compile(r"^(\s*)(\*default\s+(?:CALIBRATE|DATA|UNITS)+)(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*flags\s+(?:DUPLICATE|SPLAY|SURFACE|not DUPLICATE|not SPLAY|not SURFACE))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*infer\s+(?:plumbs|equates|exports))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*instrument\s+(?:compass|clino|tape))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*instrument\s+(?:compass|clino|tape))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*sd\s+(?:TAPE|COMPASS|CLINO|COUNTER|DEPTH|DECLINATION|DX|DY|DZ))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*set\s+(?:BLANK|COMMENT|DECIMAL|EOL|KEYWORD|MINUS|NAMES|OMIT|PLUS|ROOT|SEPARATOR))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(\s*)(\*units\s+(?:TAPE|LENGTH|COMPASS|BEARING|CLINO|GRADIENT|COUNTER|DEPTH|DECLINATION|X|Y|Z))(\s+)(.*)$", re.IGNORECASE|re.MULTILINE), - r'\1\2\3\4')) -regexes.append((re.compile(r"^(.*)$", re.IGNORECASE|re.MULTILINE), - r'
\1 
\n')) - -@register.filter() -@stringfilter -def survex_to_html(value, autoescape=None): - if autoescape: - value = conditional_escape(value) - for regex, sub in regexes: - print sub - value = regex.sub(sub, value) - return mark_safe(value) \ No newline at end of file diff --git a/troggle/expo/templatetags/wiki_markup.py b/troggle/expo/templatetags/wiki_markup.py deleted file mode 100644 index 30c9a087f..000000000 --- a/troggle/expo/templatetags/wiki_markup.py +++ /dev/null @@ -1,101 +0,0 @@ -from django import template -from django.utils.html import conditional_escape -from django.template.defaultfilters import stringfilter -from django.utils.safestring import mark_safe -from django.conf import settings -from expo.models import QM -import re - -register = template.Library() - -def wiki_list(line, listdepth): - l = "" - for d in listdepth: - l += d - mstar = re.match(l + "\*(.*)", line) - if mstar: - listdepth.append("\*") - return ("\n" + t, l) - if prev == "#": - t, l = wiki_list(line, listdepth) - return ("\n" + t, l) - return (line, listdepth) - -@register.filter() -@stringfilter -def wiki_to_html(value, autoescape=None): - #find paragraphs - outValue = "" - for paragraph in re.split("\n\s*?\n", value, re.DOTALL): - outValue += "

" - outValue += wiki_to_html_short(paragraph, autoescape) - outValue += "

\n" - return mark_safe(outValue) - -@register.filter() -@stringfilter -def wiki_to_html_short(value, autoescape=None): - if autoescape: - value = conditional_escape(value) - #deescape doubly escaped characters - value = re.sub("&(.*?);", r"&\1;", value, re.DOTALL) - #italics and bold - value = re.sub("''''([^']+)''''", r"\1", value, re.DOTALL) - value = re.sub("'''([^']+)'''", r"\1", value, re.DOTALL) - value = re.sub("''([^']+)''", r"\1", value, re.DOTALL) - #make cave links - value = re.sub("\[\[\s*cave:([^\s]+)\s*\s*\]\]", r'\1' % settings.URL_ROOT, value, re.DOTALL) - - - #function for replacing wikicode qm links with html qm links - def qmrepl(matchobj): - if len(matchobj.groups())==4: - grade=matchobj.groups()[3] - else: - grade='' - qmdict={'urlroot':settings.URL_ROOT,'cave':matchobj.groups()[0],'year':matchobj.groups()[1],'number':matchobj.groups()[2],'grade':grade} - try: - qm=QM.objects.get(found_by__cave__kataster_number=qmdict['cave'],found_by__date__year=qmdict['year'], number=qmdict['number']) - url=r'' + str(qm) + '' - except QM.DoesNotExist: - url = r'%(cave)s:%(year)s-%(number)s%(grade)s' % qmdict - return url - - #make qm links - value = re.sub("\[\[\s*cave:([^\s]+)\s*\s*\QM:(\d*)-(\d*)([ABCDX]?)\]\]",qmrepl, value, re.DOTALL) - - #qms=qmfinder.search(value) - #for qm in qms: - #if QM.objects.filter(cave__kataster_number=qm[0], found_by__year=qm[1], number=qm[2]).count >= 1: # If there is at lesat one QM matching this query - #replace qm with link in red - #else - #replace qm with link in blue - - #turn qm links red if nonexistant - - #Make lists from lines starting with lists of [stars and hashes] - outValue = "" - listdepth = [] - for line in value.split("\n"): - t, listdepth = wiki_list(line, listdepth) - outValue += t - for item in listdepth: - if item == "\*": - outValue += "\n" - elif item == "#": - outValue += "\n" - return mark_safe(outValue) - -wiki_to_html.needs_autoescape = True diff --git a/troggle/expo/view_surveys.py b/troggle/expo/view_surveys.py deleted file mode 100644 index 846b245fb..000000000 --- a/troggle/expo/view_surveys.py +++ /dev/null @@ -1,161 +0,0 @@ -from django.conf import settings -import fileAbstraction -from django.shortcuts import render_to_response -from django.http import HttpResponse, Http404 -import os -import re - -# inline fileabstraction into here if it's not going to be useful anywhere else -# keep things simple and ignore exceptions everywhere for now - -def getMimeType(extension): - try: - return {"txt": "text/plain", - "html": "text/html", - }[extension] - except: - print "unknown file type" - return "text/plain" - - -def listdir(request, path): - #try: - return HttpResponse(fileAbstraction.listdir(path), mimetype = "text/plain") - #except: - # raise Http404 - -def upload(request, path): - pass - -def download(request, path): - #try: - - return HttpResponse(fileAbstraction.readFile(path), mimetype=getMimeType(path.split(".")[-1])) - #except: - # raise Http404 - - -# -# julian's quick hack for something that works -# could signal directories by ending with /, and forward cases where it's missing -# -extmimetypes = {".txt": "text/plain", - ".html": "text/html", - ".png": "image/png", - ".jpg": "image/jpeg", - } - -def jgtfile(request, f): - fp = os.path.join(settings.SURVEYS, f) - # could also surf through SURVEX_DATA - - # directory listing - if os.path.isdir(fp): - listdirfiles = [ ] - listdirdirs = [ ] - - for lf in sorted(os.listdir(fp)): - hpath = os.path.join(f, lf) # not absolute path - if lf[0] == "." or lf[-1] == "~": - continue - - hpath = hpath.replace("\\", "/") # for windows users - href = hpath.replace("#", "%23") # '#' in file name annoyance - - flf = os.path.join(fp, lf) - if os.path.isdir(flf): - nfiles = len([sf for sf in os.listdir(flf) if sf[0] != "."]) - listdirdirs.append((href, hpath + "/", nfiles)) - else: - listdirfiles.append((href, hpath, os.path.getsize(flf))) - - upperdirs = [ ] - lf = f - while lf: - hpath = lf.replace("\\", "/") # for windows users - if hpath[-1] != "/": - hpath += "/" - href = hpath.replace("#", "%23") - lf = os.path.split(lf)[0] - upperdirs.append((href, hpath)) - upperdirs.append(("", "/")) - - return render_to_response('listdir.html', {'file':f, 'listdirfiles':listdirfiles, 'listdirdirs':listdirdirs, 'upperdirs':upperdirs, 'settings': settings}) - - # flat output of file when loaded - if os.path.isfile(fp): - ext = os.path.splitext(fp)[1].lower() - mimetype = extmimetypes.get(ext, "text/plain") - fin = open(fp) - ftext = fin.read() - fin.close() - return HttpResponse(ftext, mimetype=mimetype) - - return HttpResponse("unknown file::%s::" % f, mimetype = "text/plain") - - -def UniqueFile(fname): - while True: - if not os.path.exists(fname): - break - mname = re.match("(.*?)(?:-(\d+))?\.(png|jpg|jpeg)$(?i)", fname) - if mname: - fname = "%s-%d.%s" % (mname.group(1), int(mname.group(2) or "0") + 1, mname.group(3)) - return fname - - -# join it all up and then split them off for the directories that don't exist -# anyway, this mkdir doesn't work -def SaveImageInDir(name, imgdir, project, fdata, bbinary): - print ("hihihihi", fdata, settings.SURVEYS) - fimgdir = os.path.join(settings.SURVEYS, imgdir) - if not os.path.isdir(fimgdir): - print "*** Making directory", fimgdir - os.path.mkdir(fimgdir) - fprojdir = os.path.join(fimgdir, project) - if not os.path.isdir(fprojdir): - print "*** Making directory", fprojdir - os.path.mkdir(fprojdir) - print "hhh" - - fname = os.path.join(fprojdir, name) - print fname, "fff" - fname = UniqueFile(fname) - - p2, p1 = os.path.split(fname) - p3, p2 = os.path.split(p2) - p4, p3 = os.path.split(p3) - res = os.path.join(p3, p2, p1) - - print "saving file", fname - fout = open(fname, (bbinary and "wb" or "w")) - fout.write(fdata.read()) - fout.close() - res = os.path.join(imgdir, name) - return res.replace("\\", "/") - - -# do we want to consider saving project/field rather than field/project -def jgtuploadfile(request): - filesuploaded = [ ] - project, user, password, tunnelversion = request.POST["tunnelproject"], request.POST["tunneluser"], request.POST["tunnelpassword"], request.POST["tunnelversion"] - print (project, user, tunnelversion) - for uploadedfile in request.FILES.values(): - if uploadedfile.field_name in ["tileimage", "backgroundimage"] and \ - uploadedfile.content_type in ["image/png", "image/jpeg"]: - fname = user + "_" + re.sub("[\\\\/]", "-", uploadedfile.name) # very escaped \ - print fname - fileuploaded = SaveImageInDir(fname, uploadedfile.field_name, project, uploadedfile, True) - filesuploaded.append(settings.URL_ROOT + "/jgtfile/" + fileuploaded) - if uploadedfile.field_name in ["sketch"] and \ - uploadedfile.content_type in ["text/plain"]: - fname = user + "_" + re.sub("[\\\\/]", "-", uploadedfile.name) # very escaped \ - print fname - fileuploaded = SaveImageInDir(fname, uploadedfile.field_name, project, uploadedfile, False) - filesuploaded.append(settings.URL_ROOT + "/jgtfile/" + fileuploaded) - #print "FF", request.FILES - #print ("FFF", request.FILES.values()) - message = "" - print "gothere" - return render_to_response('fileupload.html', {'message':message, 'filesuploaded':filesuploaded, 'settings': settings}) - diff --git a/troggle/expo/views.py b/troggle/expo/views.py deleted file mode 100644 index 337989a92..000000000 --- a/troggle/expo/views.py +++ /dev/null @@ -1,8 +0,0 @@ -# primary namespace - -import view_surveys -import views_caves -import views_survex -import views_logbooks -import views_other - diff --git a/troggle/expo/views_caves.py b/troggle/expo/views_caves.py deleted file mode 100644 index 691cdcb68..000000000 --- a/troggle/expo/views_caves.py +++ /dev/null @@ -1,96 +0,0 @@ -from troggle.expo.models import Cave, CaveAndEntrance, Survey, Expedition, QM -import troggle.expo.models as models -import troggle.settings as settings -from django.forms.models import formset_factory -import search -from django.core.urlresolvers import reverse -from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this. -from django.http import HttpResponseRedirect -from django.conf import settings -import re - -def getCave(cave_id): - """Returns a cave object when given a cave name or number. It is used by views including cavehref, ent, and qm.""" - try: - cave = Cave.objects.get(kataster_number=cave_id) - except Cave.DoesNotExist: - cave = Cave.objects.get(unofficial_number=cave_id) - return cave - -def caveindex(request): - caves = Cave.objects.all() - notablecavehrefs = [ "161", "204", "258", "76" ] # could detect notability by trips and notability of people who have been down them - notablecaves = [Cave.objects.get(kataster_number=kataster_number) for kataster_number in notablecavehrefs ] - return render_response(request,'caveindex.html', {'caves': caves, 'notablecaves':notablecaves}) - -def cave(request, cave_id='', offical_name=''): - return render_response(request,'cave.html', {'cave': getCave(cave_id),}) - -def qm(request,cave_id,qm_id,year,grade=None): - year=int(year) - try: - qm=getCave(cave_id).get_QMs().get(number=qm_id,found_by__date__year=year) - return render_response(request,'qm.html',locals()) - - except QM.DoesNotExist: - url= settings.URL_ROOT + r'/admin/expo/qm/add/?'+ r'number=' + qm_id - if grade: - url += r'&grade=' + grade - return HttpResponseRedirect(url) - - -def ent(request, cave_id, ent_letter): - cave = Cave.objects.filter(kataster_number = cave_id)[0] - cave_and_ent = CaveAndEntrance.objects.filter(cave = cave).filter(entrance_letter = ent_letter)[0] - return render_response(request,'entrance.html', {'cave': cave, - 'entrance': cave_and_ent.entrance, - 'letter': cave_and_ent.entrance_letter,}) - -def survexblock(request, survexpath): - survexblock = models.SurvexBlock.objects.get(survexpath=survexpath) - #ftext = survexblock.filecontents() - ftext = survexblock.text - return render_response(request,'survexblock.html', {'survexblock':survexblock, 'ftext':ftext, }) - -def subcave(request, cave_id, subcave): - print subcave - subcaveSeq=re.findall('(?:/)([^/]*)',subcave) - print subcaveSeq - cave=models.Cave.objects.get(kataster_number = cave_id) - subcave=models.Subcave.objects.get(name=subcaveSeq[0], cave=cave) - if len(subcaveSeq)>1: - for subcaveUrlSegment in subcaveSeq[1:]: - if subcaveUrlSegment: - subcave=subcave.children.get(name=subcaveUrlSegment) - print subcave - return render_response(request,'subcave.html', {'subcave': subcave,'cave':cave}) - -def caveSearch(request): - query_string = '' - found_entries = None - if ('q' in request.GET) and request.GET['q'].strip(): - query_string = request.GET['q'] - entry_query = search.get_query(query_string, ['underground_description','official_name',]) - found_entries = Cave.objects.filter(entry_query) - - return render_response(request,'cavesearch.html', - { 'query_string': query_string, 'found_entries': found_entries,}) - -def surveyindex(request): - surveys=Survey.objects.all() - expeditions=Expedition.objects.order_by("-year") - return render_response(request,'survey.html',locals()) - -def survey(request,year,wallet_number): - surveys=Survey.objects.all() - expeditions=Expedition.objects.order_by("-year") - current_expedition=Expedition.objects.filter(year=year)[0] - - if wallet_number!='': - current_survey=Survey.objects.filter(expedition=current_expedition,wallet_number=wallet_number)[0] - notes=current_survey.scannedimage_set.filter(contents='notes') - planSketches=current_survey.scannedimage_set.filter(contents='plan') - elevationSketches=current_survey.scannedimage_set.filter(contents='elevation') - - return render_response(request,'survey.html', locals()) - diff --git a/troggle/expo/views_logbooks.py b/troggle/expo/views_logbooks.py deleted file mode 100644 index cfebd35e6..000000000 --- a/troggle/expo/views_logbooks.py +++ /dev/null @@ -1,120 +0,0 @@ -from django.shortcuts import render_to_response -from troggle.expo.models import Expedition, Person, PersonExpedition, PersonTrip, LogbookEntry -import troggle.settings as settings -from django.db import models -from troggle.parsers.logbooks import LoadLogbookForExpedition -from troggle.parsers.people import GetPersonExpeditionNameLookup -from troggle.expo.forms import PersonForm -from django.core.urlresolvers import reverse -from django.http import HttpResponseRedirect - -# Django uses Context, not RequestContext when you call render_to_response. We always want to use RequestContext, so that django adds the context from settings.TEMPLATE_CONTEXT_PROCESSORS. This way we automatically get necessary settings variables passed to each template. So we use a custom method, render_response instead of render_to_response. Hopefully future Django releases will make this unnecessary. -from troggle.alwaysUseRequestContext import render_response - -import search -import re - -@models.permalink #this allows the nice get_absolute_url syntax we are using - -def getNotablePersons(): - notablepersons = [] - for person in Person.objects.all(): - if person.bisnotable(): - notablepersons.append(person) - return notablepersons - -def personindex(request): - persons = Person.objects.all() - # From what I can tell, "persons" seems to be the table rows, while "personss" is the table columns. - AC 16 Feb 09 - personss = [ ] - ncols = 5 - nc = (len(persons) + ncols - 1) / ncols - for i in range(ncols): - personss.append(persons[i * nc: (i + 1) * nc]) - - notablepersons = [] - for person in Person.objects.all(): - if person.bisnotable(): - notablepersons.append(person) - - return render_response(request,'personindex.html', {'persons': persons, 'personss':personss, 'notablepersons':notablepersons, }) - -def expedition(request, expeditionname): - year = int(expeditionname) - expedition = Expedition.objects.get(year=year) - expedition_next = Expedition.objects.filter(year=year+1) and Expedition.objects.get(year=year+1) or None - expedition_prev = Expedition.objects.filter(year=year-1) and Expedition.objects.get(year=year-1) or None - message = "No message" - if "reload" in request.GET: - message = LoadLogbookForExpedition(expedition) - #message = str(GetPersonExpeditionNameLookup(expedition).keys()) - logbookentries = expedition.logbookentry_set.order_by('date') - return render_response(request,'expedition.html', {'expedition': expedition, 'expedition_next':expedition_next, 'expedition_prev':expedition_prev, 'logbookentries':logbookentries, 'message':message, }) - - def get_absolute_url(self): - return ('expedition', (expedition.year)) - -def person(request, first_name='', last_name='', ): - person = Person.objects.get(first_name = first_name, last_name = last_name) - - #This is for removing the reference to the user's profile, in case they set it to the wrong person - if request.method == 'GET': - if request.GET.get('clear_profile')=='True': - person.user=None - person.save() - return HttpResponseRedirect(reverse('profiles_select_profile')) - - return render_response(request,'person.html', {'person': person, }) - - def get_absolute_url(self): - return settings.URL_ROOT + self.first_name + '_' + self.last_name - -#def person(request, name): -# person = Person.objects.get(href=name) -# - -def personexpedition(request, first_name='', last_name='', year=''): - person = Person.objects.get(first_name = first_name, last_name = last_name) - expedition = Expedition.objects.get(year=year) - personexpedition = person.personexpedition_set.get(expedition=expedition) - return render_response(request,'personexpedition.html', {'personexpedition': personexpedition, }) - -def newQMlink(logbookentry): - biggestQMnumber=0 - if logbookentry.cave: - for log in logbookentry.cave.logbookentry_set.all(): - try: - biggestQMnumberInLog = logbookentry.QMs_found.order_by('-number')[0].number - except IndexError: - biggestQMnumberInLog = 0 - if biggestQMnumberInLog > biggestQMnumber: - biggestQMnumber = biggestQMnumberInLog - else: - return None - - - - nextQMnumber=biggestQMnumber+1 - return settings.URL_ROOT + r'/admin/expo/qm/add/?' + r'found_by=' + str(logbookentry.pk) +'&number=' + str(nextQMnumber) - -def logbookentry(request, date, slug): - logbookentry = LogbookEntry.objects.get(date=date, slug=slug) - - return render_response(request, 'logbookentry.html', {'logbookentry': logbookentry, 'newQMlink':newQMlink(logbookentry)}) - -def logbookSearch(request, extra): - query_string = '' - found_entries = None - if ('q' in request.GET) and request.GET['q'].strip(): - query_string = request.GET['q'] - entry_query = search.get_query(query_string, ['text','title',]) - found_entries = LogbookEntry.objects.filter(entry_query) - - return render_response(request,'logbooksearch.html', - { 'query_string': query_string, 'found_entries': found_entries, }) - #context_instance=RequestContext(request)) - -def personForm(request,pk): - person=Person.objects.get(pk=pk) - form=PersonForm(instance=person) - return render_response(request,'personform.html', {'form':form,}) \ No newline at end of file diff --git a/troggle/expo/views_other.py b/troggle/expo/views_other.py deleted file mode 100644 index 0f8cb7935..000000000 --- a/troggle/expo/views_other.py +++ /dev/null @@ -1,70 +0,0 @@ -from troggle.expo.models import Cave, Expedition, Person, LogbookEntry, PersonExpedition, PersonTrip, Photo -import troggle.settings as settings -from django import forms -from django.db.models import Q -import databaseReset -import re -import randSent -from django.http import HttpResponse - -from django.core.urlresolvers import reverse -from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this. - -def showrequest(request): - return HttpResponse(request.GET) - -def stats(request): - statsDict={} - statsDict['expoCount'] = int(Expedition.objects.count()) - statsDict['caveCount'] = int(Cave.objects.count()) - statsDict['personCount'] = int(Person.objects.count()) - statsDict['logbookEntryCount'] = int(LogbookEntry.objects.count()) - return render_response(request,'statistics.html', statsDict) - -def frontpage(request): - message = "no test message" #reverse('personn', kwargs={"name":"hkjhjh"}) - if "reloadexpos" in request.GET: - message = LoadPersonsExpos() - message = "Reloaded personexpos" - if "reloadsurvex" in request.POST: - message = LoadAllSurvexBlocks() - message = "Reloaded survexblocks" - - #'randSent':randSent.randomLogbookSentence(), - expeditions = Expedition.objects.order_by("-year") - logbookentry = LogbookEntry - cave = Cave - photo = Photo - return render_response(request,'frontpage.html', locals()) - -def todo(request): - message = "no test message" #reverse('personn', kwargs={"name":"hkjhjh"}) - if "reloadexpos" in request.GET: - message = LoadPersonsExpos() - message = "Reloaded personexpos" - if "reloadsurvex" in request.POST: - message = LoadAllSurvexBlocks() - message = "Reloaded survexblocks" - - #'randSent':randSent.randomLogbookSentence(), - expeditions = Expedition.objects.order_by("-year") - totallogbookentries = LogbookEntry.objects.count() - return render_response(request,'index.html', {'expeditions':expeditions, 'all':'all', 'totallogbookentries':totallogbookentries, "message":message}) - -def calendar(request,year): - week=['S','S','M','T','W','T','F'] - if year: - expedition=Expedition.objects.get(year=year) - PersonExpeditions=expedition.personexpedition_set.all() - - return render_response(request,'calendar.html', locals()) - -def controlPanel(request): - message = "no test message" #reverse('personn', kwargs={"name":"hkjhjh"}) - if request.method=='POST': - for item in request.POST: - if request.user.is_superuser and item!='item': - print "running"+ " databaseReset."+item+"()" - exec "databaseReset."+item+"()" - - return render_response(request,'controlPanel.html', ) \ No newline at end of file diff --git a/troggle/expo/views_survex.py b/troggle/expo/views_survex.py deleted file mode 100644 index 067d4e34c..000000000 --- a/troggle/expo/views_survex.py +++ /dev/null @@ -1,44 +0,0 @@ -from django.shortcuts import render_to_response -from django.http import HttpResponse, Http404 -import re -import os - -import troggle.settings as settings - -def index(request, survex_file): - process(survex_file) - f = open(settings.SURVEX_DATA + survex_file + ".svx", "rb") - a = f.read() - return render_to_response('svxfile.html', {'settings': settings, - 'has_3d': os.path.isfile(settings.SURVEX_DATA + survex_file + ".3d"), - 'title': survex_file, - 'text': unicode(a, "latin1")}) - -def svx(request, survex_file): - svx = open(settings.SURVEX_DATA + survex_file + ".svx", "rb") - return HttpResponse(svx, mimetype="text") - -def threed(request, survex_file): - process(survex_file) - try: - threed = open(settings.SURVEX_DATA + survex_file + ".3d", "rb") - return HttpResponse(threed, mimetype="model/3d") - except: - log = open(settings.SURVEX_DATA + survex_file + ".log", "rb") - return HttpResponse(log, mimetype="text") - -def log(request, survex_file): - process(survex_file) - log = open(settings.SURVEX_DATA + survex_file + ".log", "rb") - return HttpResponse(log, mimetype="text") - -def err(request, survex_file): - process(survex_file) - err = open(settings.SURVEX_DATA + survex_file + ".err", "rb") - return HttpResponse(err, mimetype="text") - -def process(survex_file): - cwd = os.getcwd() - os.chdir(os.path.split(settings.SURVEX_DATA + survex_file)[0]) - os.system(settings.CAVERN + " --log " +settings.SURVEX_DATA + survex_file + ".svx") - os.chdir(cwd) diff --git a/troggle/export/__init__.py b/troggle/export/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/troggle/export/tocavetab.py b/troggle/export/tocavetab.py deleted file mode 100644 index 121c36e4a..000000000 --- a/troggle/export/tocavetab.py +++ /dev/null @@ -1,52 +0,0 @@ -import troggle.expo.models as models -from django.conf import settings - -import csv -import re -import os - -#format of CAVETAB2.CSV is -headers=['KatasterNumber','KatStatusCode','Entrances','UnofficialNumber','MultipleEntrances','AutogenFile','LinkFile','LinkEntrance','Name','UnofficialName', - 'Comment','Area','Explorers','UndergroundDescription','Equipment','QMList','KatasterStatus','References','UndergroundCentreLine','UndergroundDrawnSurvey', - 'SurvexFile','Length','Depth','Extent','Notes','EntranceName','TagPoint','OtherPoint','DescriptionOfOtherPoint','ExactEntrance','TypeOfFix','GPSpreSA', - 'GPSpostSA','Northing','Easting','Altitude','Bearings','Map','Location','Approach','EntranceDescription','PhotoOfLocation','Marking','MarkingComment', - 'Findability','FindabilityComment'] - -def cavetabRow(cave): - #mapping of troggle models to table columns is: (guess this could just be a tuple of tuples rather than a dictionary actually) - columnsToModelFields={ - 'Name':cave.official_name, - 'Area':cave.kat_area(), - 'KatStatusCode':cave.kataster_code, - 'KatasterNumber':cave.kataster_number, - 'UnofficialNumber':cave.unofficial_number, - #'' : cave.entrances This is a multiple foreignkey now, may be tricky to dump back into csv. Work on this. - 'Explorers':cave.explorers, - 'UndergroundDescription':cave.underground_description, - 'Equipment':cave.equipment, - 'References':cave.references, - 'UndergroundDrawnSurvey':cave.survey, - 'KatasterStatus':cave.kataster_status, - 'UndergroundCentreLine':cave.underground_centre_line, - 'Notes':cave.notes, - 'Length':cave.length, - 'Depth':cave.depth, - 'Extent':cave.extent, - 'SurvexFile':cave.survex_file, - } - - caveRow=['' for x in range(len(headers))] - for column, modelField in columnsToModelFields.items(): - if modelField: - # Very sorry about the atrocious replace below. I will fix this soon if noone beats me to it. - AC - caveRow[headers.index(column)]=modelField.replace(u'\xd7','x').replace(u'\u201c','').replace(u'\u2013','').replace(u'\xbd','') - return caveRow - -def writeCaveTab(path): - outfile=file(path,'w') - cavewriter=csv.writer(outfile,lineterminator='\r') - cavewriter.writerow(headers) - for cave in models.Cave.objects.all(): - cavewriter.writerow(cavetabRow(cave)) - - diff --git a/troggle/export/tologbooks.py b/troggle/export/tologbooks.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/troggle/export/toqms.py b/troggle/export/toqms.py deleted file mode 100644 index 0597da6d3..000000000 --- a/troggle/export/toqms.py +++ /dev/null @@ -1,37 +0,0 @@ -import troggle.expo.models as models -from django.conf import settings - -import csv -import re -import os - -#format of QM tables -headers=['Number','Grade','Area','Description','Page reference','Nearest station','Completion description','Comment'] - -def qmRow(qm): - #mapping of troggle models to table columns is: (guess this could just be a tuple of tuples rather than a dictionary actually) - columnsToModelFields={ - 'Number':str(qm.number), - 'Grade':qm.grade, - 'Area':qm.area, - 'Description':qm.location_description, - #'Page reference': #not implemented - 'Nearest station':qm.nearest_station_description, - 'Completion description':qm.completion_description, - 'Comment':qm.comment - } - - qmRow=['' for x in range(len(headers))] - for column, modelField in columnsToModelFields.items(): - if modelField: - # Very sorry about the atrocious replace below. I will fix this soon if noone beats me to it. - AC - qmRow[headers.index(column)]=modelField.replace(u'\xd7','x').replace(u'\u201c','').replace(u'\u2013','').replace(u'\xbd','') - return qmRow - -def writeQmTable(path,cave): - outfile=file(path,'w') - cavewriter=csv.writer(outfile,lineterminator='\r') - cavewriter.writerow(headers) - for qm in cave.get_QMs(): - cavewriter.writerow(qmRow(qm)) - \ No newline at end of file diff --git a/troggle/imagekit/__init__.py b/troggle/imagekit/__init__.py deleted file mode 100644 index 2965bbd70..000000000 --- a/troggle/imagekit/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -""" - -Django ImageKit - -Author: Justin Driscoll -Version: 0.2 - -""" -VERSION = "0.2" - - - - \ No newline at end of file diff --git a/troggle/imagekit/defaults.py b/troggle/imagekit/defaults.py deleted file mode 100644 index e1a05f600..000000000 --- a/troggle/imagekit/defaults.py +++ /dev/null @@ -1,21 +0,0 @@ -""" Default ImageKit configuration """ - -from imagekit.specs import ImageSpec -from imagekit import processors - -class ResizeThumbnail(processors.Resize): - width = 100 - height = 50 - crop = True - -class EnhanceSmall(processors.Adjustment): - contrast = 1.2 - sharpness = 1.1 - -class SampleReflection(processors.Reflection): - size = 0.5 - background_color = "#000000" - -class DjangoAdminThumbnail(ImageSpec): - access_as = 'admin_thumbnail' - processors = [ResizeThumbnail, EnhanceSmall, SampleReflection] diff --git a/troggle/imagekit/lib.py b/troggle/imagekit/lib.py deleted file mode 100644 index 65646a44e..000000000 --- a/troggle/imagekit/lib.py +++ /dev/null @@ -1,17 +0,0 @@ -# Required PIL classes may or may not be available from the root namespace -# depending on the installation method used. -try: - import Image - import ImageFile - import ImageFilter - import ImageEnhance - import ImageColor -except ImportError: - try: - from PIL import Image - from PIL import ImageFile - from PIL import ImageFilter - from PIL import ImageEnhance - from PIL import ImageColor - except ImportError: - raise ImportError('ImageKit was unable to import the Python Imaging Library. Please confirm it`s installed and available on your current Python path.') \ No newline at end of file diff --git a/troggle/imagekit/management/__init__.py b/troggle/imagekit/management/__init__.py deleted file mode 100644 index 8b1378917..000000000 --- a/troggle/imagekit/management/__init__.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/troggle/imagekit/management/commands/__init__.py b/troggle/imagekit/management/commands/__init__.py deleted file mode 100644 index 8b1378917..000000000 --- a/troggle/imagekit/management/commands/__init__.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/troggle/imagekit/management/commands/ikflush.py b/troggle/imagekit/management/commands/ikflush.py deleted file mode 100644 index c03440f43..000000000 --- a/troggle/imagekit/management/commands/ikflush.py +++ /dev/null @@ -1,38 +0,0 @@ -from django.db.models.loading import cache -from django.core.management.base import BaseCommand, CommandError -from optparse import make_option -from imagekit.models import ImageModel -from imagekit.specs import ImageSpec - - -class Command(BaseCommand): - help = ('Clears all ImageKit cached files.') - args = '[apps]' - requires_model_validation = True - can_import_settings = True - - def handle(self, *args, **options): - return flush_cache(args, options) - -def flush_cache(apps, options): - """ Clears the image cache - - """ - apps = [a.strip(',') for a in apps] - if apps: - print 'Flushing cache for %s...' % ', '.join(apps) - else: - print 'Flushing caches...' - - for app_label in apps: - app = cache.get_app(app_label) - models = [m for m in cache.get_models(app) if issubclass(m, ImageModel)] - - for model in models: - for obj in model.objects.all(): - for spec in model._ik.specs: - prop = getattr(obj, spec.name(), None) - if prop is not None: - prop._delete() - if spec.pre_cache: - prop._create() diff --git a/troggle/imagekit/models.py b/troggle/imagekit/models.py deleted file mode 100644 index 140715ebc..000000000 --- a/troggle/imagekit/models.py +++ /dev/null @@ -1,136 +0,0 @@ -import os -from datetime import datetime -from django.conf import settings -from django.core.files.base import ContentFile -from django.db import models -from django.db.models.base import ModelBase -from django.utils.translation import ugettext_lazy as _ - -from imagekit import specs -from imagekit.lib import * -from imagekit.options import Options -from imagekit.utils import img_to_fobj - -# Modify image file buffer size. -ImageFile.MAXBLOCK = getattr(settings, 'PIL_IMAGEFILE_MAXBLOCK', 256 * 2 ** 10) - -# Choice tuples for specifying the crop origin. -# These are provided for convenience. -CROP_HORZ_CHOICES = ( - (0, _('left')), - (1, _('center')), - (2, _('right')), -) - -CROP_VERT_CHOICES = ( - (0, _('top')), - (1, _('center')), - (2, _('bottom')), -) - - -class ImageModelBase(ModelBase): - """ ImageModel metaclass - - This metaclass parses IKOptions and loads the specified specification - module. - - """ - def __init__(cls, name, bases, attrs): - parents = [b for b in bases if isinstance(b, ImageModelBase)] - if not parents: - return - user_opts = getattr(cls, 'IKOptions', None) - opts = Options(user_opts) - try: - module = __import__(opts.spec_module, {}, {}, ['']) - except ImportError: - raise ImportError('Unable to load imagekit config module: %s' % \ - opts.spec_module) - for spec in [spec for spec in module.__dict__.values() \ - if isinstance(spec, type) \ - and issubclass(spec, specs.ImageSpec) \ - and spec != specs.ImageSpec]: - setattr(cls, spec.name(), specs.Descriptor(spec)) - opts.specs.append(spec) - setattr(cls, '_ik', opts) - - -class ImageModel(models.Model): - """ Abstract base class implementing all core ImageKit functionality - - Subclasses of ImageModel are augmented with accessors for each defined - image specification and can override the inner IKOptions class to customize - storage locations and other options. - - """ - __metaclass__ = ImageModelBase - - class Meta: - abstract = True - - class IKOptions: - pass - - def admin_thumbnail_view(self): - if not self._imgfield: - return None - prop = getattr(self, self._ik.admin_thumbnail_spec, None) - if prop is None: - return 'An "%s" image spec has not been defined.' % \ - self._ik.admin_thumbnail_spec - else: - if hasattr(self, 'get_absolute_url'): - return u'' % \ - (self.get_absolute_url(), prop.url) - else: - return u'' % \ - (self._imgfield.url, prop.url) - admin_thumbnail_view.short_description = _('Thumbnail') - admin_thumbnail_view.allow_tags = True - - @property - def _imgfield(self): - return getattr(self, self._ik.image_field) - - def _clear_cache(self): - for spec in self._ik.specs: - prop = getattr(self, spec.name()) - prop._delete() - - def _pre_cache(self): - for spec in self._ik.specs: - if spec.pre_cache: - prop = getattr(self, spec.name()) - prop._create() - - def save(self, clear_cache=True, *args, **kwargs): - is_new_object = self._get_pk_val is None - super(ImageModel, self).save(*args, **kwargs) - if is_new_object: - clear_cache = False - spec = self._ik.preprocessor_spec - if spec is not None: - newfile = self._imgfield.storage.open(str(self._imgfield)) - img = Image.open(newfile) - img = spec.process(img, None) - format = img.format or 'JPEG' - if format != 'JPEG': - imgfile = img_to_fobj(img, format) - else: - imgfile = img_to_fobj(img, format, - quality=int(spec.quality), - optimize=True) - content = ContentFile(imgfile.read()) - newfile.close() - name = str(self._imgfield) - self._imgfield.storage.delete(name) - self._imgfield.storage.save(name, content) - if clear_cache and self._imgfield != '': - self._clear_cache() - self._pre_cache() - - def delete(self): - assert self._get_pk_val() is not None, "%s object can't be deleted because its %s attribute is set to None." % (self._meta.object_name, self._meta.pk.attname) - self._clear_cache() - models.Model.delete(self) diff --git a/troggle/imagekit/options.py b/troggle/imagekit/options.py deleted file mode 100644 index 022cc9ef6..000000000 --- a/troggle/imagekit/options.py +++ /dev/null @@ -1,23 +0,0 @@ -# Imagekit options -from imagekit import processors -from imagekit.specs import ImageSpec - - -class Options(object): - """ Class handling per-model imagekit options - - """ - image_field = 'image' - crop_horz_field = 'crop_horz' - crop_vert_field = 'crop_vert' - preprocessor_spec = None - cache_dir = 'cache' - save_count_as = None - cache_filename_format = "%(filename)s_%(specname)s.%(extension)s" - admin_thumbnail_spec = 'admin_thumbnail' - spec_module = 'imagekit.defaults' - - def __init__(self, opts): - for key, value in opts.__dict__.iteritems(): - setattr(self, key, value) - self.specs = [] \ No newline at end of file diff --git a/troggle/imagekit/processors.py b/troggle/imagekit/processors.py deleted file mode 100644 index 6f6b480ef..000000000 --- a/troggle/imagekit/processors.py +++ /dev/null @@ -1,134 +0,0 @@ -""" Imagekit Image "ImageProcessors" - -A processor defines a set of class variables (optional) and a -class method named "process" which processes the supplied image using -the class properties as settings. The process method can be overridden as well allowing user to define their -own effects/processes entirely. - -""" -from imagekit.lib import * - -class ImageProcessor(object): - """ Base image processor class """ - @classmethod - def process(cls, image, obj=None): - return image - - -class Adjustment(ImageProcessor): - color = 1.0 - brightness = 1.0 - contrast = 1.0 - sharpness = 1.0 - - @classmethod - def process(cls, image, obj=None): - for name in ['Color', 'Brightness', 'Contrast', 'Sharpness']: - factor = getattr(cls, name.lower()) - if factor != 1.0: - image = getattr(ImageEnhance, name)(image).enhance(factor) - return image - - -class Reflection(ImageProcessor): - background_color = '#FFFFFF' - size = 0.0 - opacity = 0.6 - - @classmethod - def process(cls, image, obj=None): - # convert bgcolor string to rgb value - background_color = ImageColor.getrgb(cls.background_color) - # copy orignial image and flip the orientation - reflection = image.copy().transpose(Image.FLIP_TOP_BOTTOM) - # create a new image filled with the bgcolor the same size - background = Image.new("RGB", image.size, background_color) - # calculate our alpha mask - start = int(255 - (255 * cls.opacity)) # The start of our gradient - steps = int(255 * cls.size) # the number of intermedite values - increment = (255 - start) / float(steps) - mask = Image.new('L', (1, 255)) - for y in range(255): - if y < steps: - val = int(y * increment + start) - else: - val = 255 - mask.putpixel((0, y), val) - alpha_mask = mask.resize(image.size) - # merge the reflection onto our background color using the alpha mask - reflection = Image.composite(background, reflection, alpha_mask) - # crop the reflection - reflection_height = int(image.size[1] * cls.size) - reflection = reflection.crop((0, 0, image.size[0], reflection_height)) - # create new image sized to hold both the original image and the reflection - composite = Image.new("RGB", (image.size[0], image.size[1]+reflection_height), background_color) - # paste the orignal image and the reflection into the composite image - composite.paste(image, (0, 0)) - composite.paste(reflection, (0, image.size[1])) - # return the image complete with reflection effect - return composite - - -class Resize(ImageProcessor): - width = None - height = None - crop = False - upscale = False - - @classmethod - def process(cls, image, obj=None): - cur_width, cur_height = image.size - if cls.crop: - crop_horz = getattr(obj, obj._ik.crop_horz_field, 1) - crop_vert = getattr(obj, obj._ik.crop_vert_field, 1) - ratio = max(float(cls.width)/cur_width, float(cls.height)/cur_height) - resize_x, resize_y = ((cur_width * ratio), (cur_height * ratio)) - crop_x, crop_y = (abs(cls.width - resize_x), abs(cls.height - resize_y)) - x_diff, y_diff = (int(crop_x / 2), int(crop_y / 2)) - box_left, box_right = { - 0: (0, cls.width), - 1: (int(x_diff), int(x_diff + cls.width)), - 2: (int(crop_x), int(resize_x)), - }[crop_horz] - box_upper, box_lower = { - 0: (0, cls.height), - 1: (int(y_diff), int(y_diff + cls.height)), - 2: (int(crop_y), int(resize_y)), - }[crop_vert] - box = (box_left, box_upper, box_right, box_lower) - image = image.resize((int(resize_x), int(resize_y)), Image.ANTIALIAS).crop(box) - else: - if not cls.width is None and not cls.height is None: - ratio = min(float(cls.width)/cur_width, - float(cls.height)/cur_height) - else: - if cls.width is None: - ratio = float(cls.height)/cur_height - else: - ratio = float(cls.width)/cur_width - new_dimensions = (int(round(cur_width*ratio)), - int(round(cur_height*ratio))) - if new_dimensions[0] > cur_width or \ - new_dimensions[1] > cur_height: - if not cls.upscale: - return image - image = image.resize(new_dimensions, Image.ANTIALIAS) - return image - - -class Transpose(ImageProcessor): - """ Rotates or flips the image - - Method should be one of the following strings: - - FLIP_LEFT RIGHT - - FLIP_TOP_BOTTOM - - ROTATE_90 - - ROTATE_270 - - ROTATE_180 - - """ - method = 'FLIP_LEFT_RIGHT' - - @classmethod - def process(cls, image, obj=None): - return image.transpose(getattr(Image, cls.method)) diff --git a/troggle/imagekit/specs.py b/troggle/imagekit/specs.py deleted file mode 100644 index a6832ba9d..000000000 --- a/troggle/imagekit/specs.py +++ /dev/null @@ -1,119 +0,0 @@ -""" ImageKit image specifications - -All imagekit specifications must inherit from the ImageSpec class. Models -inheriting from ImageModel will be modified with a descriptor/accessor for each -spec found. - -""" -import os -from StringIO import StringIO -from imagekit.lib import * -from imagekit.utils import img_to_fobj -from django.core.files.base import ContentFile - -class ImageSpec(object): - pre_cache = False - quality = 70 - increment_count = False - processors = [] - - @classmethod - def name(cls): - return getattr(cls, 'access_as', cls.__name__.lower()) - - @classmethod - def process(cls, image, obj): - processed_image = image.copy() - for proc in cls.processors: - processed_image = proc.process(processed_image, obj) - return processed_image - - -class Accessor(object): - def __init__(self, obj, spec): - self._img = None - self._obj = obj - self.spec = spec - - def _get_imgfile(self): - format = self._img.format or 'JPEG' - if format != 'JPEG': - imgfile = img_to_fobj(self._img, format) - else: - imgfile = img_to_fobj(self._img, format, - quality=int(self.spec.quality), - optimize=True) - return imgfile - - def _create(self): - if self._exists(): - return - # process the original image file - fp = self._obj._imgfield.storage.open(self._obj._imgfield.name) - fp.seek(0) - fp = StringIO(fp.read()) - try: - self._img = self.spec.process(Image.open(fp), self._obj) - # save the new image to the cache - content = ContentFile(self._get_imgfile().read()) - self._obj._imgfield.storage.save(self.name, content) - except IOError: - pass - - def _delete(self): - self._obj._imgfield.storage.delete(self.name) - - def _exists(self): - return self._obj._imgfield.storage.exists(self.name) - - def _basename(self): - filename, extension = \ - os.path.splitext(os.path.basename(self._obj._imgfield.name)) - return self._obj._ik.cache_filename_format % \ - {'filename': filename, - 'specname': self.spec.name(), - 'extension': extension.lstrip('.')} - - @property - def name(self): - return os.path.join(self._obj._ik.cache_dir, self._basename()) - - @property - def url(self): - self._create() - if self.spec.increment_count: - fieldname = self._obj._ik.save_count_as - if fieldname is not None: - current_count = getattr(self._obj, fieldname) - setattr(self._obj, fieldname, current_count + 1) - self._obj.save(clear_cache=False) - return self._obj._imgfield.storage.url(self.name) - - @property - def file(self): - self._create() - return self._obj._imgfield.storage.open(self.name) - - @property - def image(self): - if self._img is None: - self._create() - if self._img is None: - self._img = Image.open(self.file) - return self._img - - @property - def width(self): - return self.image.size[0] - - @property - def height(self): - return self.image.size[1] - - -class Descriptor(object): - def __init__(self, spec): - self._spec = spec - - def __get__(self, obj, type=None): - return Accessor(obj, self._spec) diff --git a/troggle/imagekit/tests.py b/troggle/imagekit/tests.py deleted file mode 100644 index 8c2eb5ea5..000000000 --- a/troggle/imagekit/tests.py +++ /dev/null @@ -1,86 +0,0 @@ -import os -import tempfile -import unittest -from django.conf import settings -from django.core.files.base import ContentFile -from django.db import models -from django.test import TestCase - -from imagekit import processors -from imagekit.models import ImageModel -from imagekit.specs import ImageSpec -from imagekit.lib import Image - - -class ResizeToWidth(processors.Resize): - width = 100 - -class ResizeToHeight(processors.Resize): - height = 100 - -class ResizeToFit(processors.Resize): - width = 100 - height = 100 - -class ResizeCropped(ResizeToFit): - crop = ('center', 'center') - -class TestResizeToWidth(ImageSpec): - access_as = 'to_width' - processors = [ResizeToWidth] - -class TestResizeToHeight(ImageSpec): - access_as = 'to_height' - processors = [ResizeToHeight] - -class TestResizeCropped(ImageSpec): - access_as = 'cropped' - processors = [ResizeCropped] - -class TestPhoto(ImageModel): - """ Minimal ImageModel class for testing """ - image = models.ImageField(upload_to='images') - - class IKOptions: - spec_module = 'imagekit.tests' - - -class IKTest(TestCase): - """ Base TestCase class """ - def setUp(self): - # create a test image using tempfile and PIL - self.tmp = tempfile.TemporaryFile() - Image.new('RGB', (800, 600)).save(self.tmp, 'JPEG') - self.tmp.seek(0) - self.p = TestPhoto() - self.p.image.save(os.path.basename('test.jpg'), - ContentFile(self.tmp.read())) - self.p.save() - # destroy temp file - self.tmp.close() - - def test_setup(self): - self.assertEqual(self.p.image.width, 800) - self.assertEqual(self.p.image.height, 600) - - def test_to_width(self): - self.assertEqual(self.p.to_width.width, 100) - self.assertEqual(self.p.to_width.height, 75) - - def test_to_height(self): - self.assertEqual(self.p.to_height.width, 133) - self.assertEqual(self.p.to_height.height, 100) - - def test_crop(self): - self.assertEqual(self.p.cropped.width, 100) - self.assertEqual(self.p.cropped.height, 100) - - def test_url(self): - tup = (settings.MEDIA_URL, self.p._ik.cache_dir, 'test_to_width.jpg') - self.assertEqual(self.p.to_width.url, "%s%s/%s" % tup) - - def tearDown(self): - # make sure image file is deleted - path = self.p.image.path - self.p.delete() - self.failIf(os.path.isfile(path)) diff --git a/troggle/imagekit/utils.py b/troggle/imagekit/utils.py deleted file mode 100644 index 352d40ff2..000000000 --- a/troggle/imagekit/utils.py +++ /dev/null @@ -1,15 +0,0 @@ -""" ImageKit utility functions """ - -import tempfile - -def img_to_fobj(img, format, **kwargs): - tmp = tempfile.TemporaryFile() - if format != 'JPEG': - try: - img.save(tmp, format, **kwargs) - return - except KeyError: - pass - img.save(tmp, format, **kwargs) - tmp.seek(0) - return tmp diff --git a/troggle/localsettingsserver.py b/troggle/localsettingsserver.py deleted file mode 100644 index 4148336ca..000000000 --- a/troggle/localsettingsserver.py +++ /dev/null @@ -1,31 +0,0 @@ -DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. -DATABASE_NAME = 'troggle' # Or path to database file if using sqlite3. -DATABASE_USER = 'undemocracy' # Not used with sqlite3. -DATABASE_PASSWORD = 'aiGohsh5' # Not used with sqlite3. -DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. -DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3. - -SURVEX_DATA = '/home/mjg/loser/' -CAVERN = 'cavern' -EXPOWEB = '/home/mjg/expoweb/' -SURVEYS = '/home/mjg/surveys/' - -SURVEYS_URL = 'http://framos.lawoftheland.co.uk/troggle/survey_scans/' -FILES = "http://framos.lawoftheland.co.uk/troggle/survey_files/" - -SVX_URL = 'http://framos.lawoftheland.co.uk/troggle/survex/' - -PYTHON_PATH = '/home/mjg/expoweb/troggle/' - -MEDIA_URL = 'http://framos.lawoftheland.co.uk/troggle/site_media/' - -MEDIA_ROOT = '/home/mjg/expoweb/troggle/media/' - -URL_ROOT = "http://framos.lawoftheland.co.uk/troggle/" - -TEMPLATE_DIRS = ( - "/home/mjg/expoweb/troggle/templates", - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) diff --git a/troggle/localsettingsubuntu.py b/troggle/localsettingsubuntu.py deleted file mode 100644 index 22d3d2c3f..000000000 --- a/troggle/localsettingsubuntu.py +++ /dev/null @@ -1,20 +0,0 @@ -DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. -DATABASE_NAME = 'troggle' # Or path to database file if using sqlite3. -DATABASE_USER = 'troggler3' # Not used with sqlite3. -DATABASE_PASSWORD = 'ggg' # Not used with sqlite3. -DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. -DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3. -PYTHON_PATH = '/home/goatchurch/expoweb/troggle/' - -SURVEX_DATA = '/home/goatchurch/loser/' -CAVERN = 'cavern' -EXPOWEB = '/home/goatchurch/expoweb' -URL_ROOT = '/troggle/' - -TEMPLATE_DIRS = ( - "/home/goatchurch/expoweb/troggle/templates", - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - diff --git a/troggle/localsettingswindows.py b/troggle/localsettingswindows.py deleted file mode 100644 index 53225b2a1..000000000 --- a/troggle/localsettingswindows.py +++ /dev/null @@ -1,49 +0,0 @@ -DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. -DATABASE_NAME = '' # Or path to database file if using sqlite3. -DATABASE_USER = '' # Not used with sqlite3. -DATABASE_PASSWORD = '' # Not used with sqlite3. -DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. -DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3. - -SURVEX_DATA = 'c:\\Expo\\loser\\' -CAVERN = 'cavern' -EXPOWEB = 'C:\\Expo\\expoweb\\' -SURVEYS = 'E:\\surveys\\' -SURVEY_SCANS = 'E:\\surveys\\surveyscans' - -LOGFILE = open(EXPOWEB+'troggle\\parsing_log.txt',"a+b") - -PHOTOS = 'C:\\Expo\\expoweb\\photos' - -URL_ROOT = 'http://127.0.0.1:8000' - -PYTHON_PATH = 'C:\\expoweb\\troggle\\' - -MEDIA_ROOT = 'C:/Expo/expoweb/troggle/media/' - -#FILES = "http://framos.lawoftheland.co.uk/troggle/survey_files/" - -EMAIL_HOST = "smtp.gmail.com" - -EMAIL_HOST_USER = "cuccexpo@gmail.com" - -EMAIL_HOST_PASSWORD = "" - -EMAIL_PORT=587 - -EMAIL_USE_TLS = True - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash if there is a path component (optional in other cases). -# Examples: "http://media.lawrence.com", "http://example.com/media/" - - - - -TEMPLATE_DIRS = ( - "C:/Expo/expoweb/troggle/templates", - - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) \ No newline at end of file diff --git a/troggle/manage.py b/troggle/manage.py deleted file mode 100644 index b8c4be8eb..000000000 --- a/troggle/manage.py +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env python -from django.core.management import execute_manager -try: - import settings # Assumed to be in the same directory. -except ImportError: - import sys - sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) - sys.exit(1) - -if __name__ == "__main__": - execute_manager(settings) diff --git a/troggle/media/204plan.gif b/troggle/media/204plan.gif deleted file mode 100644 index b89da049c0fad4a249b8d16ab4f5ad13a3a34f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39181 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 Sgtyt3h@k49NwvZPw*DWt9#01V diff --git a/troggle/media/SilkRoadsilouetteAndrew.png b/troggle/media/SilkRoadsilouetteAndrew.png deleted file mode 100644 index 2ab357ae70d02db4e46dfb9aa776e764182da8de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70596 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 z 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, html>body div.contents { -height: auto; -} -body { -} -div.contents { -position: absolute; -top: 0; -right: 0; -} - - -div.main { -margin-bottom: 3em; -} - - -/* You are not expected to understand this. It is necessary. */ -table.centre { margin-left: auto; margin-right: auto; } -table.centre td { text-align: left; } - -h2#tophead { text-align: center; margin-bottom: -10pt; } -table#cavepage { width: 100%; font-size: 160%; } -table#cavepage th#kat_no { text-align: left; width: 25%; } -table#cavepage th#name { text-align: center; width: 50%; } -table#cavepage th#status { text-align: right; width: 25%; } - -.command { color: #FF0000; } -.comment { color: #888888; font-style:italic;} - -.thumbnail { - width: 300px; -} - -table { - border: thin solid silver; - border-collapse: collapse; -} -td { - padding:0px; - border: thin solid silver; -} - - -#nav { - -} - -.menuBarItem { - font-variant: small-caps; - text-align: right; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-left-width: thin; -} -.behind { - display: none; -} -div.figure { - width: 20%; - border: thin silver solid; - margin: 0.5em; - padding: 0.5em; - display: inline; - float: left; -} -div.figure p { - text-align: left; - font-size: smaller; - text-indent: 0; -} -img.thumbnail { - width: 100%; -} -br.clearfloat { - clear:both; -} \ No newline at end of file diff --git a/troggle/media/css/main3.css b/troggle/media/css/main3.css deleted file mode 100644 index d875da9e3..000000000 --- a/troggle/media/css/main3.css +++ /dev/null @@ -1,374 +0,0 @@ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, font, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td - { - - font-weight: inherit; - font-style: inherit; - font-size: 100%; - font-family: inherit; - vertical-align: baseline; - } - -html, body { - height: 100%; -} - - -.caption { font-size: 8pt; margin-bottom: 0pt; } -.centre { text-align: center; } -.plus2pt { font-size: 160%; } - -ul -{ - list-style: none; -} - -div.logbookentry -{ - text-align:left; -} -div.logbookentry ul.cavers -{ - float:left; - padding-left:20px; - padding-right:10px; - margin-top:0px; -} -td.author -{ - background-color:yellow; -} - -div.logbookentry p -{ - margin:10px; -} - -div#content div#col2 -{ - float:right; - width:33%; - background-color:#feeeed; -} - -div#content h2 -{ - text-align:center; - font-size:200%; - padding-bottom:30px; -} - - -table.prevnextexpeditions -{ - width:100%; -} - -table.prevnextexpeditions td -{ - padding: 2px; -} - -table.expeditionpersonlist -{ - width:100%; -} - -table.expeditionpersonlist td -{ - padding: 2px; -} - -div#content div#col1 -{ - width:66%; -} -table.expeditionlogbooks td -{ - padding: 2px; -} - -ul#expeditionlist -{ - width: 300px -} - -div.survexblock -{ - width:50%; - background-color:#e0e0e0; -} -p.indent -{ - margin-left:10px; -} - - -#currentLocation { - float:right; - background:#999; - line-height: 80%; - font-variant: small-caps; - margin: 0px; - padding: 0px; -} - - - -hr{ - margin:0; - padding:0; - height:1px; - border:thin solid #000; - border:#000; - color:#000; - background:#000; -} - -div.centre img { vertical-align: middle; } - -h1 { text-align: center; font-size: 210%; display: inline;} -h2 { color: #009900; } -h3 { color: #000 text-align:left; border-bottom:thin solid black; margin-bottom:1em; margin-top:1em; font-weight:bold} -h4 { color: #0d664c; } -h4.navbar {line-height: 0px;} -img.onright, div.onright { vertical-align: top; float: right; - margin-left: 10pt; margin-bottom: 10pt; - margin-right: 8pt; } -img.onleft, div.onleft { vertical-align: top; float: left; - margin-right: 10pt; margin-bottom: 10pt; - margin-left: 8pt; } -img.icon { vertical-align: middle; } -img.aligntop { vertical-align: top; } -blockquote { - font: Georgia, "Times New Roman", Times, serif; - font-weight:bold; - font-variant:small-caps; - width: 400px; - background: url(../close-quote.gif) no-repeat right bottom; - padding-left: 25px; - text-indent: -25px; - text-align: right; - vertical-align:bottom; - color:#CCCC66; -} -blockquote:first-letter { - background: url(../open-quote.gif) no-repeat left top; - padding-left: 40px; - font: italic 1.4em Georgia, "Times New Roman", Times, serif; -} -table.imgtable { margin-left: auto; margin-right: auto; } -table.imgtable td { vertical-align: middle; text-align: center; - padding: 10px; } - -table.normal { border: thin; border-top:solid ; border-left:dotted ; border-bottom:dotted; border-right:hidden ; border-width:1px;} -table.normal td { border: thin; border-right:dotted ; border-width:1px; border-spacing:0px } -table.normal th { border-left:thin ; border-right:thin ; text-align: left} - -/* "Traditional" table with borders.*/ -table.trad { margin: 0pt; border: 1px solid #000; - border-color: #c0c0c0 #8d8d8d #8d8d8d #c0c0c0; } -table.bigfatborder { border-width: 6px; } -table.trad td, table.trad th { margin: 0pt; border: 1px solid #aaa; - border-color: #8d8d8d #c0c0c0 #c0c0c0 #8d8d8d; } - - -/* You are not expected to understand this. It is necessary. */ -/* The above is the most fucktarded comment I have ever read :-) AC, 24 APR 2009 */ -table.centre { margin-left: auto; margin-right: auto; } -table.centre td { text-align: left; } - -h2#tophead { text-align: center; margin-bottom: -10pt; } -table#cavepage { width: 100%; font-size: 160%; } -table#cavepage th#kat_no { text-align: left; width: 25%; } -table#cavepage th#name { text-align: center; width: 50%; } -table#cavepage th#status { text-align: right; width: 25%; } - -.command { color: #FF0000; } -.comment { color: #888888; font-style:italic;} - -.thumbnail { - width: 300px; -} - -table { - border: thin solid silver; - border-collapse: collapse; -} -td { - padding:0px; - border: thin solid silver; -} - - -.redtext{ - color:#F00; - } - -a.redtext:link { - color:#F00; - -} - -.redtext - -.menuBarItem { - font-variant: small-caps; - text-align: right; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-left-width: thin; -} -.behind { - display: none; -} -div.figure { - width: 20%; - border: thin white solid; - margin: 0.5em; - padding: 0.5em; - display: inline; - float: left; -} -div.figure p { - text-align: left; - font-size: smaller; - text-indent: 0; -} -img.thumbnail { - width: 100%; -} - -#error { - color: red; -} - -div#header { - position:fixed; - left:100px; - right:100px; - top:0; - margin-left:auto; - margin-right:auto; - height:50px; - background-image: url( ../204plan.gif); - border-bottom:thin solid #000; - font-family: Arial, Helvetica, sans-serif; - font-variant: normal; -} - - -div#editLinks { - position:absolute; - background: #999; - bottom:0px; - right:0px; - font-family: "Courier New", Courier, monospace; - filter:alpha(opacity=75); - -moz-opacity:.75; - opacity:.75; -} - -div#editLinks a{ - color:#FFF; -} - -div#content { - margin-top: 50px; - margin-left: 120px; - margin-right: 120px; - padding-top: 10px; - padding-left: 5em; - padding-right: 5em; - background:#CCC; -} - - -.footer { - position:fixed; - width:100%; - bottom:0; - left:0; -} - -body { - background-color:#000; - padding-bottom:100px; - -} - -h1 { - margin-top:0; - margin-left:10px; - vertical-align:top; -} - - -.rightMargin { - position:absolute; - z-index:-2; - width:130px; - right:0px; - top:0px; - clip: rect(auto,auto,auto,auto); - background:#000; -} - -.leftMargin { - position:absolute; - z-index:-2; - width:130px; - top:0px; - left:0px; - clip: rect(auto,100px,auto,auto,); - background:#000; -} - -#footerLinks{ - position:fixed; - text-align: center; - bottom:0; - left:0; - width:100%; - background-color:#000; - color:#999 -} - -#footerLinks a{ - color:#FFF -} - -/*.fadeIn { - display: none; -}*/ - -#timeMachine { - width:auto; - right:0; - left:auto; -} - -#surveyHover { - width:auto; - right:auto; - left:auto; -} - -#col1 { - width:60% -} - -#quicksearch { - margin-left:40px; -} \ No newline at end of file diff --git a/troggle/media/css/nav.css b/troggle/media/css/nav.css deleted file mode 100644 index 1c97c51e0..000000000 --- a/troggle/media/css/nav.css +++ /dev/null @@ -1,12 +0,0 @@ -div#nav { - position:fixed; - width: 12em; - background: rgb(153, 153, 153); - margin-top: 0px; - margin-left: 120px; - border-top: thin black solid; -} - -div#content { - padding-left:240px; -} \ No newline at end of file diff --git a/troggle/media/eieshole.jpg b/troggle/media/eieshole.jpg deleted file mode 100644 index 061bb361364317cdf99dc6487a83980db808b8a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25220 zcmb5VWmFv96FxY&2X}WE+}&+(cM^06?(Xh7I0V`yJz?7 zKK-HZ?OV6%p8il>)lb#?%KH`oOG#c)9smOa0|0$ofcG_k%>QQpU%|EJ{tR`9V44iO#>{(q1E|KYtKfQ<}m z0I-6Cp#i{R!@yy~ybl2=0RR|ySh$bl{y#tjd{{z#@EDg+uzd zA;JM*VBz4g0SGwMT!>P*G@3|w=B}Zs+{I1EDEPF}KQCst33#+DE>Y=-WVGGFN+4-h zA6iIZ03Qece~kbDaPS{m5s?5Ni#*sLi!dK=0R{p2|B``$1z^K{7=TBR!qqgV;dV`J zx{vipA4TlYo09^BFW-W*)t%>r+4bbbgy@Dt;M}&uAr9hWa z!gkEr%CrWCiJi9_D}fB&nKF1WiyAZ!@w-ZpV@beX3T6O?b-wdlvv#hZ;W10~zODh( z?MXhXFS}{iHRxrH?4aP_A`nkK`>tBxq6FCr7Nna?#V_I}G2Miut?D)nPN0RMRbnSR zycmo+w#zLg=VOo)m6hv}xB7=?!;0i6d(rdb+b7*QYu#qvwsKhoRXseeOGQ zRB*Li`$jpMCV6#yK^}r+vh7htKng3K4bGENR;LF_YDw=-Z;yLDq`hUkk}56e&X8rI z*T@l9XDX$t^1@ovm*zW+?9LbsJfGhU4yvTcULlu5N(Xi5MjSA2Le$Ogp0@UF`nxAl z3Ao4+?++c{UYjs|Ru>T09h-EX*JpB3T_a&<8h zlpHYm&xadcFP=&YkU79$dWTgXDi_4JY&sBxKb^o386hI6jQJ6>p0*;<%1xFXe=|LY!Mda4Fpvh21^Rd9~I=(f(7-k}_&Si(t-Z zcqVE6_!jm7xBlV=~wIhOhbL6yml_!}l8>IS56*;Y-a5 z>FJeQmQ}LjJVl^+(XC)PcHBMhj7~y}*|=gJQYW0wQa6^#0y+QAz%XCD1M+~B!^Ct) zaJy}_!5q+qC~npD4L*E4dUfp-+2adNh#1i6$$CSJ42+qNjsk zW%EGr?V8fU{;$SCP|~R;o;xZ?FMzVC25T z0k2Sf$fSiQpx@y)N3Jc@1{_hcP|W?{ZmS$VNdD0CDl`ZlLl6zR*j6cyNyLanvnS>I z&i`O`Ko@8G1&nG3-$jSsVb!P=B;z_NFc=j{fJ0Q(*3YyWi{T=4?h>>j%xTbK%L-OL zOMPe_WeC|B;ZKyn==)ud#KS4;0G93#(X+^!6A)PoLf#}m2&4|Hn#6JXVKd+N*mE&l zVicVzg_ZhQN?NL`YA@gnkuXpdvaJbw&HNZ^!$!u3{_|HKwZ^9!@<+H%T5L~SgC>?( zolY&KGH)u=qj&|*$roC>E>x13lekYqX=YNCpWgw?u%0?GxdR`&+u6!OJL%p5fsF@< ztBi#>ImXMGSU?k8`hk^#mqO?}fUO-^UovGy{}&p9O$(#3+-ZRcw;!)wMW2)jsn;>1 zYf|zeJ@bE!9p=#_OE@dTosQYtTwW$dFn7mKRfw76A&aTifOfz*N5=XAy)F=LDTSJr z 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 z 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 OEw|qb3kw6Dpa0qSZ6qcD diff --git a/troggle/media/expoBanner.gif b/troggle/media/expoBanner.gif deleted file mode 100644 index 232e9add88e56781ff2b78620b8a6b76e8c52873..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254791 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�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 z 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 - - - - -
- - {% block contentheader %} - {% endblock %} - - {% block content %} - REPLACE : The content - {% endblock %} - -
- - - - -{% block margins %} - - -{% endblock margins %} - - - - - - diff --git a/troggle/templates/calendar.html b/troggle/templates/calendar.html deleted file mode 100644 index 5ff27786a..000000000 --- a/troggle/templates/calendar.html +++ /dev/null @@ -1,76 +0,0 @@ -{% extends "base.html" %} - -{% block title %} - CUCC expedition calendar: - {% if expedition %} - {{ expedition.year }} - {% else %} - choose a year - {% endif %} -{% endblock %} - -{% block head %} - - -{% endblock %} - -{% block contentheader %} -

Expedition members present calendar for {{ expedition.year }}

- - - - - - -
Expedition member present in Austria
Expedition member absent in Austria
-
-{% endblock%} - -{% block content %} - {% if expedition %} - - - {% else %} - - {% endifchanged %} - {% endfor %} - - - {% endfor %} - - - {% endfor %} - - - {% for personexpedition in expedition.personexpedition_set.all %} - - - {% if personexpedition.ListDaysTF %} - {% for dateTF in personexpedition.ListDaysTF %} - - {% endfor %} - {% else %} - - {% endif %} - - {% endfor %} -
- {% for date in expedition.ListDays %} - {% ifchanged date.month %} - {{ date|date:"F" }}
- {% for date in expedition.ListDays %} - {{ date|date:"D" }}
- {% for date in expedition.ListDays %} - {{ date|date:"d" }}
- {{ personexpedition.person }} - -
No data.
- {% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/cave.html b/troggle/templates/cave.html deleted file mode 100644 index 8aaea225f..000000000 --- a/troggle/templates/cave.html +++ /dev/null @@ -1,88 +0,0 @@ -{% extends "cavebase.html" %} -{% load wiki_markup %} -{% block editLink %}| Edit cave {{cave|wiki_to_html_short}}{% endblock %} -{% block content %} - -
-

All logbook entries regarding this cave ({{cave.logbookentry_set.count}})

- - {% for logbookentry in cave.logbookentry_set.all %} - {% if logbookentry.title %} - - - - - {% endif %} - {% endfor %} -
{{logbookentry.date}}{{logbookentry.title|safe}}
-
- -{% if cave.entrances %} -

Entrances

- {% for ent in cave.entrances %} - {{ ent.entrance_letter|wiki_to_html_short }} - {% if ent.entrance.marking %} - Marking: {{ ent.entrance.marking_val|wiki_to_html_short }} - {% endif %} -
- {% endfor %} -{% endif %} - -{% if cave.explorers %} -

Explorers

- {{ cave.explorers|wiki_to_html }} -{% endif %} -{% if cave.underground_description %} -

Underground Description

- {{ cave.underground_description|wiki_to_html }} -{% endif %} -{% if cave.equipment %} -

Equipment

- {{ cave.equipment|wiki_to_html }} -{% endif %} -{% if cave.references %} -

References

- {{ cave.references|wiki_to_html }} -{% endif %} -{% if cave.survey %} -

Survey

- {{ cave.survey|wiki_to_html }} -{% endif %} -{% if cave.kataster_status %} -

Kataster_status

- {{ cave.kataster_status|wiki_to_html }} -{% endif %} -{% if cave.underground_centre_line %} -

Underground Centre Line

- {{ cave.underground_centre_line|wiki_to_html }} -{% endif %} -{% if cave.survex_file %} -

Survex File

- {{ cave.survex_file|wiki_to_html }} -{% endif %} -{% if cave.notes %} -

Notes

- {{ cave.notes|wiki_to_html }} -{% endif %} - -{% if cave.get_QMs %} -

Question marks

-

Extant

-
    - {% for QM in cave.get_QMs %} - {% if QM.ticked_off_by %} - {% else %} -
  • {{QM}}
  • - {% endif %} - {% endfor %} -
-

Ticked off

-
    - {% for QM in cave.get_QMs %} - {% if QM.ticked_off_by %} -
  • {{QM}}
  • - {% endif %} - {% endfor %} -
-{% endif %} -{% endblock %} diff --git a/troggle/templates/cavebase.html b/troggle/templates/cavebase.html deleted file mode 100644 index 8e8132ea8..000000000 --- a/troggle/templates/cavebase.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}{{ cave.official_name|wiki_to_html_short }}{% endblock %} - -{% block contentheader %} - - - - - - -
- {% if cave.kataster_number %} - {{ cave.kataster_number|wiki_to_html_short }} - {% if cave.entrancelist %} - - {{ cave.entrancelist|wiki_to_html_short }} - {% endif %} - {% if cave.unofficial_number %} -
({{ cave.unofficial_number|wiki_to_html_short }}) - {% endif %} - {% endif %} -
- {{ cave.official_name|wiki_to_html_short }} - - {{ cave.kataster_code|wiki_to_html_short }} -
-{% endblock %} \ No newline at end of file diff --git a/troggle/templates/caveindex.html b/troggle/templates/caveindex.html deleted file mode 100644 index ae8b224a1..000000000 --- a/troggle/templates/caveindex.html +++ /dev/null @@ -1,23 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Cave Index{% endblock %} - -{% block content %} - -

Notable caves

- - -

All caves

- - - -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/cavesearch.html b/troggle/templates/cavesearch.html deleted file mode 100644 index a555b4424..000000000 --- a/troggle/templates/cavesearch.html +++ /dev/null @@ -1,23 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} -{% block title %} -Cave search results for "{{ query_string }}" -{% endblock%} - -{% block content %} - -

Troggle cave search

- -Your search string, {{ query_string }}, - -{% if found_entries %} - was found in the following {{found_entries.count}} cave underground descriptions and / or official names: - - {% else %} - was not found in any cave underground descriptions and / or official names. Please try again. - {% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/controlPanel.html b/troggle/templates/controlPanel.html deleted file mode 100644 index d60a32731..000000000 --- a/troggle/templates/controlPanel.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "base.html" %} -{% block content %} -
- -

Dump:

- - - -
Dump entire database and recreate tables:
- -

Import (non-destructive):

- - - - - - - - - -
caves from cavetab2.csv using parsers\cavetab.py
logbook entries using parsers\logbooks.py
people from folk.csv using parsers\people.py
QMs using parsers\QMs.py
survey scans using parsers\surveys.py
survex data using parsers\survex.py
- - -

- - - -

-
- -

Export to csv:

- - - - -
caves to cavetab2.csv
-{% endblock %} \ No newline at end of file diff --git a/troggle/templates/entrance.html b/troggle/templates/entrance.html deleted file mode 100644 index 7aa7fe87a..000000000 --- a/troggle/templates/entrance.html +++ /dev/null @@ -1,80 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - - -{% block title %}{{ cave.official_name|wiki_to_html }} - {{ entrance_letter|wiki_to_html }}{% endblock %} - -{% block content %} - - - - - - -
- {% if cave.kataster_number %} - {{ cave.kataster_number|wiki_to_html }}{{ letter|wiki_to_html }} - {% if cave.unofficial_number %} -
({{ cave.unofficial_number|wiki_to_html }}) - {% endif %} - {% endif %} -
- {% if entrance.name %} - {{ entrance.name|wiki_to_html }} - {% else %} - Unnamed - {% endif %} - {{ cave.official_name|wiki_to_html }} - - {{ cave.kataster_code|wiki_to_html }} -
- -{% if entrance.entrance_description %} -

Entrance Description

- {{ entrance.entrance_description|wiki_to_html }} -{% endif %} -{% if entrance.explorers %} -

Explorers

- {{ entrance.explorers|wiki_to_html }} -{% endif %} -{% if entrance.map_description %} -

Map

- {{ entrance.map_description|wiki_to_html }} -{% endif %} -{% if entrance.explorers %} -

Entrance Description

- {{ entrance.entrance_description|wiki_to_html }} -{% endif %} -{% if entrance.location_description %} -

Location Description

- {{ entrance.location_description|wiki_to_html }} -{% endif %} -{% if entrance.approach %} -

Approach

- {{ entrance.approach|wiki_to_html }} -{% endif %} -{% if entrance.underground_description %} -

Underground Description

- {{ entrance.underground_description|wiki_to_html }} -{% endif %} -{% if entrance.photo %} -

Photo

- {{ entrance.photo|wiki_to_html }} -{% endif %} -{% if entrance.marking %} -

Marking - {{ entrance.marking_val|wiki_to_html }}

- {% if entrance.marking_comment %} - {{ entrance.marking_comment|wiki_to_html }} - {% endif %} -{% endif %} -{% if entrance.findability %} -

Findability - {{ entrance.findability_val|wiki_to_html }}

- {% if entrance.findability_description %} - {{ entrance.findability_description|wiki_to_html }} - {% endif %} -{% endif %} -{% if entrance.bearings %} -

Bearings

- {{ entrance.bearings|wiki_to_html }} -{% endif %} - -{% endblock %} diff --git a/troggle/templates/expedition.html b/troggle/templates/expedition.html deleted file mode 100644 index 4f91abd80..000000000 --- a/troggle/templates/expedition.html +++ /dev/null @@ -1,52 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Expedition {{expedition.name}}{% endblock %} -{% block editLink %}Edit expedition {{expedition|wiki_to_html_short}}{% endblock %} -{% block content %} -

{{expedition.name}}: {{expedition.date_from}} - {{expedition.date_to}}

- -
- - - - - - - -
{% if expedition_prev %}< < {{expedition_prev.year}}{% endif %}{% if expedition_next %}> > {{expedition_next.year}}{% endif %}
- -{% for personexpedition in expedition.personexpedition_set.all %} - - - - - -{% endfor %} -
CaverFromTo
{{personexpedition.person}}{{personexpedition.date_from}}{{personexpedition.date_to}}
-
- -
-

Logbook entries

-
-

debug message: {{message}}

- - - -{% for logbookentry in logbookentries %} - - - - - - {% if logbookentry.cave %} - - {% else %} - - {% endif %} - -{% endfor %} -
DateTitleAuthorPlace
{{logbookentry.date}}{{logbookentry.title|safe}}{{logbookentry.author.name}}{{logbookentry.place}}{{logbookentry.place}}
-
- -{% endblock %} diff --git a/troggle/templates/fileupload.html b/troggle/templates/fileupload.html deleted file mode 100644 index d1db6ca34..000000000 --- a/troggle/templates/fileupload.html +++ /dev/null @@ -1,18 +0,0 @@ -

Fileupload

- -
    -{% for fileuploaded in filesuploaded %} -
  • UPLOADEDFILE: {{fileuploaded}} -
  • -{% endfor %} -
-

MESSAGE: {{message}} -

- -{% if not filesuploaded %} -
-

file to upload

-

-

-
-{% endif %} diff --git a/troggle/templates/frontpage.html b/troggle/templates/frontpage.html deleted file mode 100644 index 6ca379178..000000000 --- a/troggle/templates/frontpage.html +++ /dev/null @@ -1,42 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Cambridge Expeditions to Austria{% endblock %} - -{% block content %} - -
-Recent edits -
- -
-

Welcome

-

-This is Troggle, the information portal for Cambridge University Caving Club's Expeditions to Austria. -

- -

-Here you will find information about the {{expedition.objects.count}} expeditions the club has undertaken since 1976. Browse survey information, photos, and description wikis for {{cave.objects.count}} caves, {{subcave.objects.count}} areas within those caves, and {{extantqms.count}} going leads yet to be explored. We have {{photo.objects.count}} photos and {{logbookentry.objects.count}} logbook entries. -

- -

-If you are an expedition member, please sign up using the link to the top right and begin editing. -

- -

News

- -

-Everyone is gearing up for the 2009 expedition; please see the link below for the main expedition website. -

- -

Troggle development

-

-Troggle is still under development, and there is much work to do. -

-
-{% endblock content %} - -{% block margins %} - - -{% endblock margins %} \ No newline at end of file diff --git a/troggle/templates/index.html b/troggle/templates/index.html deleted file mode 100644 index 1c9fd3bad..000000000 --- a/troggle/templates/index.html +++ /dev/null @@ -1,59 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Cambridge Expeditions to Austria{% endblock %} - -{% block content %} - -

The unfinished front page

- - -

Further work

- -

Julian's work: -

parse 1992-1976 logbooks; (esp top 161)

-

detect T/U on log entries;

-

name matching and spelling in survex files;

-

Improve logbook wikihtml text

- -

Other work:

-

surf through the tunnel sketches and images

-

bugs with all.svx block (double dot) -

render bitmap view of every survex block as a thumbnail

-

upload tunnel images and tunnel sketches

-

where are the subcaves;

-

cave section entrance match for logbook entries

-

simplify the survex parsing code (if necessary);

-

wiki survex stop linegap between comment lins

-

links between logbooks and survex blocks to cave things;

-

mini-tree of survexblocks;

-

connect sketches to caves to survey blocks and render thumbnailwise;

-

all images to start appearing in pages; and so on

- -

{{message}}

- -
- - -
- -
    -{% for expedition in expeditions %} -
  • - {{expedition.name}} - - {{expedition.logbookentry_set.count}} logbook entries -
  • -{% endfor %} -
- -{% endblock %} diff --git a/troggle/templates/listdir.html b/troggle/templates/listdir.html deleted file mode 100644 index a3b677f27..000000000 --- a/troggle/templates/listdir.html +++ /dev/null @@ -1,22 +0,0 @@ -

List file :{{file}}:

- -

Files

-
    -{% for lf in listdirfiles %} -
  • {{lf.1}} ({{lf.2}} bytes)
  • -{% endfor %} -
- -

Upperdirectories

-
    -{% for lf in upperdirs %} -
  • {{lf.1}}
  • -{% endfor %} -
- -

Subdirectories

-
    -{% for lf in listdirdirs %} -
  • {{lf.1}} ({{lf.2}} files)
  • -{% endfor %} -
diff --git a/troggle/templates/logbookentry.html b/troggle/templates/logbookentry.html deleted file mode 100644 index 89069e885..000000000 --- a/troggle/templates/logbookentry.html +++ /dev/null @@ -1,71 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Logbook {{logbookentry.id}}{% endblock %} -{% block editLink %}Edit logbook entry {{logbookentry|wiki_to_html_short}}{% endblock %} -{% block content %} - -

{{logbookentry.title|safe}}

- -
-

{{logbookentry.expedition.name}}

- -{% if logbookentry.cave %} -

place: {{logbookentry.place}}

-{% else %} -

{{logbookentry.place}}

-{% endif %} - -

- {% if logbookentry.get_previous_by_date %} - {{logbookentry.get_previous_by_date.date}} - {% endif %} - {% if logbookentry.get_next_by_date %} - {{logbookentry.get_next_by_date.date}} - {% endif %} -

- - - -{% for persontrip in logbookentry.persontrip_set.all %} - - {% ifequal persontrip.person_expedition logbookentry.author %} - - - - - - - -{% endfor %} -
CaverT/UPrevNext
- {% else %} - - {% endifequal %} - {{persontrip.person_expedition.person}} - - {% if persontrip.timeunderground %} - - T/U {{persontrip.timeunderground}}

- {% endif %} -
- {% if persontrip.get_previous_by_date %} - {{persontrip.get_persons_previous_trip.date}} - {% endif %} - - {% if persontrip.get_persons_next_trip %} - {{persontrip.get_persons_next_trip.date}} - {% endif %} -
-{% if newQMlink %} -Add QM found on this trip -{% endif %} -
- -
-
-{{logbookentry.date}} - {{logbookentry.text|wiki_to_html}}
-
- - -{% endblock %} diff --git a/troggle/templates/logbooksearch.html b/troggle/templates/logbooksearch.html deleted file mode 100644 index 2fc00f862..000000000 --- a/troggle/templates/logbooksearch.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} -{% block title %}Logbook search results for "{{ query_string }}"{% endblock%} - -{% block content %} - -

Troggle logbook search

- -

Your search string, {{ query_string }}, - -{% if found_entries %} - was found in the following {{entry.count}} logbook titles and / or entries:

- - {% else %} - was not found in any logbook titles and / or entries. Please try again. - {% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/person.html b/troggle/templates/person.html deleted file mode 100644 index adc6aba97..000000000 --- a/troggle/templates/person.html +++ /dev/null @@ -1,39 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Person {{person|wiki_to_html_short}}{% endblock %} - -{% block editLink %}| Edit person {{person|wiki_to_html_short}}{% endblock %} - -{% block contentheader %} -

{{person|wiki_to_html_short}}

-{% endblock %} - -{% block content %} -{% if person.blurb %} -{{person.blurb|safe}} -{% endif %} - -{% for pic in person.photo_set.all %} -{% if pic.is_mugshot %} -
-

-

{{ pic.caption }} -

-

-
-{% endif %} -{% endfor %} -
- -

{{person|wiki_to_html_short}} has been on expo in the following years:

-

-

-

- - -{% endblock %} diff --git a/troggle/templates/personForm.html b/troggle/templates/personForm.html deleted file mode 100644 index 84ee7b79b..000000000 --- a/troggle/templates/personForm.html +++ /dev/null @@ -1,6 +0,0 @@ -{% extends "base.html" %} -{% block content %} - -{{ form }} - -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/personexpedition.html b/troggle/templates/personexpedition.html deleted file mode 100644 index 4b762a432..000000000 --- a/troggle/templates/personexpedition.html +++ /dev/null @@ -1,66 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Person {{personexpedition.person|wiki_to_html_short}} for {{personexpedition.expedition}}{% endblock %} - - -{% block content %} -

{{personexpedition.person}}: {{personexpedition.expedition}} ({{personexpedition.date_from}} - {{personexpedition.date_to}})

- -

{{message}}

- -

Main page for expedition: {{personexpedition.expedition}}

-

Main page for person: {{personexpedition.person}}

- -

List of other expos by this person

-

-{% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %} -{% ifequal otherpersonexpedition personexpedition %} - | {{otherpersonexpedition.expedition.year}} -{% else %} - | {{otherpersonexpedition.expedition.year}} -{% endifequal %} -{% endfor %} -

- -

Table of all trips and surveys aligned by date

-
- - -{% for persondate in personexpedition.GetPersonChronology %} - - - - - - - - -{% endfor %} -
DateTripsSurveys
{{persondate.0}} - - {% for persontrip in persondate.1.persontrips %} - - - - {% if persontrip.logbook_entry.cave %} - - {% else %} - - {% endif %} - - {% endfor %} -
{{persontrip.logbook_entry.title|safe}}{{persontrip.place}}{{persontrip.place}}
-
- - {% for personsurvexroles in persondate.1.personroles.items %} - - - - - {% endfor %} -
{{personsurvexroles.0}}{{personsurvexroles.1}}
-
-
- -{% endblock %} diff --git a/troggle/templates/personindex.html b/troggle/templates/personindex.html deleted file mode 100644 index ea97f4319..000000000 --- a/troggle/templates/personindex.html +++ /dev/null @@ -1,43 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Person Index{% endblock %} - -{% block content %} - -

Notable expoers

- - -{% for person in notablepersons %} - - - - - - -{% endfor %} -
PersonFirstLastNotability
{{person|wiki_to_html_short}}{{ person.personexpedition_set.all.0.expedition.year }}{{ person.personexpedition_set.latest.expedition.year }}{{person.notability}}
- - -

All expoers

- - -{% for persons in personss %} - -{% endfor %} - -
- - - -{% for person in persons %} - - - - - -{% endfor %} -
PersonFirstLast
{{person|wiki_to_html_short}}{{person.personexpedition_set.all.0.expedition.year}}{{person.personexpedition_set.latest.expedition.year}}
-
- -{% endblock %} diff --git a/troggle/templates/profiles/create_profile.html b/troggle/templates/profiles/create_profile.html deleted file mode 100644 index 7e3259799..000000000 --- a/troggle/templates/profiles/create_profile.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - -
-{{ form.as_p }} - -
- -{% if form.errors %} -

Please correct the errors below

-{% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/profiles/edit_profile.html b/troggle/templates/profiles/edit_profile.html deleted file mode 100644 index 7e3259799..000000000 --- a/troggle/templates/profiles/edit_profile.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - -
-{{ form.as_p }} - -
- -{% if form.errors %} -

Please correct the errors below

-{% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/profiles/profile_detail.html b/troggle/templates/profiles/profile_detail.html deleted file mode 100644 index baf3fae6b..000000000 --- a/troggle/templates/profiles/profile_detail.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "base.html" %} - -{% block contentheader %} -

Profile for {{ profile }}

-{% endblock %} - -{% block content %} - -{{ profile }} - -{% if form.errors %} -

Please correct the errors below

-{% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/profiles/profile_list.html b/troggle/templates/profiles/profile_list.html deleted file mode 100644 index e69de29bb..000000000 diff --git a/troggle/templates/profiles/select_profile.html b/troggle/templates/profiles/select_profile.html deleted file mode 100644 index 810efd264..000000000 --- a/troggle/templates/profiles/select_profile.html +++ /dev/null @@ -1,40 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - -

Troggle profile selection page

- -Hello, {{ user }}. - -

- -{% if user.person %} -This is where you go to associate a new user account with a pre-existing profile from old expo data. - -

- -However, you already have a profile- your name should be {{user.person.first_name}} {{user.person.last_name}}. If you don't believe me, go see it at:

{{ user.person.get_absolute_url }}

or edit it at: -

{{ user.person.get_admin_url }} .

- -If your account is associated with the wrong person's profile due to inebriation or incompetance during account setup, click here to dissasociate your profile from your user account. - -{% else %} - -You have an account in the system, but no profile. If you have been on expo before, please choose yourself from the list below. -

- -
-{{ form.as_p }} - -
-
- -Yes, you could choose the wrong person if you want. That would be lame. Instead, do something that's actually funny. For example, fry a random object or maybe take some mac and cheese somewhere it doesn't usually get to go. Perhaps you can start a new tradition of laminating the expo leader. - - -{% endif %} - -{% if form.errors %} -

Please correct the errors below

-{% endif %} -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/qm.html b/troggle/templates/qm.html deleted file mode 100644 index 06e6e0e25..000000000 --- a/troggle/templates/qm.html +++ /dev/null @@ -1,41 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %} QM: {{qm|wiki_to_html_short}} {% endblock %} - -{% block editLink %}| Edit QM {{qm|wiki_to_html_short}}{% endblock %} - - - -{% block contentheader %} - - - - - - -
Previous{{qm|wiki_to_html_short}}Next
-{% endblock %} - -{% block content %} - -

Location

-{{qm.location_description}} - - -

Creation

-Found by {{qm.found_by}} on {{qm.found_by.date}}. - -

Completion

-{% if ticked_off_by %} -{{qm.completion_description}} -Ticked off by: {{qm.ticked_off_by}}
-Description: {{qm.completion_description}} -{% else %} -None yet- STILL EXTANT. -{% endif %} - -

Comment

-{{qm.comment}} - -{% endblock %} diff --git a/troggle/templates/registration/activate.html b/troggle/templates/registration/activate.html deleted file mode 100644 index ca50e6cd4..000000000 --- a/troggle/templates/registration/activate.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -New troggle account registered -{% endblock %} - -{% block header %} -

activate.html

-{% endblock %} - -{% block content %} - -{% if account %} -

-Hello, {{ account }}! Your account is now activated. Now you can log in with the password you chose. Use the links in the upper right to control this in the future. -

- -

-If you have been on the expedition in the past, you already have a profile in the system; click here to find it and link it to your account. Otherwise, please create yourself a new profile. -

-{% endif %} - -The activation key you entered has already been used or was invalid. - -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/registration/activation_email.txt b/troggle/templates/registration/activation_email.txt deleted file mode 100644 index 20aad5f8a..000000000 --- a/troggle/templates/registration/activation_email.txt +++ /dev/null @@ -1,10 +0,0 @@ -Hello {{ form.user }}, - -Glad you're joining the CUCC EXPO team! Please go to - -{{ site }}{% url registration_activate activation_key %} - -to activate your account. Do this within {{ expiration_days }} days, or else you'll have to sign up again. - -Yours, -The magical troggle \ No newline at end of file diff --git a/troggle/templates/registration/activation_email_subject.txt b/troggle/templates/registration/activation_email_subject.txt deleted file mode 100644 index 78ae905dd..000000000 --- a/troggle/templates/registration/activation_email_subject.txt +++ /dev/null @@ -1 +0,0 @@ -[CUCC Expo] Activation email \ No newline at end of file diff --git a/troggle/templates/registration/login.html b/troggle/templates/registration/login.html deleted file mode 100644 index 04b5074e8..000000000 --- a/troggle/templates/registration/login.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - -{% if form.errors %} -

Your username and password didn't match. Please try again.

-{% endif %} - -
- - - -
{{ form.username.label_tag }}{{ form.username }}
{{ form.password.label_tag }}{{ form.password }}
- - - -
- -{% endblock %} diff --git a/troggle/templates/registration/logout.html b/troggle/templates/registration/logout.html deleted file mode 100644 index 9e40c20d3..000000000 --- a/troggle/templates/registration/logout.html +++ /dev/null @@ -1,4 +0,0 @@ -{% extends "base.html" %} -{% block content %} - You have been logged out. -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/registration/registration_activate.html b/troggle/templates/registration/registration_activate.html deleted file mode 100644 index cbd540e52..000000000 --- a/troggle/templates/registration/registration_activate.html +++ /dev/null @@ -1,6 +0,0 @@ -{% extends “base.html” %} -{% block body %} -Hello {{ account }}! - -Check your email to confirm the activation. There are {{ expiration_days }} days left to do it. -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/registration/registration_complete.html b/troggle/templates/registration/registration_complete.html deleted file mode 100644 index 78684fe86..000000000 --- a/troggle/templates/registration/registration_complete.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -{{ block.super }}: registration complete -{% endblock %} - -{% block contentheader %} -

Registration Complete

-{% endblock %} - -{% block content %} -

Thank you for signing up. An email with the activation code has been sent to your inbox.

-{% endblock %} \ No newline at end of file diff --git a/troggle/templates/registration/registration_form.html b/troggle/templates/registration/registration_form.html deleted file mode 100644 index 17bebf263..000000000 --- a/troggle/templates/registration/registration_form.html +++ /dev/null @@ -1,56 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -registration_form.html | {{ block.super }} -{% endblock %} - -{% block header %} -

registration_form.html

-{% endblock %} - -{% block content %} -
- - - - - - - - - - - - - - - - - - - - - -
Username: - {{ form.username }}
- {% for error in form.username.errors %} - {{ error }} - {% endfor %} -
Email: - {{ form.email }}
- {% for error in form.email.errors %} - {{ error }} - {% endfor %} -
Password: - {{ form.password1 }}
- {% for error in form.password1.errors %} - {{ error }} - {% endfor %} -
Password (again): - {{ form.password2 }}
- {% for error in form.password2.errors %} - {{ error }} - {% endfor %} -
 
-
-{% endblock %} \ No newline at end of file diff --git a/troggle/templates/statistics.html b/troggle/templates/statistics.html deleted file mode 100644 index 1fddd674d..000000000 --- a/troggle/templates/statistics.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Database statistics{% endblock %} - -{% block content %} -Over the course of {{ expoCount }} expeditions, {{ personCount }} people have contributed {{ caveCount }} caves and {{ logbookEntryCount }} logbook entries. -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/subcave.html b/troggle/templates/subcave.html deleted file mode 100644 index c635833f2..000000000 --- a/troggle/templates/subcave.html +++ /dev/null @@ -1,45 +0,0 @@ -{% extends "cavebase.html" %} -{% load wiki_markup %} -{% block title %} Subcave {{subcave}} {% endblock title %} -{% block editLink %}Edit subcave {{subcave|wiki_to_html_short}}{% endblock %} -{% block content %} - -

{{subcave}}

-

- {{subcave.description}} -

- -
- -

Related places

- -

Parent

- - - -

Connected subareas

- -
    - {% for sibling in subcave.adjoining.all%} -
  • {{silbling}}
  • - {% endfor %} -
- -

Children

- -
    - {% for child in subcave.children.all %} -
  • {{child}}
  • - {% endfor %} -
- - -
- -{% endblock content %} \ No newline at end of file diff --git a/troggle/templates/survexblock.html b/troggle/templates/survexblock.html deleted file mode 100644 index d4447afb9..000000000 --- a/troggle/templates/survexblock.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} -{% load survex_markup %} - - -{% block title %}Survex Block{% endblock %} - -{% block content %} -

Survex Block {{survexblock.survexpath}}

- -

Needs duplicates removed from right hand column

-

Needs links to survex file presentation

-

Needs to start dealing with misspellings of names (prob by editing the originals)

- -
- -{% if survexblock.parent %} -

Survey block above:

-

{{survexblock.parent.survexpath}}

-{% endif %} - -{% if survexblock.survexblock_set.all %} -

Survey blocks below:

-{% for survexblockdown in survexblock.survexblock_set.all %} -

{{survexblockdown.survexpath}}

-{% endfor %} -{% endif %} - -

Date: {{survexblock.date}}

- - -{% for personrole in survexblock.GetPersonroles %} - - - - -{% endfor %} -
{{personrole.person}}{{personrole.roles}}
- - -
- -
-{{ftext|survex_to_html}} -
- -{% endblock %} diff --git a/troggle/templates/survey.html b/troggle/templates/survey.html deleted file mode 100644 index a0395b6a4..000000000 --- a/troggle/templates/survey.html +++ /dev/null @@ -1,220 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - - -{% block title %}CUCC Virtual Survey Binder: {{ current_expedition }}{{ current_survey }}{%endblock%} -{% block head %} - - - - -{% endblock %} - -
- CUCC Expo virtual survey binder: - {% if current_survey %} - {{current_survey}} - {% else %} - {{current_year }} - {% endif %} -
- -{% block nav %} -
- -

Choose a year

-
- -
- -
- - -
- -

Choose a wallet number

-
- - -
- -
- - - - - - -
- -{% endblock %} - -{% block content %} -
- -
-

Survey progress table for {{ current_expedition }}

- {% if current_expedition.survey_set.all %} - - - - {% for survey in current_expedition.survey_set.all %} - - {% endfor %} - - - {% for survey in current_expedition.survey_set.all %} - - {% endfor %} - - - {% for survey in current_expedition.survey_set.all %} - - {% endfor %} - - - {% for survey in current_expedition.survey_set.all %} - - {% endfor %} - - - {% for survey in current_expedition.survey_set.all %} - - {% endfor %} -
{{ survey.wallet_number }}
Notes {% if survey.notes %} - ✓ - {% endif %}
Survex file {% if survey.survex_file %} - ✓ - {% endif %}
Plans {% if survey.plans %} - ✓ - {% endif %}
Elevations {% if survey.elevations %} - ✓ - {% endif %}
- {% else %} -
[ There are no surveys in the database for this year. Put link in to add one. ]
- {% endif %} -
-
-

Scanned notes for {{ current_survey }}.

- {% for noteItem in notes %} -
-

-

File at: {{ noteItem.file.name }}
- Scanned by: {{ noteItem.scanned_by }}
- On: {{ noteItem.scanned_on }}
-

-

-
- {% endfor %} - -
-
-
survex file editor, keeping file in original structure
- who entered by
-
centreline
-
-

Scanned plan sketch files for {{ current_survey }}.

- {% for sketchItem in planSketches %} -
-

-

File at: {{ sketchItem.file.name }}
- Scanned by: {{ sketchItem.scanned_by }}
- On: {{ sketchItem.scanned_on }}
-

-

-
- {% endfor %} - -
-
link to tunnel xml file. potentially instance of tunnel applet...
-
link to main sketch file
- -
-
- -{% endblock %} diff --git a/troggle/templates/svxfile.html b/troggle/templates/svxfile.html deleted file mode 100644 index 1fc4e1b6a..000000000 --- a/troggle/templates/svxfile.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends "base.html" %} -{% load survex_markup %} - -{% block title %}{{ title }}{% endblock %} -{% block content %} -

{{ title }}

- - - {% if has_3d %} - - - {% else %} -
Processing failed
- {% endif %} - - - {{ text|survex_to_html }} - -{% endblock %} \ No newline at end of file diff --git a/troggle/templates/todo.html b/troggle/templates/todo.html deleted file mode 100644 index 1c9fd3bad..000000000 --- a/troggle/templates/todo.html +++ /dev/null @@ -1,59 +0,0 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Cambridge Expeditions to Austria{% endblock %} - -{% block content %} - -

The unfinished front page

- - -

Further work

- -

Julian's work: -

parse 1992-1976 logbooks; (esp top 161)

-

detect T/U on log entries;

-

name matching and spelling in survex files;

-

Improve logbook wikihtml text

- -

Other work:

-

surf through the tunnel sketches and images

-

bugs with all.svx block (double dot) -

render bitmap view of every survex block as a thumbnail

-

upload tunnel images and tunnel sketches

-

where are the subcaves;

-

cave section entrance match for logbook entries

-

simplify the survex parsing code (if necessary);

-

wiki survex stop linegap between comment lins

-

links between logbooks and survex blocks to cave things;

-

mini-tree of survexblocks;

-

connect sketches to caves to survey blocks and render thumbnailwise;

-

all images to start appearing in pages; and so on

- -

{{message}}

- -
- - -
- -
    -{% for expedition in expeditions %} -
  • - {{expedition.name}} - - {{expedition.logbookentry_set.count}} logbook entries -
  • -{% endfor %} -
- -{% endblock %} diff --git a/troggle/urls.py b/troggle/urls.py deleted file mode 100644 index ee4dc628d..000000000 --- a/troggle/urls.py +++ /dev/null @@ -1,87 +0,0 @@ -from django.conf.urls.defaults import * -import troggle.settings as settings - -from expo.views import * # flat import -from expo.views_caves import * -from expo.views_survex import * -from expo.models import * -from django.views.generic.create_update import create_object -from django.contrib import admin -admin.autodiscover() - -urlpatterns = patterns('', - - url(r'^$', views_other.frontpage, name="frontpage"), - url(r'^todo/$', views_other.todo, name="todo"), - - url(r'^caveindex/?$', views_caves.caveindex, name="caveindex"), - url(r'^personindex$', views_logbooks.personindex, name="personindex"), - - - #(r'^person/(?P\d*)/?$', views_logbooks.person), - url(r'^person/(?P[A-Z]*[a-z\-\']*)[^a-zA-Z]*(?P[a-z\-\']*[^a-zA-Z]*[A-Z]*[a-z\-]*)/?', views_logbooks.person, name="person"), - #url(r'^person/(\w+_\w+)$', views_logbooks.person, name="person"), - - url(r'^expedition/(\d+)$', views_logbooks.expedition, name="expedition"), - url(r'^personexpedition/(?P[A-Z]*[a-z]*)[^a-zA-Z]*(?P[A-Z]*[a-z]*)/(?P\d+)/?$', views_logbooks.personexpedition, name="personexpedition"), - url(r'^logbookentry/(?P.*)/(?P.*)/?$', views_logbooks.logbookentry,name="logbookentry"), - - url(r'^survexblock/(.+)$', views_caves.survexblock, name="survexblock"), - url(r'^cave/(?P[^/]+)/?$', views_caves.cave, name="cave"), - #url(r'^cavehref/(.+)$', views_caves.cave, name="cave"),url(r'cave'), - - url(r'^jgtfile/(.*)$', view_surveys.jgtfile, name="jgtfile"), - url(r'^jgtuploadfile$', view_surveys.jgtuploadfile, name="jgtuploadfile"), - - url(r'^cave/(?P[^/]+)/?(?P[^/])$', ent), - #(r'^cave/(?P[^/]+)/edit/$', edit_cave), - #(r'^cavesearch', caveSearch), - url(r'^cave/(?P[^/]+)(?P/.*)/?$', subcave, name="subcave"), - - url(r'^survex/(.*?)\.index$', views_survex.index, name="survexindex"), - - url(r'^cave/(?P[^/]+)/(?P\d\d\d\d)-(?P\d\d)(?P[ABCDX]?)?$', views_caves.qm, name="qm"), - (r'^survex/(?P.*)\.svx$', svx), - (r'^survex/(?P.*)\.3d$', threed), - (r'^survex/(?P.*)\.log$', log), - (r'^survex/(?P.*)\.err$', err), - - - url(r'^logbooksearch/(.*)/?$', views_logbooks.logbookSearch), - - - url(r'^statistics/?$', views_other.stats, name="stats"), - - url(r'^calendar/(?P\d\d\d\d)/?$', views_other.calendar, name="calendar"), - - url(r'^survey/?$', surveyindex, name="survey"), - url(r'^survey/(?P\d\d\d\d)\#(?P\d*)$', survey, name="survey"), - - url(r'^controlpanel/?$', views_other.controlPanel, name="controlpanel"), - - (r'^admin/doc/?', include('django.contrib.admindocs.urls')), - (r'^admin/(.*)', admin.site.root), - #url(r'^admin/', include(admin.site.urls),name="admin"), - - (r'^accounts/', include('registration.urls')), - (r'^profiles/', include('profiles.urls')), - -# (r'^personform/(.*)$', personForm), - - (r'^photologue/', include('photologue.urls')), - - (r'^site_media/(?P.*)$', 'django.views.static.serve', - {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), - - (r'^survey_files/listdir/(?P.*)$', view_surveys.listdir), - (r'^survey_files/download/(?P.*)$', view_surveys.download), - #(r'^survey_files/upload/(?P.*)$', view_surveys.upload), - - (r'^survey_scans/(?P.*)$', 'django.views.static.serve', - {'document_root': settings.SURVEY_SCANS, 'show_indexes':True}), - - (r'^photos/(?P.*)$', 'django.views.static.serve', - {'document_root': settings.PHOTOS_ROOT, 'show_indexes':True}), - - #url(r'^trip_report/?$',views_other.tripreport,name="trip_report") -)

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 J_s0bv|Jh&66tn;U diff --git a/troggle/media/js/base.js b/troggle/media/js/base.js deleted file mode 100644 index 0dc562bc5..000000000 --- a/troggle/media/js/base.js +++ /dev/null @@ -1,74 +0,0 @@ - -$(document).ready(function() { - -$('.searchable li').quicksearch({ - position: 'before', - attached: 'ul.searchable', - labelText: '', - loaderText: '', - delay: 100 -}) - -$('table.searchable tr').quicksearch({ - position: 'before', - attached: 'table.searchable:first', -}); - -$(".toggleEyeCandy").click(function () { - $(".leftMargin,.rightMargin").toggle("fade"); - $(".toggleEyeCandy").toggle(); - }); - -$(".nav").css('opacity','7') -$(".footer").hide(); -$(".fadeIn").hide(); -setTimeout("$('.leftMargin.fadeIn').fadeIn(3000);",1000); -setTimeout("$('.rightMargin.fadeIn').fadeIn(3000);",2000); - - -/*$("#footerLinks").hover( - function() {$(".footer").fadeIn("slow")}, - function() {$(".footer").fadeOut("slow")} -);*/ - -function linkHover(hoverLink,image){ - -$(hoverLink).hover( - function() { - $(image).fadeIn("slow"); - $(hoverLink).css("background","gray"); - }, - function() { - $(image).fadeOut("slow"); - $(hoverLink).css("background","black"); - } -); - - - -}; - -linkHover("#expoWebsiteLink","#richardBanner"); -linkHover("#cuccLink","#timeMachine"); -linkHover("#surveyBinderLink","#surveyHover"); -linkHover("#troggle","#timeMachine"); - - -}); - -function contentHeight(){ -setMaxHeight($(".rightMargin,#content,.leftMargin,#col2"),$("#content")); -}; - -function setMaxHeight(group, target) { - tallest = 0; - group.each(function() { - thisHeight = $(this).height(); - if(thisHeight > tallest) { - tallest = thisHeight; - } - }); - target.height(tallest); -} - - diff --git a/troggle/media/js/jquery.js b/troggle/media/js/jquery.js deleted file mode 100644 index 926357433..000000000 --- a/troggle/media/js/jquery.js +++ /dev/null @@ -1,4376 +0,0 @@ -/*! - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){ - -var - // Will speed up references to window, and allows munging its name. - window = this, - // Will speed up references to undefined, and allows munging its name. - undefined, - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - // Map over the $ in case of overwrite - _$ = window.$, - - jQuery = window.jQuery = window.$ = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context ); - }, - - // A simple way to check for HTML strings or ID strings - // (both of which we optimize for) - quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/, - // Is it a simple selector - isSimple = /^.[^:#\[\.,]*$/; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - this.context = selector; - return this; - } - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) - selector = jQuery.clean( [ match[1] ], context ); - - // HANDLE: $("#id") - else { - var elem = document.getElementById( match[3] ); - - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem && elem.id != match[3] ) - return jQuery().find( selector ); - - // Otherwise, we inject the element directly into the jQuery object - var ret = jQuery( elem || [] ); - ret.context = document; - ret.selector = selector; - return ret; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery( context ).find( selector ); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document ).ready( selector ); - - // Make sure that old selector state is passed along - if ( selector.selector && selector.context ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return this.setArray(jQuery.isArray( selector ) ? - selector : - jQuery.makeArray(selector)); - }, - - // Start with an empty selector - selector: "", - - // The current version of jQuery being used - jquery: "1.3.2", - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num === undefined ? - - // Return a 'clean' array - Array.prototype.slice.call( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems, name, selector ) { - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) - ret.selector = this.selector + (this.selector ? " " : "") + selector; - else if ( name ) - ret.selector = this.selector + "." + name + "(" + selector + ")"; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - var options = name; - - // Look for the case where we're accessing a style value - if ( typeof name === "string" ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - if ( typeof text !== "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).clone(); - - if ( this[0].parentNode ) - wrap.insertBefore( this[0] ); - - wrap.map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }).append(this); - } - - return this; - }, - - wrapInner: function( html ) { - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - return this.domManip(arguments, true, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - return this.domManip(arguments, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - return this.domManip(arguments, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - return this.domManip(arguments, false, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - return this.prevObject || jQuery( [] ); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: [].push, - sort: [].sort, - splice: [].splice, - - find: function( selector ) { - if ( this.length === 1 ) { - var ret = this.pushStack( [], "find", selector ); - ret.length = 0; - jQuery.find( selector, this[0], ret ); - return ret; - } else { - return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - })), "find", selector ); - } - }, - - clone: function( events ) { - // Do the clone - var ret = this.map(function(){ - if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var html = this.outerHTML; - if ( !html ) { - var div = this.ownerDocument.createElement("div"); - div.appendChild( this.cloneNode(true) ); - html = div.innerHTML; - } - - return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]; - } else - return this.cloneNode(true); - }); - - // Copy the events from the original to the clone - if ( events === true ) { - var orig = this.find("*").andSelf(), i = 0; - - ret.find("*").andSelf().each(function(){ - if ( this.nodeName !== orig[i].nodeName ) - return; - - var events = jQuery.data( orig[i], "events" ); - - for ( var type in events ) { - for ( var handler in events[ type ] ) { - jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); - } - } - - i++; - }); - } - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, jQuery.grep(this, function(elem){ - return elem.nodeType === 1; - }) ), "filter", selector ); - }, - - closest: function( selector ) { - var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null, - closer = 0; - - return this.map(function(){ - var cur = this; - while ( cur && cur.ownerDocument ) { - if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) { - jQuery.data(cur, "closest", closer); - return cur; - } - cur = cur.parentNode; - closer++; - } - }); - }, - - not: function( selector ) { - if ( typeof selector === "string" ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector === "string" ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - return !!selector && this.is( "." + selector ); - }, - - val: function( value ) { - if ( value === undefined ) { - var elem = this[0]; - - if ( elem ) { - if( jQuery.nodeName( elem, 'option' ) ) - return (elem.attributes.value || {}).specified ? elem.value : elem.text; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery(option).val(); - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - } - - // Everything else, we just grab the value - return (elem.value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if ( typeof value === "number" ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - return value === undefined ? - (this[0] ? - this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - return this.after( value ).remove(); - }, - - eq: function( i ) { - return this.slice( i, +i + 1 ); - }, - - slice: function() { - return this.pushStack( Array.prototype.slice.apply( this, arguments ), - "slice", Array.prototype.slice.call(arguments).join(",") ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - return this.add( this.prevObject ); - }, - - domManip: function( args, table, callback ) { - if ( this[0] ) { - var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(), - scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ), - first = fragment.firstChild; - - if ( first ) - for ( var i = 0, l = this.length; i < l; i++ ) - callback.call( root(this[i], first), this.length > 1 || i > 0 ? - fragment.cloneNode(true) : fragment ); - - if ( scripts ) - jQuery.each( scripts, evalScript ); - } - - return this; - - function root( elem, cur ) { - return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ? - (elem.getElementsByTagName("tbody")[0] || - elem.appendChild(elem.ownerDocument.createElement("tbody"))) : - elem; - } - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy === "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -// exclude the following css properties to add px -var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}, - toString = Object.prototype.toString; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return toString.call(obj) === "[object Function]"; - }, - - isArray: function( obj ) { - return toString.call(obj) === "[object Array]"; - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || - !!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument ); - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - if ( data && /\S/.test(data) ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.support.scriptEval ) - script.appendChild( document.createTextNode( data ) ); - else - script.text = data; - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, length = object.length; - - if ( args ) { - if ( length === undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length === undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - if (elem.nodeType == 1) - elem.className = classNames !== undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force, extra ) { - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - - if ( extra === "border" ) - return; - - jQuery.each( which, function() { - if ( !extra ) - val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - if ( extra === "margin" ) - val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0; - else - val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - } - - if ( elem.offsetWidth !== 0 ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, Math.round(val)); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - var ret, style = elem.style; - - // We need to handle opacity special in IE - if ( name == "opacity" && !jQuery.support.opacity ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle ) - ret = computedStyle.getPropertyValue( name ); - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context, fragment ) { - context = context || document; - - // !context.createElement fails in IE with an error but returns typeof 'object' - if ( typeof context.createElement === "undefined" ) - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) { - var match = /^<(\w+)\s*\/?>$/.exec(elems[0]); - if ( match ) - return [ context.createElement( match[1] ) ]; - } - - var ret = [], scripts = [], div = context.createElement("div"); - - jQuery.each(elems, function(i, elem){ - if ( typeof elem === "number" ) - elem += ''; - - if ( !elem ) - return; - - // Convert html string into DOM nodes - if ( typeof elem === "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase(); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
" ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and - - - - -{% block head %}{% endblock %} - - - -