Giter VIP home page Giter VIP logo

yourcelf / btb Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 6.0 15.31 MB

Codebase that powers Between the Bars, a blogging platform for people in prison. Splitting/parsing/publishing PDFs, managing paper correspondence.

Home Page: http://betweenthebars.org

License: GNU Affero General Public License v3.0

Makefile 0.37% HTML 22.29% Python 59.15% Shell 0.11% Ruby 0.02% CoffeeScript 12.43% JavaScript 0.25% TeX 1.58% Batchfile 0.36% SCSS 0.13% Sass 3.32%

btb's People

Contributors

arthurlutz avatar skilfullycurled avatar yourcelf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

btb's Issues

500 Error When Using Comment Removal Process

Blogger requested that two comments be removed per this letter:

Removed comments using standard removal method:

Steps to recreate:

  1. Created reason in admin backend
  2. Reason: "Request From Blogger"
  3. Web message: blank
  4. Comment author message: blank (no email address for comment author)
  5. Post author message: "Per your request in a letter dated 6/12/17, we have removed the following comment."
  6. Preview rendered letter (Throws 500)
  7. Remove comment and send notification (Throws 500)

OSError when launching ./fromage.py

(venv)arthur@machine:~/local/btb/btb/scanblog$ ./fromage.py
/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/djcelery/loaders.py:80: UserWarning: Using settings.DEBUG leads to a memory leak, neveruse this setting in production environments!
warnings.warn("Using settings.DEBUG leads to a memory leak, never"
Traceback (most recent call last):
File "/home/arthur/local/btb/btb/scanblog/manage.py", line 11, in
execute_manager(settings)
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/init.py", line 459, in execute_manager
utility.execute()
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/init.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(_args, *_options.dict)
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(_args, *_options)
File "/home/arthur/local/btb/btb/scanblog/btb/management/commands/autocompile.py", line 38, in handle
self.autocompile()
File "/home/arthur/local/btb/btb/scanblog/btb/management/commands/autocompile.py", line 27, in autocompile
compass = self.exec_compass()
File "/home/arthur/local/btb/btb/scanblog/btb/management/commands/autocompile.py", line 24, in exec_compass
return subprocess.Popen(["compass", "watch"], cwd=SASS_PATH)
File "/usr/lib/python2.7/subprocess.py", line 679, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
[2012-03-30 09:27:36,980: WARNING/MainProcess]

-------------- celery@machine v2.2.10
---- **** -----
--- * *** * -- [Configuration]
-- * - **** --- . broker: amqp://guest@localhost:5672//

  • ** ---------- . loader: djcelery.loaders.DjangoLoader
  • ** ---------- . logfile: [stderr]@warning
  • ** ---------- . concurrency: 2
  • ** ---------- . events: OFF
  • *** --- * --- . beat: OFF
    -- ******* ----
    --- ***** ----- [Queues]
    -------------- . celery: exchange:celery (direct) binding:celery

[2012-03-30 09:27:37,016: WARNING/MainProcess] celery@machine has started.

Make status of joining BtB to blog more visable

Hey,

We’ve been getting requests lately (not tons, but more than usual) from people to sign up people they know who are incarcerated.

We do state that we are not taking any bloggers at this time on the FAQ, but it doesn’t seem like people are reading that far.

One strategy would be to give greater visibility to the FAQ in some way on the about page. Maybe after the “Transcription” section add the following in the same format (e.g. h2, p)

Questions?
For more information about Between the Bars, you can check out our FAQ and community guidelines.

Some other options:

I think it’s natural to click “join" when you want to join no matter who you’re inquiring for. So maybe add the FAQ text on the register page as well:

"Please note, unfortunately we aren’t accepting any new bloggers at this time as we are currently at capacity."

And/or we could put that text directly on the about page as well.

Error when trying to print letter (debug mode?)

On outgoing, then print icon (http://127.0.0.1:8000/correspondence/letter/3) I get :

Environment:

Request Method: GET
Request URL: http://127.0.0.1:8000/correspondence/letter/3

Django Version: 1.4
Python Version: 2.7.2
Installed Applications:
('about',
'accounts',
'annotations',
'blogs',
'btb',
'comments',
'correspondence',
'moderation',
'profiles',
'subscriptions',
'scanning',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.humanize',
'django.contrib.admin',
'django.contrib.flatpages',
'django.contrib.messages',
'django.contrib.staticfiles',
'registration',
'djcelery',
'django_bcrypt',
'lettuce.django',
'compressor',
'sorl.thumbnail',
'notification',
'pagination',
'urlcrypt',
'south')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'pagination.middleware.PaginationMiddleware')

Traceback:
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1.                     response = callback(request, _callback_args, *_callback_kwargs)
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  2.             return view_func(request, _args, *_kwargs)
    
    File "/home/arthur/local/btb/btb/scanblog/correspondence/views.py" in show_letter
  3. filename = tasks.generate_letter_task.delay(letter_id=letter_id).get()
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/result.py" in get
  4.                                                interval=interval)
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/backends/base.py" in wait_for
  5.         status = self.get_status(task_id)
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/backends/base.py" in get_status
  6.     return self.get_task_meta(task_id)["status"]
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/backends/base.py" in get_task_meta
  7.     meta = self._get_task_meta_for(task_id)
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/djcelery/backends/database.py" in _get_task_meta_for
  8.     return self.TaskModel._default_manager.get_task(task_id).to_dict()
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/djcelery/managers.py" in get_task
  9.             self.warn_if_repeatable_read()
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/djcelery/managers.py" in warn_if_repeatable_read
  10.     if settings.DATABASE_ENGINE.lower() == "mysql":
    
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/utils/functional.py" in inner
  11.     return func(self._wrapped, *args)
    

