Permalink
Browse files

Initial commit

  • Loading branch information...
0 parents commit bd56029c0313132713767e081690c046d71b0d2a @meldra committed Aug 1, 2012
Showing with 1,132 additions and 0 deletions.
  1. +3 −0 .gitignore
  2. +661 −0 LICENCE
  3. +45 −0 README.md
  4. 0 __init__.py
  5. 0 brain/__init__.py
  6. +17 −0 brain/admin.py
  7. +21 −0 brain/models.py
  8. +79 −0 brain/templates/index.html
  9. +29 −0 brain/tests.py
  10. +213 −0 brain/views.py
  11. +28 −0 manage.py
  12. +36 −0 urls.py
@@ -0,0 +1,3 @@
+*.pyc
+brain/*.pyc
+settings.py
661 LICENCE

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,45 @@
+WasWhereWhen - Whereis mailing list mbox formatter
+
+ Copyright (C) 2012 Melissa Draper <melissa@catalyst.net.nz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+### INSTALL INSTRUCTIONS ###
+
+Brief, and possibly incomplete at this point:
+
+* Install django as per your operating system's instructions
+ (eg, for ubuntu/debian: sudo apt-get install python-django)
+* Get the Libravatar python module
+ (eg, sudo easy_install pyLibravatar)
+* Clone this repository into a directory somewhere
+* Setup Mailman to output weekly archives with the file format like:
+ <yourmailmanlisturl>Week-of-Mon-20120716.txt
+* Set up your settings.py as per any other django site
+* To the bottom of your settings.py, add the <yourmailmanlisturl> portion
+ of the above url format. Remember the trailing slash!
+* If you don't want this in debug mode, make that change to settings.py
+* python manage.py runserver ip.addr.of.choice:port
+
+
+
+### WISHLIST FEATURES ###
+* Aliases for different email addresses, etc
+* Detection of when someone mails for someone else
+* Keyword detection to display icons (irc, cell, etc, become icons irc nick/number)
+* Reply catching/threading
+
+Novelty:
+* Heatmap on calendar views
+
No changes.
No changes.
@@ -0,0 +1,17 @@
+# WasWhereWhen is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Libravatar is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with WasWhereWhen. If not, see <http://www.gnu.org/licenses/>.
+#
+from brain.models import Person
+from django.contrib import admin
+
+admin.site.register(Person)
@@ -0,0 +1,21 @@
+# WasWhereWhen is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Libravatar is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with WasWhereWhen. If not, see <http://www.gnu.org/licenses/>.
+#
+from django.db import models
+
+class Person(models.Model):
+ individual = models.CharField(max_length=128)
+
+class Alias(models.Model):
+ person = models.ForeignKey(Person)
+ alias = models.CharField(max_length=64)
@@ -0,0 +1,79 @@
+<!--
+# WasWhereWhen is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Libravatar is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with WasWhereWhen. If not, see <http://www.gnu.org/licenses/>.
+-->
+<html>
+<head>
+{%block stylesheet %}
+ <style type="text/css">
+ table {
+ width: 100%;
+ height: 100%;
+ border:3px solid darkred;
+ }
+ th {
+ background-color:#ccc;
+ }
+ th.month {
+ background-color: darkred;
+ color: #fff;
+ }
+ th.month a {
+ color:#fff;
+ }
+ td {
+ width:14%;
+ text-align:center;
+ padding: 5px;
+ }
+ td.sun, td.sat {
+ background-color:eee;
+ }
+ td.today {
+ border:1px solid darkred;
+ }
+ td.headers {
+ border:1px solid darkred;
+ text-align: left;
+ }
+ td.what {
+ border:1px solid darkred;
+ padding-bottom: 20px;
+ text-align: left;
+ width: 70%;
+ }
+ .singleday td {
+ text-align: left;
+ vertical-align: top;
+ }
+ p.subject{
+ font-weight:bold;
+ }
+ .nounder {
+ text-decoration:none;
+ }
+ </style>
+{% endblock stylesheet%}
+</head>
+<body>
+{% if dayCal %}
+{{dayCal|safe}}
+{% endif %}
+{% if monthCal %}
+{{ monthCal|safe }}
+{% endif %}
+{% if yearCal %}
+{{ yearCal|safe }}
+{% endif %}
+</body>
+</html>
@@ -0,0 +1,29 @@
+# WasWhereWhen is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Libravatar is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with WasWhereWhen. If not, see <http://www.gnu.org/licenses/>.
+#
+"""
+This file demonstrates writing tests using the unittest module. These will pass
+when you run "manage.py test".
+
+Replace this with more appropriate tests for your application.
+"""
+
+from django.test import TestCase
+
+
+class SimpleTest(TestCase):
+ def test_basic_addition(self):
+ """
+ Tests that 1 + 1 always equals 2.
+ """
+ self.assertEqual(1 + 1, 2)
Oops, something went wrong.

0 comments on commit bd56029

Please sign in to comment.