Exception Type: AttributeError at /correspondence/letter/3
Exception Value: 'Settings' object has no attribute 'DATABASE_ENGINE'

Indeed in setting.py I don't have DATABASE_ENGINE (should it be DATABASE['default']['ENGINE'] ? )

./fromage.py fails on compass sass watch command

LoadError on line 70 of /usr/lib/ruby/vendor_ruby/sass/../compass/commands/watch_project.rb: no such file to load -- fssm
Run with --trace to see the full backtrace
Traceback (most recent call last):
File "/home/arthur/local/btb/btb/scanblog/manage.py", line 11, in
execute_manager(settings)
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/init.py", line 459, in execute_manager
utility.execute()
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/init.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(_args, *_options.dict)
File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(_args, *_options)
File "/home/arthur/local/btb/btb/scanblog/btb/management/commands/autocompile.py", line 38, in handle
self.autocompile()
File "/home/arthur/local/btb/btb/scanblog/btb/management/commands/autocompile.py", line 34, in autocompile
if compass: compass.kill()
File "/usr/lib/python2.7/subprocess.py", line 1467, in kill
self.send_signal(signal.SIGKILL)
File "/usr/lib/python2.7/subprocess.py", line 1457, in send_signal
os.kill(self.pid, sig)
OSError: [Errno 3] No such process

This is probably solved by some ruby installation thing. (posting this to keep a record of solution found)

js/moderation/tagparty.js not generated by compress ?

Environment:

Request Method: GET
Request URL: http://localhost:8000/moderation/tagparty/

Django Version: 1.4.1
Python Version: 2.7.3
Installed Applications:
('about',
'accounts',
'annotations',
'blogs',
'btb',
'comments',
'correspondence',
'moderation',
'profiles',
'subscriptions',
'scanning',
'campaigns',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.humanize',
'django.contrib.admin',
'django.contrib.flatpages',
'django.contrib.messages',
'django.contrib.staticfiles',
'registration',
'djcelery',
'django_bcrypt',
'lettuce.django',
'compressor',
'sorl.thumbnail',
'notification',
'pagination',
'urlcrypt',
'south',
'debug_toolbar')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'pagination.middleware.PaginationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware')

Template error:
In template /home/arthur/local/btb/scanblog/templates/moderation/tagparty.html, error at line 51
'js/moderation/tagparty.js' could not be found in the COMPRESS_ROOT '/home/arthur/local/btb/scanblog/site_static' or with staticfiles.
41 :

  • 42 : <a href='#' class='tag<%= possible[i].chosen ? " chosen": "" %>'

    43 : ><%= possible[i].name %>

    44 :

  • 45 : <% } %>

    46 :

    47 :

    48 :

    49 :

    50 : </script>

    51 : {% compress js %}

    52 : <script type='text/javascript' src='{{STATIC_URL}}js/vendor/jquery-ui.min.js'></script>

    53 : <script type='text/javascript' src='{{STATIC_URL}}js/vendor/jquery-tagit/js/tagit.js'></script>

    54 : <script type='text/javascript' src='{{STATIC_URL}}js/vendor/underscore-min.js'></script>

    55 : <script type='text/javascript' src='{{STATIC_URL}}js/vendor/backbone-min.js'></script>

    56 :

    57 : <script type='text/javascript' src='{{STATIC_URL}}js/moderation/tagparty.js'></script>

    58 : <script type='text/javascript'>

    59 : new btb.TagForm({

    60 : tags: [

    61 : {% for tag in tags %}

    Traceback:
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

    1.                     response = callback(request, _callback_args, *_callback_kwargs)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
    2.             return view_func(request, _args, *_kwargs)
      
      File "/home/arthur/local/btb/scanblog/moderation/views.py" in tagparty
    3.     'tags': Tag.objects.all().order_by('name'),
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/shortcuts/init.py" in render
    4. return HttpResponse(loader.render_to_string(_args, *_kwargs),
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
    5.     return t.render(context_instance)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py" in render
    6.         return self._render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
    7. return self.nodelist.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py" in render
    8.             bit = self.render_node(node, context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
    9.         return node.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
    10.     return compiled_parent._render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
    11. return self.nodelist.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py" in render
    12.             bit = self.render_node(node, context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
    13.         return node.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
    14.     return compiled_parent._render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
    15. return self.nodelist.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py" in render
    16.             bit = self.render_node(node, context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
    17.         return node.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
    18.         result = block.nodelist.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py" in render
    19.             bit = self.render_node(node, context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
    20.         return node.render(context)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/templatetags/compress.py" in render
    21.     return self.render_compressed(context, self.kind, self.mode, forced=forced)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/templatetags/compress.py" in render_compressed
    22.         rendered_output = self.render_output(compressor, mode, forced=forced)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/templatetags/compress.py" in render_output
    23.     return compressor.output(mode, forced=forced)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py" in output
    24.     content = self.filter_input(forced)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py" in filter_input
    25.     for hunk in self.hunks(forced):
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py" in hunks
    26.     for kind, value, basename, elem in self.split_contents():
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/js.py" in split_contents
    27.             filename = self.get_filename(basename)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py" in get_filename
    28.          self.finders and " or with staticfiles." or "."))
      

    Exception Type: UncompressableFileError at /moderation/tagparty/
    Exception Value: 'js/moderation/tagparty.js' could not be found in the COMPRESS_ROOT '/home/arthur/local/btb/scanblog/site_static' or with staticfiles.

    Queueing printout of old profiles sends the latest profile

    When clicking on "Queue printout" next to an old profile in moderation, a printout of the latest profile is enqueued, not the old profile.

    Either the old profile should be queued, or the "Queue printout" function should not be listed there. It shouldn't confusingly enqueue a different thing.

    Exception Type: ImportError at / Exception Value: cannot import name feed

    Environment:

    Request Method: GET
    Request URL: http://127.0.0.1:8000/

    Django Version: 1.4
    Python Version: 2.7.2
    Installed Applications:
    ('about',
    'accounts',
    'annotations',
    'blogs',
    'btb',
    'comments',
    'correspondence',
    'moderation',
    'profiles',
    'subscriptions',
    'scanning',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.humanize',
    'django.contrib.admin',
    'django.contrib.flatpages',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'registration',
    'djcelery',
    'django_bcrypt',
    'lettuce.django',
    'compressor',
    'sorl.thumbnail',
    'notification',
    'pagination',
    'urlcrypt',
    'south')
    Installed Middleware:
    ('django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'pagination.middleware.PaginationMiddleware')

    Traceback:
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

    1.                         request.path_info)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
    2.         for pattern in self.url_patterns:
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
    3.     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
    4.         self._urlconf_module = import_module(self.urlconf_name)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
    5. **import**(name)
      
      File "/home/arthur/local/btb/btb/scanblog/urls.py" in
    6. url(r'^notifications/', include('subscriptions.urls')),
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/conf/urls/init.py" in include
    7.     urlconf_module = import_module(urlconf_module)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
    8. **import**(name)
      
      File "/home/arthur/local/btb/btb/scanblog/subscriptions/urls.py" in
    9. url(r'', include('notification.urls')),
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/conf/urls/init.py" in include
    10.     urlconf_module = import_module(urlconf_module)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
    11. **import**(name)
      
      File "/home/arthur/local/btb/venv/src/django-notification/notification/urls.py" in
    12. from notification.views import notices, mark_all_seen, feed_for_user, single, notice_settings
      File "/home/arthur/local/btb/venv/src/django-notification/notification/views.py" in
    13. from django.contrib.syndication.views import feed

    Exception Type: ImportError at /
    Exception Value: cannot import name feed

    DeserializationError on python manage.py syncdb --noinput

    I get the following error when running

    $ python manage.py syncdb --noinput
    [snip]
    DeserializationError: Problem installing fixture '/home/arthur/local/btb/yourcelf/btb/scanblog/btb/fixtures/initial_data.json': ContentType matching query does not exist.
    

    This doesn't seem to be a blocking issue but I thought I'd report it just in case.

    coffee compress gives FilterError: Error: Parse error on line 571: Unexpected 'INDENT'

    On /moderation/ URL as admin

    ERROR Internal Server Error: /moderation/
    Traceback (most recent call last):
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/core/handlers/base.py
    ", line 111, in get_response
    response = callback(request, _callback_args, *_callback_kwargs)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/contrib/auth/decorato
    rs.py", line 20, in _wrapped_view
    return view_func(request, _args, *_kwargs)
    File "/home/arthur/local/btb/scanblog/moderation/views.py", line 28, in home
    [o.to_dict() for o in orgs]
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/shortcuts/init.py
    ", line 44, in render
    return HttpResponse(loader.render_to_string(_args, *_kwargs),
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/loader.py",
    line 176, in render_to_string
    return t.render(context_instance)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py", li
    ne 140, in render
    return self._render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.py", line
    62, in instrumented_test_render
    return self.nodelist.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py", li
    ne 823, in render
    bit = self.render_node(node, context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/debug.py", l
    ine 74, in render_node
    return node.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/loader_tags.
    py", line 123, in render
    return compiled_parent._render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.py", line
    62, in instrumented_test_render
    return self.nodelist.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/base.py", li
    ne 823, in render
    bit = self.render_node(node, context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/debug.py", l
    ine 74, in render_node
    return node.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/lopy", line
    123, in render
    return compiled_parent._render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.62, in ins
    trumented_test_render
    return self.nodelist.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/bane 823, in
    render
    return compiled_parent._render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/test/utils.62, in ins
    trumented_test_render
    return self.nodelist.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/bane 823, in
    render
    bit = self.render_node(node, context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/deine 74, in
    render_node
    return node.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/lopy", line
    62, in render
    result = block.nodelist.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/bane 823, in
    render
    bit = self.render_node(node, context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/template/deine 74, in
    render_node
    return node.render(context)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/templatress.py",
    line 147, in render
    return self.render_compressed(context, self.kind, self.mode, forced=forced)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/templatress.py",
    line 107, in render_compressed
    rendered_output = self.render_output(compressor, mode, forced=forced)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/templatress.py",
    line 119, in render_output
    return compressor.output(mode, forced=forced)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py0, in outp
    ut
    content = self.filter_input(forced)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py2, in filt
    er_input
    for hunk in self.hunks(forced):
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py7, in hunk
    s
    precompiled, value = self.precompile(value, **options)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/base.py0, in prec
    ompile
    command=command, filename=filename).input(**kwargs)
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/compressor/filters line 133,
    in input
    raise FilterError(err)
    FilterError: Error: Parse error on line 571: Unexpected 'INDENT'
    at Object.parseError (/usr/lib/coffee-script/lib/coffee-script/parser.js:470:11)
    at Object.parse (/usr/lib/coffee-script/lib/coffee-script/parser.js:546:22)
    at Object.exports.compile.compile (/usr/lib/coffee-script/lib/coffee-script/coffee-script.j
    at compileScript (/usr/lib/coffee-script/lib/coffee-script/command.js:140:33)
    at Socket.compileStdio (/usr/lib/coffee-script/lib/coffee-script/command.js:167:14)
    at Socket.EventEmitter.emit (events.js:85:17)
    at Pipe.onread (net.js:416:51)

    Something most be wrong with my coffee install (this works for me on another installation)

    Exception Value: Combining pdfs failed on pdftk - one empty file

    I believe the problem is that 000001.pdf is an empty file is why it fails.

    Do you hang out on IRC or on a jabber/xmpp group where we could more easily interact on these small bugs ? Keeping track of these could be useful to others but it might be easier to chat about these issues.

    Environment:

    Request Method: GET
    Request URL: http://localhost:8000/correspondence/letter/14

    Django Version: 1.4
    Python Version: 2.7.3
    Installed Applications:
    ('about',
    'accounts',
    'annotations',
    'blogs',
    'btb',
    'comments',
    'correspondence',
    'moderation',
    'profiles',
    'subscriptions',
    'scanning',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.humanize',
    'django.contrib.admin',
    'django.contrib.flatpages',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'registration',
    'djcelery',
    'django_bcrypt',
    'lettuce.django',
    'compressor',
    'sorl.thumbnail',
    'notification',
    'pagination',
    'urlcrypt',
    'south')
    Installed Middleware:
    ('django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'pagination.middleware.PaginationMiddleware')

    Traceback:
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

    1.                     response = callback(request, _callback_args, *_callback_kwargs)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
    2.             return view_func(request, _args, *_kwargs)
      
      File "/home/arthur/local/btb/btb/scanblog/correspondence/views.py" in show_letter
    3. filename = tasks.generate_letter_task.delay(letter_id=letter_id).get()
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/result.py" in get
    4.                                                interval=interval)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/backends/base.py" in wait_for
    5.                 raise result
      

    Exception Type: Exception at /correspondence/letter/14
    Exception Value: Combining pdfs failed: /usr/bin/pdftk /tmp/combinepdfsztyMXF/000000.pdf /tmp/combinepdfsztyMXF/000001.pdf cat output /tmp/tmpo1d68t.pdf

    "all rights reserved" on the site and it's design ?

    While translating btb I can accross the follow string :

    The %(site_name)s site, design, and content is copyrighted⏎
    <nobr>&copy; %(year)s %(site.name)s</nobr>, all rights reserved.
    

    Is the site's design not published under the same licence as the code ? If not, maybe an open licence would be more appropriate ?

    Clarify language about joining on FAQ

    Currently the FAQ reads:

    How do I join?

    Unfortunately we are currently at capacity and are not accepting any new writers at this time. We hope that one day we can make the service available to more people.

    Two issues with this text: While I don't think lots of people are reading the FAQ, it's not very clear considering there are two types of "joining" (visitor and blogger). Second, I think we should remove the part about how we hope to make the service available to more people one day. We obviously do hope to do this, but since we're not currently actively trying to expand the service, it feels a little disingenuous.

    How about...

    I know someone who is incarcerated and would like to blog on the site. How can they join?

    Unfortunately we are currently at capacity and are not accepting any new writers at this time.

    How can I get involved?

    You can read posts, leave comments, and transcribe posts by joining the site as a registered user here.

    raised exception: LatexCompileError .. no line here to end

    On trying to generate a PDF for a bunch of letters in /moderation/#/mail/1 click on "download all" :

      [2012-06-04 17:01:22,465: ERROR/MainProcess] Task correspondence.tasks.generate_collation_task[52fc3d6e-   38a4-41d1-a3f4-560d69c6067f] raised exception: LatexCompileError("There were errors.\n/tmp/cpt1EWCv2/rubtmp0.tex:25:    There's no line here to end.\n/tmp/cpt1EWCv2/rubtmp0.tex:25: leading text: \\opening{ Greetings and welcome, }\n",) 
      Traceback (most recent call last):
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/execute/trace.py", line 34, in trace
        return cls(states.SUCCESS, retval=fun(*args, **kwargs))
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/task/base.py", line 241, in __call__
        return self.run(*args, **kwargs)
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/celery/app/__init__.py", line 141, in run
        return fun(*args, **kwargs)
      File "/home/arthur/local/btb/btb/scanblog/correspondence/tasks.py", line 8, in generate_collation_task
        mailing.get_file()
      File "/home/arthur/local/btb/btb/scanblog/correspondence/models.py", line 199, in get_file
        self.file = generate_colation(self)
      File "/home/arthur/local/btb/btb/scanblog/correspondence/generate.py", line 193, in generate_colation
        if not letter.get_file():
      File "/home/arthur/local/btb/btb/scanblog/correspondence/models.py", line 61, in get_file
        self.file = generate_file(self)
      File "/home/arthur/local/btb/btb/scanblog/correspondence/generate.py", line 45, in generate_file
        tmp_file = methods[letter.type](letter)
      File "/home/arthur/local/btb/btb/scanblog/correspondence/generate.py", line 111, in signup_complete_letter
        'letter': letter
      File "/home/arthur/local/btb/btb/scanblog/correspondence/utils.py", line 44, in render_tex_to_pdf
        pdf_name = compile_tex(tex_content)
      File "/home/arthur/local/btb/btb/scanblog/correspondence/utils.py", line 95, in compile_tex
        raise exception
      LatexCompileError: There were errors.
      /tmp/cpt1EWCv2/rubtmp0.tex:25: There's no line here to end.
      /tmp/cpt1EWCv2/rubtmp0.tex:25: leading text: \opening{ Greetings and welcome, }
    

    can't remove letter enqueued in user's dashboard

    When you are in the edit docs page or the user back end you have the correspondence queue on the right.

    1. Add a letter (or invitation etc.) or whatever.
    2. Try to delete it, and it will not disappear.
    3. Clearing the cache and refreshing the page does not remove it either.
    4. Add another letter and then that will replace the other letter.
    5. Mark the letter as "sent" and you will get Server error /correspondence/letters.json/32934

    Get hard coded specific content into the database

    In parts of the code, there are URLs, pieces of text, images etc that are specific to betweenthebars.org, these should migrate to the database and be editable there.

    Here is the beginning of a list, we can discuss other occurrences in the comments

    • about/about_base.html contains hard coded URLs, make them configurable
    • about/index.html div with link to civi.mit.edu
    • about/index.html images at top of the page
    • about/privacy.html content
    • about/faq.html content
    • tex files in templates/correspondence/ ?

    The _imagingft C module is not installed

    Trying the envelope icon (http://127.0.0.1:8000/correspondence/envelope/103) I get :

    Environment:

    Request Method: GET
    Request URL: http://127.0.0.1:8000/correspondence/envelope/103

    Django Version: 1.4
    Python Version: 2.7.2
    Installed Applications:
    ('about',
    'accounts',
    'annotations',
    'blogs',
    'btb',
    'comments',
    'correspondence',
    'moderation',
    'profiles',
    'subscriptions',
    'scanning',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.humanize',
    'django.contrib.admin',
    'django.contrib.flatpages',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'registration',
    'djcelery',
    'django_bcrypt',
    'lettuce.django',
    'compressor',
    'sorl.thumbnail',
    'notification',
    'pagination',
    'urlcrypt',
    'south')
    Installed Middleware:
    ('django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'pagination.middleware.PaginationMiddleware')

    Traceback:
    File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

    1.                     response = callback(request, _callback_args, *_callback_kwargs)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
    2.             return view_func(request, _args, *_kwargs)
      
      File "/home/arthur/local/btb/btb/scanblog/correspondence/views.py" in print_envelope
    3. stringio = utils.build_envelope(to_address=to_address, from_address=from_address)
      
      File "/home/arthur/local/btb/btb/scanblog/correspondence/utils.py" in build_envelope
    4. txtimg = Envelope(from_address=from_address, to_address=to_address)
      
      File "/home/arthur/local/btb/btb/scanblog/correspondence/utils.py" in init
    5.         self.draw_from_address(from_address)
      
      File "/home/arthur/local/btb/btb/scanblog/correspondence/utils.py" in draw_from_address
    6.     self.draw_wrapped_text(address, ((m, m), (w / 2, h / 2 - m)))
      
      File "/home/arthur/local/btb/btb/scanblog/correspondence/utils.py" in draw_wrapped_text
    7.     font = ImageFont.truetype(font_path, font_size)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/PIL/ImageFont.py" in truetype
    8.     return FreeTypeFont(filename, size, index, encoding)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/PIL/ImageFont.py" in init
    9.     self.font = core.getfont(file, size, index, encoding)
      
      File "/home/arthur/local/btb/venv/local/lib/python2.7/site-packages/PIL/ImageFont.py" in getattr
    10.     raise ImportError("The _imagingft C module is not installed")
      

    Exception Type: ImportError at /correspondence/envelope/103
    Exception Value: The _imagingft C module is not installed

    Is something missing in the install documentation ?

    Stats doesn't seem to wok in dev mode (sqlite falls short ?) Exception Value: no such function: DATE_TRUNC

    On http://localhost:8000/moderation/stats/

    Traceback:
    File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/core/handlers/base.py"
    in get_response

    1.                     response = callback(request, _callback_args, *_callback_kwargs)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/contrib/auth/decorators
      .py" in _wrapped_view
    2.             return view_func(request, _args, *_kwargs)
      
      File "/home/arthur/local/btb/scanblog/moderation/views.py" in stats
    3.             'waitlist': list(_date_aggregate(Profile.objects.bloggers(), 'date_joined')),
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/db/models/query.py" in
      len
    4.         self._result_cache.extend(self._iter)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/db/models/query.py" in
      iterator
    5.     for row in self.query.get_compiler(self.db).results_iter():
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/db/models/sql/compiler.
      py" in results_iter
    6.     for rows in self.execute_sql(MULTI):
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/db/models/sql/compiler.
      py" in execute_sql
    7.     cursor.execute(sql, params)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/db/backends/util.py" in
      execute
    8.         return self.cursor.execute(sql, params)
      
      File "/home/arthur/local/virtualenvs/btb/local/lib/python2.7/site-packages/django/db/backends/sqlite3/bas
      e.py" in execute
    9.         return Database.Cursor.execute(self, query, params)
      

    Exception Type: DatabaseError at /moderation/stats/
    Exception Value: no such function: DATE_TRUNC

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.