Coder Social home page Coder Social logo

ialbert / biostar-central Goto Github PK

View Code? Open in Web Editor NEW
575.0 33.0 230.0 96.73 MB

Biostar Q&A

Home Page: http://www.biostars.org/

License: MIT License

Shell 0.83% Python 64.00% HTML 21.98% CSS 3.00% JavaScript 9.31% Makefile 0.87%
biostar bioinformatics

biostar-central's People

Contributors

abhijitpatil19 avatar alevchuk avatar aokiji avatar aswathyseb avatar dependabot[bot] avatar dpryan79 avatar dreinhold avatar egonw avatar enormandeau avatar genomax avatar ialbert avatar ichait avatar kislyuk avatar kumarrishabh42 avatar lohit13 avatar lshep avatar mas-4 avatar mirams avatar natay avatar oribyne avatar pindia avatar puntonim avatar scgruber avatar tvvocold avatar

Stargazers

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

Watchers

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

biostar-central's Issues

Anonymous users should be able to ask questions

On SE, anonymous users can post questions and later convert to a real account (I guess as long as their cookie still holds). The barrier to asking the first question should be as low as possible, and jumping through OpenID hoops is not easy if you've never heard of it.

OpenID redirect-back Request URI is too long

I setup a development server for testing Biostar-central. It's running behind a front-end server (a load-balancer) called Pound. When I try to log-in to Biostar-central with Google OpenID the URL redirected back to Biostar is 1611 characters. But Pound can only handle 1024 long URIs. That value is set at compile time for Pound.

This may be an issue in future depending if the hosting provider uses any load balancers or any other reverse proxy.

Perhaps, there is a way have Google make it a POST instead of a GET.

Overcounting the views of a post

It's a standard to count the unique views of a posts. Currently every page hit is counted. Simply making it unique by the IP address would be good enough.

cannot mark answer as 'selected'

The original author is unable to mark an answer as selected.

(note: the code functionality is in there but it seems that it it does not get activated)

Unable to login with openid

When I try to login, apparently 6 users get returned for my ID!

MultipleObjectsReturned at /openid/complete/

get() returned more than one User -- it returned 6! Lookup parameters were {'email': ''}

voteboxes need to be wider

on a mac the fonts seem to render slightly wider than on windows, this makes the text such as 'comment' 'answer' run out of the designated box. The width needs to be set to 5em

Remove autopopulated text

When creating a new question, each field in the form has a default filler text. This is helpful, but the filler text should disappear when the user's cursor focuses on that field. Optionally, the filler text could reappear if the field is blank in the case of an "unfocus" event. Typical usability stuff that I'm sure you would have gotten to eventually, but that stood out to me right away. These types of features are very nice, and you typically don't notice them or appreciate them until they don't work quite right!

Remove # upvotes left indicator

I think I understand that you're limiting the number of upvotes in a given time frame to prevent abuse. It took me quite some time to figure out what was going on, though, and why I was getting a "# upvotes left" message every time I voted.

It'd probably be better to just let people upvote without distraction. Don't display anything unless the user has reached their limit., then give them the little error message that says "woah, slow down there".

Was able to post a blank question

Um...sorry about that. I can't link to it, nor can I do anything to edit it apparently....

[PS: when I said I love to test software, I really do. But mostly I like to break it. It's not personal--it's just a little challenge I have with myself...]

To accomplish this: I swiped out the initial text and just added a space character in both required fields. I might put a larger requirement in--minimum text length or something?

PPS: I also love to re-test. Or do some directed testing on things you specifically want looked at. Let me know if you want specific hard looks at anything.

Spamming up/down votes causes server error

On this page : http://test.biostars.org/post/show/966/how-do-i-create-a-seqrecord-in-biopython/

MultipleObjectsReturned at /vote/

get() returned more than one Vote -- it returned 2! Lookup parameters were {'type': 1, 'author': <User: community>}

Request Method: POST
Request URL: http://test.biostars.org/vote/
Django Version: 1.3.1
Exception Type: MultipleObjectsReturned
Exception Value:

get() returned more than one Vote -- it returned 2! Lookup parameters were {'type': 1, 'author': <User: community>}

Exception Location: /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/query.py in get, line 351
Python Executable: /usr/local/bin/python
Python Version: 2.7.1
Python Path:

['/home/ialbert10/webapps/biostar_testing',
'/home/ialbert10/webapps/biostar_testing/lib/python2.7',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/site-packages/PIL',
'/home/ialbert10/webapps/biostar_testing/biostar-central',
'/home/ialbert10/webapps/biostar_testing/biostar-central/conf',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs/libraries.zip',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs/libraries.zip']

Server time: Fri, 16 Dec 2011 12:30:29 -0600
Traceback Switch to copy-and-paste view

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/handlers/base.py in get_response
   104.

                            for middleware_method in self._view_middleware:

   105.

                                response = middleware_method(request, callback, callback_args, callback_kwargs)

   106.

                                if response:

   107.

                                    break

   108.

   109.

                        if response is None:

   110.

                            try:

   111.

                                response = callback(request, *callback_args, **callback_kwargs)

        ...
   112.

                            except Exception, e:

   113.

                                # If the view raised an exception, run it through exception

   114.

                                # middleware, and if the exception middleware returns a

   115.

                                # response, use that. Otherwise, reraise the exception.

   116.

                                for middleware_method in self._exception_middleware:

   117.

                                    response = middleware_method(request, e)

  ▶ Local vars
  Variable  Value
  exceptions    

  <module 'django.core.exceptions' from '/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/exceptions.pyc'>

  e     

  MultipleObjectsReturned("get() returned more than one Vote -- it returned 2! Lookup parameters were {'type': 1, 'author': <User: community>}",)

  callback_args     

  ()

  receivers     

  [(<function _rollback_on_exception at 0x89a8a3c>, None)]

  middleware_method     

  <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x88156ec>>

  self  

  <django.core.handlers.wsgi.WSGIHandler object at 0xaf03ac8c>

  settings  

  <django.conf.LazySettings object at 0xaef2f9ac>

  request   

  <WSGIRequest
  GET:<QueryDict: {}>,
  POST:<QueryDict: {u'post': [u'966'], u'type': [u'2']}>,
  COOKIES:{'csrftoken': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'sessionid': 'c8e2c205a6911dc78800842ce72a98e6'},
  META:{'CONTENT_LENGTH': '15',
   'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=UTF-8',
   'CSRF_COOKIE': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'DOCUMENT_ROOT': '/usr/local/apache2/htdocs',
   'GATEWAY_INTERFACE': 'CGI/1.1',
   'HTTP_ACCEPT': 'application/json, text/javascript, */*; q=0.01',
   'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
   'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
   'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5',
   'HTTP_CACHE_CONTROL': 'no-cache',
   'HTTP_CONNECTION': 'close',
   'HTTP_COOKIE': 'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6',
   'HTTP_DNT': '1',
   'HTTP_HOST': 'test.biostars.org',
   'HTTP_PRAGMA': 'no-cache',
   'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24',
   'HTTP_X_CSRFTOKEN': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'HTTP_X_FORWARDED_FOR': '78.143.195.139',
   'HTTP_X_FORWARDED_HOST': 'test.biostars.org',
   'HTTP_X_FORWARDED_SERVER': 'test.biostars.org',
   'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
   'PATH_INFO': u'/vote/',
   'PATH_TRANSLATED': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/vote/',
   'QUERY_STRING': '',
   'REMOTE_ADDR': '127.0.0.1',
   'REMOTE_PORT': '34859',
   'REQUEST_METHOD': 'POST',
   'REQUEST_URI': '/vote/',
   'SCRIPT_FILENAME': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi',
   'SCRIPT_NAME': u'',
   'SERVER_ADDR': '127.0.0.1',
   'SERVER_ADMIN': '[no address given]',
   'SERVER_NAME': 'test.biostars.org',
   'SERVER_PORT': '80',
   'SERVER_PROTOCOL': 'HTTP/1.0',
   'SERVER_SIGNATURE': '',
   'SERVER_SOFTWARE': 'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1',
   'mod_wsgi.application_group': 'web192.webfaction.com|',
   'mod_wsgi.callable_object': 'application',
   'mod_wsgi.handler_script': '',
   'mod_wsgi.input_chunked': '0',
   'mod_wsgi.listener_host': '',
   'mod_wsgi.listener_port': '46930',
   'mod_wsgi.process_group': 'biostar_testing',
   'mod_wsgi.request_handler': 'wsgi-script',
   'mod_wsgi.script_reloading': '1',
   'mod_wsgi.version': (3, 3),
   'wsgi.errors': <mod_wsgi.Log object at 0x942a958>,
   'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x9393410>,
   'wsgi.input': <mod_wsgi.Input object at 0x942a818>,
   'wsgi.multiprocess': True,
   'wsgi.multithread': True,
   'wsgi.run_once': False,
   'wsgi.url_scheme': 'http',
   'wsgi.version': (1, 1)}>

  callback  

  <function vote at 0x93a64fc>

  resolver  

  <RegexURLResolver main.urls (None:None) ^/>

  urlresolvers  

  <module 'django.core.urlresolvers' from '/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/urlresolvers.pyc'>

  callback_kwargs   

  {}

  response  

  None

  urlconf   

  'main.urls'

* /home/ialbert10/webapps/biostar_testing/biostar-central/main/server/views.py in vote
   342.

                    return html.json_response({

   343.

                        'status':'success',

   344.

                        'msg':'%s removed' % old_vote.get_type_display()})

   345.

                else:

   346.

                    vote = post.add_vote(author, type)

   347.

                    if type in models.OPPOSING_VOTES: 

   348.

                        # Remove an opposing vote if it exists

   349.

                        post.remove_vote(author, models.OPPOSING_VOTES[type])

        ...
   350.

                    return html.json_response({

   351.

                        'status':'success',

   352.

                        'msg':'%s added' % vote.get_type_display()})

   353.



   354.

   355.

            return html.json_response({'status':'error', 'msg':'POST method must be used'})

  ▶ Local vars
  Variable  Value
  author    

  <User: community>

  request   

  <WSGIRequest
  GET:<QueryDict: {}>,
  POST:<QueryDict: {u'post': [u'966'], u'type': [u'2']}>,
  COOKIES:{'csrftoken': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'sessionid': 'c8e2c205a6911dc78800842ce72a98e6'},
  META:{'CONTENT_LENGTH': '15',
   'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=UTF-8',
   'CSRF_COOKIE': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'DOCUMENT_ROOT': '/usr/local/apache2/htdocs',
   'GATEWAY_INTERFACE': 'CGI/1.1',
   'HTTP_ACCEPT': 'application/json, text/javascript, */*; q=0.01',
   'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
   'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
   'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5',
   'HTTP_CACHE_CONTROL': 'no-cache',
   'HTTP_CONNECTION': 'close',
   'HTTP_COOKIE': 'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6',
   'HTTP_DNT': '1',
   'HTTP_HOST': 'test.biostars.org',
   'HTTP_PRAGMA': 'no-cache',
   'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24',
   'HTTP_X_CSRFTOKEN': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'HTTP_X_FORWARDED_FOR': '78.143.195.139',
   'HTTP_X_FORWARDED_HOST': 'test.biostars.org',
   'HTTP_X_FORWARDED_SERVER': 'test.biostars.org',
   'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
   'PATH_INFO': u'/vote/',
   'PATH_TRANSLATED': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/vote/',
   'QUERY_STRING': '',
   'REMOTE_ADDR': '127.0.0.1',
   'REMOTE_PORT': '34859',
   'REQUEST_METHOD': 'POST',
   'REQUEST_URI': '/vote/',
   'SCRIPT_FILENAME': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi',
   'SCRIPT_NAME': u'',
   'SERVER_ADDR': '127.0.0.1',
   'SERVER_ADMIN': '[no address given]',
   'SERVER_NAME': 'test.biostars.org',
   'SERVER_PORT': '80',
   'SERVER_PROTOCOL': 'HTTP/1.0',
   'SERVER_SIGNATURE': '',
   'SERVER_SOFTWARE': 'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1',
   'mod_wsgi.application_group': 'web192.webfaction.com|',
   'mod_wsgi.callable_object': 'application',
   'mod_wsgi.handler_script': '',
   'mod_wsgi.input_chunked': '0',
   'mod_wsgi.listener_host': '',
   'mod_wsgi.listener_port': '46930',
   'mod_wsgi.process_group': 'biostar_testing',
   'mod_wsgi.request_handler': 'wsgi-script',
   'mod_wsgi.script_reloading': '1',
   'mod_wsgi.version': (3, 3),
   'wsgi.errors': <mod_wsgi.Log object at 0x942a958>,
   'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x9393410>,
   'wsgi.input': <mod_wsgi.Input object at 0x942a818>,
   'wsgi.multiprocess': True,
   'wsgi.multithread': True,
   'wsgi.run_once': False,
   'wsgi.url_scheme': 'http',
   'wsgi.version': (1, 1)}>

  post_id   

  966

  vote  

  <Vote: Vote object>

  post  

  <Post: Post object>

  type  

  2

  old_vote  

  None

* /home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py in remove_vote
   241.

                vote = Vote(author=user, type=vote_type, post=self)

   242.

                vote.save()

   243.

                return vote

   244.



   245.

            def remove_vote(self, user, vote_type):

   246.

                ''' Removes a vote from a user of a certain type if it exists

   247.

                Returns True if removed, False if it didn't exist'''

   248.

                vote = self.get_vote(user, vote_type)

        ...
   249.

                if vote:

   250.

                    vote.delete()

   251.

                    return True

   252.

                return False

   253.



   254.

            def get_tag_names(self):

  ▶ Local vars
  Variable  Value
  vote_type     

  1

  user  

  <User: community>

  self  

  <Post: Post object>

* /home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py in get_vote
   229.

                else:

   230.

                    return 'open'

   231.



   232.

            def get_vote(self, user, vote_type):

   233.

                if user.is_anonymous():

   234.

                    return None

   235.

                try:

   236.

                    return self.votes.get(author=user, type=vote_type)

        ...
   237.

                except Vote.DoesNotExist:

   238.

                    return None

   239.



   240.

            def add_vote(self, user, vote_type):

   241.

                vote = Vote(author=user, type=vote_type, post=self)

   242.

                vote.save()

  ▶ Local vars
  Variable  Value
  vote_type     

  1

  user  

  <User: community>

  self  

  <Post: Post object>

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/manager.py in get
   125.

            def distinct(self, *args, **kwargs):

   126.

                return self.get_query_set().distinct(*args, **kwargs)

   127.

   128.

            def extra(self, *args, **kwargs):

   129.

                return self.get_query_set().extra(*args, **kwargs)

   130.

   131.

            def get(self, *args, **kwargs):

   132.

                return self.get_query_set().get(*args, **kwargs)

        ...
   133.

   134.

            def get_or_create(self, **kwargs):

   135.

                return self.get_query_set().get_or_create(**kwargs)

   136.

   137.

            def create(self, **kwargs):

   138.

                return self.get_query_set().create(**kwargs)

  ▶ Local vars
  Variable  Value
  self  

  <django.db.models.fields.related.RelatedManager object at 0x95f47ac>

  args  

  ()

  kwargs    

  {'author': <User: community>, 'type': 1}

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/query.py in get
   344.

                num = len(clone)

   345.

                if num == 1:

   346.

                    return clone._result_cache[0]

   347.

                if not num:

   348.

                    raise self.model.DoesNotExist("%s matching query does not exist."

   349.

                            % self.model._meta.object_name)

   350.

                raise self.model.MultipleObjectsReturned("get() returned more than one %s -- it returned %s! Lookup parameters were %s"

   351.

                        % (self.model._meta.object_name, num, kwargs))

        ...
   352.

   353.

            def create(self, **kwargs):

   354.

                """

   355.

                Creates a new object with the given kwargs, saving it to the database

   356.

                and returning the created object.

   357.

                """

  ▶ Local vars
  Variable  Value
  clone     

  [<Vote: Vote object>, <Vote: Vote object>]

  num   

  2

  self  

  [<Vote: Vote object>, <Vote: Vote object>, <Vote: Vote object>, <Vote: Vote object>]

  args  

  ()

  kwargs    

  {'author': <User: community>, 'type': 1}

Environment: Request Method: POST Request URL: http://test.biostars.org/vote/ Django Version: 1.3.1 Python Version: 2.7.1 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'django.contrib.markup', 'django.contrib.messages', 'django.contrib.admin', 'django.contrib.admindocs', 'main.server', 'django_openid_auth', 'mptt'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'main.middleware.LastVisit', 'main.middleware.PermissionsMiddleware') Traceback: File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/handlers/base.py" in get_response 111. response = callback(request, _callback_args, *_callback_kwargs) File "/home/ialbert10/webapps/biostar_testing/biostar-central/main/server/views.py" in vote 349. post.remove_vote(author, models.OPPOSING_VOTES[type]) File "/home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py" in remove_vote 248. vote = self.get_vote(user, vote_type) File "/home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py" in get_vote 236. return self.votes.get(author=user, type=vote_type) File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/manager.py" in get 132. return self.get_query_set().get(_args, *_kwargs) File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/query.py" in get 351. % (self.model._meta.object_name, num, kwargs)) Exception Type: MultipleObjectsReturned at /vote/ Exception Value: get() returned more than one Vote -- it returned 2! Lookup parameters were {'type': 1, 'author': <User: community>}

Request information
GET

No GET data
POST
Variable Value
post

u'966'

type

u'2'

FILES

No FILES data
COOKIES
Variable Value
csrftoken

'e0d9af9d4bd76d1b1c5cd4cde062f190'

sessionid

'c8e2c205a6911dc78800842ce72a98e6'

META
Variable Value
mod_wsgi.listener_port

'46930'

HTTP_X_FORWARDED_SERVER

'test.biostars.org'

HTTP_COOKIE

'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6'

HTTP_X_FORWARDED_HOST

'test.biostars.org'

mod_wsgi.handler_script

''

SERVER_SOFTWARE

'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1'

SCRIPT_NAME

u''

HTTP_X_CSRFTOKEN

'e0d9af9d4bd76d1b1c5cd4cde062f190'

SERVER_SIGNATURE

''

REQUEST_METHOD

'POST'

PATH_INFO

u'/vote/'

SERVER_PROTOCOL

'HTTP/1.0'

QUERY_STRING

''

CONTENT_LENGTH

'15'

HTTP_ACCEPT_CHARSET

'ISO-8859-1,utf-8;q=0.7,*;q=0.7'

HTTP_USER_AGENT

'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24'

HTTP_CONNECTION

'close'

SERVER_NAME

'test.biostars.org'

REMOTE_ADDR

'127.0.0.1'

mod_wsgi.request_handler

'wsgi-script'

wsgi.url_scheme

'http'

PATH_TRANSLATED

'/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/vote/'

SERVER_PORT

'80'

wsgi.multiprocess

True

mod_wsgi.input_chunked

'0'

SERVER_ADDR

'127.0.0.1'

DOCUMENT_ROOT

'/usr/local/apache2/htdocs'

mod_wsgi.process_group

'biostar_testing'

HTTP_PRAGMA

'no-cache'

HTTP_X_REQUESTED_WITH

'XMLHttpRequest'

SCRIPT_FILENAME

'/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi'

SERVER_ADMIN

'[no address given]'

wsgi.input

<mod_wsgi.Input object at 0x942a818>

HTTP_DNT

'1'

HTTP_HOST

'test.biostars.org'

wsgi.multithread

True

mod_wsgi.callable_object

'application'

HTTP_CACHE_CONTROL

'no-cache'

REQUEST_URI

'/vote/'

HTTP_ACCEPT

'application/json, text/javascript, /; q=0.01'

mod_wsgi.listener_host

''

wsgi.version

(1, 1)

GATEWAY_INTERFACE

'CGI/1.1'

HTTP_X_FORWARDED_FOR

'78.143.195.139'

wsgi.errors

<mod_wsgi.Log object at 0x942a958>

REMOTE_PORT

'34859'

HTTP_ACCEPT_LANGUAGE

'en-gb,en;q=0.5'

mod_wsgi.version

(3, 3)

wsgi.run_once

False

CONTENT_TYPE

'application/x-www-form-urlencoded; charset=UTF-8'

mod_wsgi.application_group

'web192.webfaction.com|'

mod_wsgi.script_reloading

'1'

wsgi.file_wrapper

'*** MISSING ***'

CSRF_COOKIE

'e0d9af9d4bd76d1b1c5cd4cde062f190'

HTTP_ACCEPT_ENCODING

'gzip,deflate'

Settings
Using settings module pg_testing
Setting Value
YEAR_MONTH_FORMAT

'F Y'

USE_L10N

True

TIME_ZONE

'America/Chicago'

LANGUAGE_CODE

'en-us'

ROOT_URLCONF

'main.urls'

MANAGERS

(('Istvan Albert', '[email protected]'),)

DEFAULT_CHARSET

'utf-8'

STATIC_ROOT

'/home/ialbert10/webapps/static_testing'

TEST_DATABASE_CHARSET

None

USE_THOUSAND_SEPARATOR

False

MESSAGE_STORAGE

'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'

DATABASE_HOST

''

EMAIL_SUBJECT_PREFIX

'[Django] '

SEND_BROKEN_LINK_EMAILS

False

URL_VALIDATOR_USER_AGENT

'Django/1.3.1 (http://www.djangoproject.com)'

STATICFILES_FINDERS

('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder')

SESSION_COOKIE_DOMAIN

None

SESSION_COOKIE_NAME

'sessionid'

ADMIN_FOR

()

TIME_INPUT_FORMATS

('%H:%M:%S', '%H:%M')

DATABASES

{'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'web192',
'NAME': 'ialbert10_biostar_test',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '',
'TEST_CHARSET': None,
'TEST_COLLATION': None,
'TEST_MIRROR': None,
'TEST_NAME': None,
'TIME_ZONE': 'America/Chicago',
'USER': 'ialbert10_biostar_test'}}

TEST_DATABASE_NAME

None

FILE_UPLOAD_PERMISSIONS

None

FILE_UPLOAD_HANDLERS

('django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler')

DEFAULT_CONTENT_TYPE

'text/html'

APPEND_SLASH

True

FIRST_DAY_OF_WEEK

0

DATABASE_ROUTERS

[]

WHOOSH_INDEX

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/db/index'

STATICFILES_STORAGE

'django.contrib.staticfiles.storage.StaticFilesStorage'

CACHES

{'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
'LOCATION': 'unique-snowflake'}}

DATABASE_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/db'

TEMPLATE_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/templates'

SERVER_EMAIL

'root@localhost'

SESSION_COOKIE_PATH

'/'

IGNORABLE_404_ENDS

('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')

MIDDLEWARE_CLASSES

('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'main.middleware.LastVisit',
'main.middleware.PermissionsMiddleware')

USE_I18N

True

ALLOW_MIGRATION

True

SECRET_KEY

'********************'

LANGUAGE_COOKIE_NAME

'django_language'

FILE_UPLOAD_TEMP_DIR

None

TRANSACTIONS_MANAGED

False

LOGGING_CONFIG

'django.utils.log.dictConfig'

TEMPLATE_LOADERS

('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader')

NEWBIE_MAX_POSTS_PER_DAY

3

TEMPLATE_DEBUG

True

AUTHENTICATION_BACKENDS

('django_openid_auth.auth.OpenIDBackend',
'django.contrib.auth.backends.ModelBackend')

TEST_DATABASE_COLLATION

None

FORCE_SCRIPT_NAME

None

USE_X_FORWARDED_HOST

False

STATIC_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/static'

SESSION_COOKIE_SECURE

False

HOME_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main'

__CURR_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/conf'

CSRF_COOKIE_DOMAIN

None

FILE_CHARSET

'utf-8'

DEBUG

True

SESSION_FILE_PATH

None

DEFAULT_FILE_STORAGE

'django.core.files.storage.FileSystemStorage'

INSTALLED_APPS

['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django.contrib.markup',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'main.server',
'django_openid_auth',
'mptt']

LANGUAGES

(('ar', 'Arabic'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('bn', 'Bengali'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('el', 'Greek'),
('en', 'English'),
('en-gb', 'British English'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy-nl', 'Frisian'),
('ga', 'Irish'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hu', 'Hungarian'),
('id', 'Indonesian'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('nl', 'Dutch'),
('no', 'Norwegian'),
('nb', 'Norwegian Bokmal'),
('nn', 'Norwegian Nynorsk'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('vi', 'Vietnamese'),
('zh-cn', 'Simplified Chinese'),
('zh-tw', 'Traditional Chinese'))

DATABASE_ENGINE

''

DATABASE_NAME

'ialbert10_biostar_test'

COMMENTS_FIRST_FEW

0

PREPEND_WWW

False

MINIMUM_REPUTATION

0

SESSION_COOKIE_HTTPONLY

False

DATABASE_PORT

''

DEBUG_PROPAGATE_EXCEPTIONS

False

OPENID_UPDATE_DETAILS_FROM_SREG

True

MONTH_DAY_FORMAT

'F j'

LOGIN_URL

'/openid/login/'

SESSION_EXPIRE_AT_BROWSER_CLOSE

False

PASSWORD_RESET_TIMEOUT_DAYS

'********************'

TIME_FORMAT

'P'

DATE_INPUT_FORMATS

('%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y')

CSRF_COOKIE_NAME

'csrftoken'

EMAIL_HOST_PASSWORD

'********************'

AUTH_PROFILE_MODULE

'server.UserProfile'

CACHE_MIDDLEWARE_ALIAS

'default'

SESSION_SAVE_EVERY_REQUEST

False

ADMIN_MEDIA_PREFIX

'/static/admin/'

NUMBER_GROUPING

0

SESSION_ENGINE

'django.contrib.sessions.backends.db'

CSRF_FAILURE_VIEW

'django.views.csrf.csrf_failure'

COMMENTS_SKETCHY_USERS_GROUP

None

LOGIN_REDIRECT_URL

'/'

LOGGING

{'disable_existing_loggers': False,
'formatters': {'simple': {'format': '%(levelname)s\t%(name)s\t%(funcName)s\t%(asctime)s \t%(message)s'}},
'handlers': {'console': {'class': 'logging.StreamHandler',
'formatter': 'simple',
'level': 'DEBUG'}},
'loggers': {'main.server.auth': {'handlers': ['console'], 'level': 'INFO'},
'main.server.models': {'handlers': ['console'], 'level': 'INFO'},
'main.server.views': {'handlers': ['console'], 'level': 'INFO'}},
'version': 1}

CACHE_MIDDLEWARE_KEY_PREFIX

''

SITE_ID

1

LOCALE_PATHS

()

TEMPLATE_STRING_IF_INVALID

'*** MISSING ***'

COMMENTS_ALLOW_PROFANITIES

False

LOGOUT_URL

'/accounts/logout/'

EMAIL_USE_TLS

False

TEMPLATE_DIRS

('/home/ialbert10/webapps/biostar_testing/biostar-central/main/templates',)

FIXTURE_DIRS

()

EMAIL_HOST

'localhost'

DATE_FORMAT

'N j, Y'

MEDIA_ROOT

'/media/'

ADMINS

(('Istvan Albert', '[email protected]'),)

FORMAT_MODULE_PATH

None

DEFAULT_FROM_EMAIL

'webmaster@localhost'

THOUSAND_SEPARATOR

','

STATICFILES_DIRS

('/home/ialbert10/webapps/biostar_testing/biostar-central/main/static',)

MEDIA_URL

'/home/ialbert10/webapps/static_testing'

DATETIME_FORMAT

'N j, Y, P'

IGNORABLE_404_STARTS

('/cgi-bin/', '/_vti_bin', '/_vti_inf')

GIT_REVISION

'unknown'

DISALLOWED_USER_AGENTS

()

ALLOWED_INCLUDE_ROOTS

()

DECIMAL_SEPARATOR

'.'

SHORT_DATE_FORMAT

'm/d/Y'

DATABASE_USER

''

TEST_RUNNER

'server.tests.runner.BiostarTest'

OPENID_CREATE_USERS

True

OPENID_USE_AS_ADMIN_LOGIN

True

FILE_UPLOAD_MAX_MEMORY_SIZE

2621440

EMAIL_BACKEND

'django.core.mail.backends.smtp.EmailBackend'

DEFAULT_TABLESPACE

''

TEMPLATE_CONTEXT_PROCESSORS

('django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.request',
'django.core.context_processors.static',
'django.contrib.messages.context_processors.messages',
'main.context.extras',
'main.context.popular_tags')

A

<main.settings.A instance at 0x94e168c>

EXPORT_DIR

'/home/ialbert10/webapps/static_testing'

SESSION_COOKIE_AGE

1209600

SETTINGS_MODULE

'pg_testing'

USE_ETAGS

False

LANGUAGES_BIDI

('he', 'ar', 'fa')

DEFAULT_INDEX_TABLESPACE

''

INTERNAL_IPS

('127.0.0.1',)

STATIC_URL

'/static/'

EMAIL_PORT

25

SHORT_DATETIME_FORMAT

'm/d/Y P'

ABSOLUTE_URL_OVERRIDES

{}

DATABASE_OPTIONS

{}

CACHE_MIDDLEWARE_SECONDS

600

BANNED_IPS

()

DATETIME_INPUT_FORMATS

('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M',
'%m/%d/%y')

DATABASE_PASSWORD

'********************'

COMMENTS_MODERATORS_GROUP

None

PROFANITIES_LIST

'********************'

EMAIL_HOST_USER

''

COMMENTS_BANNED_USERS_GROUP

None

Descriptive mouseovers for icons

You have replaced the downvote icon with what looks like a bookmark icon. This may turn out to be a nice feature, but it needs a descriptive mouseover. For completeness, we should probably have descriptive mouseovers for the upvote button (and maybe even others) for those that are new to this type of site and its design.

Usability: recommendation to edit existing answer absent

When you would offer a second answer to a question on the existing BioStar, a dialog box would suggest that you consider editing your existing answer unless it is really a different answer. I thought that was a good idea to keep ideas together.

When I tried to add new answers in the test site I wasn't offered that suggestion.

Deleting nested comments causes server error

I made some nested comments by replying to myself, then deleted then. Deleting leaf comments seemed okay, but when I deleted a parent, I got this error.

DoesNotExist at /destroy/post/2023/

Post matching query does not exist.

Request Method: POST
Request URL: http://test.biostars.org/destroy/post/2023/
Django Version: 1.3.1
Exception Type: DoesNotExist
Exception Value:

Post matching query does not exist.

Exception Location: /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/query.py in get, line 349
Python Executable: /usr/local/bin/python
Python Version: 2.7.1
Python Path:

['/home/ialbert10/webapps/biostar_testing',
'/home/ialbert10/webapps/biostar_testing/lib/python2.7',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/site-packages/PIL',
'/home/ialbert10/webapps/biostar_testing/biostar-central',
'/home/ialbert10/webapps/biostar_testing/biostar-central/conf',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs/libraries.zip',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs',
'/home/ialbert10/webapps/biostar_testing/biostar-central/libs/libraries.zip']

Server time: Fri, 16 Dec 2011 12:50:13 -0600
Traceback Switch back to interactive view

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/handlers/base.py in get_response
   104.

                            for middleware_method in self._view_middleware:

   105.

                                response = middleware_method(request, callback, callback_args, callback_kwargs)

   106.

                                if response:

   107.

                                    break

   108.

   109.

                        if response is None:

   110.

                            try:

   111.

                                response = callback(request, *callback_args, **callback_kwargs)

        ...
   112.

                            except Exception, e:

   113.

                                # If the view raised an exception, run it through exception

   114.

                                # middleware, and if the exception middleware returns a

   115.

                                # response, use that. Otherwise, reraise the exception.

   116.

                                for middleware_method in self._exception_middleware:

   117.

                                    response = middleware_method(request, e)

  ▶ Local vars
  Variable  Value
  exceptions    

  <module 'django.core.exceptions' from '/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/exceptions.pyc'>

  e     

  DoesNotExist('Post matching query does not exist.',)

  callback_args     

  ()

  receivers     

  [(<function _rollback_on_exception at 0x89a8a3c>, None)]

  middleware_method     

  <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x88156ec>>

  self  

  <django.core.handlers.wsgi.WSGIHandler object at 0xaf03ac8c>

  settings  

  <django.conf.LazySettings object at 0xaef2f9ac>

  request   

  <WSGIRequest
  GET:<QueryDict: {}>,
  POST:<QueryDict: {}>,
  COOKIES:{'csrftoken': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'sessionid': 'c8e2c205a6911dc78800842ce72a98e6'},
  META:{'CONTENT_LENGTH': '0',
   'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=UTF-8',
   'CSRF_COOKIE': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'DOCUMENT_ROOT': '/usr/local/apache2/htdocs',
   'GATEWAY_INTERFACE': 'CGI/1.1',
   'HTTP_ACCEPT': 'application/json, text/javascript, */*; q=0.01',
   'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
   'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
   'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5',
   'HTTP_CACHE_CONTROL': 'no-cache',
   'HTTP_CONNECTION': 'close',
   'HTTP_COOKIE': 'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6',
   'HTTP_DNT': '1',
   'HTTP_HOST': 'test.biostars.org',
   'HTTP_PRAGMA': 'no-cache',
   'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24',
   'HTTP_X_CSRFTOKEN': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'HTTP_X_FORWARDED_FOR': '78.143.195.139',
   'HTTP_X_FORWARDED_HOST': 'test.biostars.org',
   'HTTP_X_FORWARDED_SERVER': 'test.biostars.org',
   'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
   'PATH_INFO': u'/destroy/post/2023/',
   'PATH_TRANSLATED': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/destroy/post/2023/',
   'QUERY_STRING': '',
   'REMOTE_ADDR': '127.0.0.1',
   'REMOTE_PORT': '56440',
   'REQUEST_METHOD': 'POST',
   'REQUEST_URI': '/destroy/post/2023/',
   'SCRIPT_FILENAME': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi',
   'SCRIPT_NAME': u'',
   'SERVER_ADDR': '127.0.0.1',
   'SERVER_ADMIN': '[no address given]',
   'SERVER_NAME': 'test.biostars.org',
   'SERVER_PORT': '80',
   'SERVER_PROTOCOL': 'HTTP/1.0',
   'SERVER_SIGNATURE': '',
   'SERVER_SOFTWARE': 'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1',
   'mod_wsgi.application_group': 'web192.webfaction.com|',
   'mod_wsgi.callable_object': 'application',
   'mod_wsgi.handler_script': '',
   'mod_wsgi.input_chunked': '0',
   'mod_wsgi.listener_host': '',
   'mod_wsgi.listener_port': '46930',
   'mod_wsgi.process_group': 'biostar_testing',
   'mod_wsgi.request_handler': 'wsgi-script',
   'mod_wsgi.script_reloading': '1',
   'mod_wsgi.version': (3, 3),
   'wsgi.errors': <mod_wsgi.Log object at 0x942adb8>,
   'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x96ce578>,
   'wsgi.input': <mod_wsgi.Input object at 0x9282f70>,
   'wsgi.multiprocess': True,
   'wsgi.multithread': True,
   'wsgi.run_once': False,
   'wsgi.url_scheme': 'http',
   'wsgi.version': (1, 1)}>

  callback  

  <function destroy_post at 0x9396ed4>

  resolver  

  <RegexURLResolver main.urls (None:None) ^/>

  urlresolvers  

  <module 'django.core.urlresolvers' from '/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/urlresolvers.pyc'>

  callback_kwargs   

  {'pid': u'2023'}

  response  

  None

  urlconf   

  'main.urls'

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/contrib/auth/decorators.py in _wrapped_view
    16.

            that takes the user object and returns True if the user passes.

    17.

            """

    18.

    19.

            def decorator(view_func):

    20.

                @wraps(view_func, assigned=available_attrs(view_func))

    21.

                def _wrapped_view(request, *args, **kwargs):

    22.

                    if test_func(request.user):

    23.

                        return view_func(request, *args, **kwargs)

        ...
    24.

                    path = request.build_absolute_uri()

    25.

                    # If the login url is the same scheme and net location then just

    26.

                    # use the path as the "next" url.

    27.

                    login_scheme, login_netloc = urlparse.urlparse(login_url or

    28.

                                                                settings.LOGIN_URL)[:2]

    29.

                    current_scheme, current_netloc = urlparse.urlparse(path)[:2]

  ▶ Local vars
  Variable  Value
  test_func     

  <function <lambda> at 0x9396e2c>

  login_url     

  None

  args  

  ()

  request   

  <WSGIRequest
  GET:<QueryDict: {}>,
  POST:<QueryDict: {}>,
  COOKIES:{'csrftoken': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'sessionid': 'c8e2c205a6911dc78800842ce72a98e6'},
  META:{'CONTENT_LENGTH': '0',
   'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=UTF-8',
   'CSRF_COOKIE': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'DOCUMENT_ROOT': '/usr/local/apache2/htdocs',
   'GATEWAY_INTERFACE': 'CGI/1.1',
   'HTTP_ACCEPT': 'application/json, text/javascript, */*; q=0.01',
   'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
   'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
   'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5',
   'HTTP_CACHE_CONTROL': 'no-cache',
   'HTTP_CONNECTION': 'close',
   'HTTP_COOKIE': 'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6',
   'HTTP_DNT': '1',
   'HTTP_HOST': 'test.biostars.org',
   'HTTP_PRAGMA': 'no-cache',
   'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24',
   'HTTP_X_CSRFTOKEN': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'HTTP_X_FORWARDED_FOR': '78.143.195.139',
   'HTTP_X_FORWARDED_HOST': 'test.biostars.org',
   'HTTP_X_FORWARDED_SERVER': 'test.biostars.org',
   'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
   'PATH_INFO': u'/destroy/post/2023/',
   'PATH_TRANSLATED': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/destroy/post/2023/',
   'QUERY_STRING': '',
   'REMOTE_ADDR': '127.0.0.1',
   'REMOTE_PORT': '56440',
   'REQUEST_METHOD': 'POST',
   'REQUEST_URI': '/destroy/post/2023/',
   'SCRIPT_FILENAME': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi',
   'SCRIPT_NAME': u'',
   'SERVER_ADDR': '127.0.0.1',
   'SERVER_ADMIN': '[no address given]',
   'SERVER_NAME': 'test.biostars.org',
   'SERVER_PORT': '80',
   'SERVER_PROTOCOL': 'HTTP/1.0',
   'SERVER_SIGNATURE': '',
   'SERVER_SOFTWARE': 'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1',
   'mod_wsgi.application_group': 'web192.webfaction.com|',
   'mod_wsgi.callable_object': 'application',
   'mod_wsgi.handler_script': '',
   'mod_wsgi.input_chunked': '0',
   'mod_wsgi.listener_host': '',
   'mod_wsgi.listener_port': '46930',
   'mod_wsgi.process_group': 'biostar_testing',
   'mod_wsgi.request_handler': 'wsgi-script',
   'mod_wsgi.script_reloading': '1',
   'mod_wsgi.version': (3, 3),
   'wsgi.errors': <mod_wsgi.Log object at 0x942adb8>,
   'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x96ce578>,
   'wsgi.input': <mod_wsgi.Input object at 0x9282f70>,
   'wsgi.multiprocess': True,
   'wsgi.multithread': True,
   'wsgi.run_once': False,
   'wsgi.url_scheme': 'http',
   'wsgi.version': (1, 1)}>

  kwargs    

  {'pid': u'2023'}

  redirect_field_name   

  '/openid/login/'

  view_func     

  <function destroy_post at 0x9396e9c>

* /home/ialbert10/webapps/biostar_testing/biostar-central/main/server/action.py in destroy_post
   137.

            post = models.Post.objects.get(id=pid)

   138.

   139.

            # for now only comments may be destroyed

   140.

            assert post.type == POST_COMMENT

   141.

            if not auth.authorize_post_edit(user=moderator, post=post, strict=False):

   142.

                return html.json_response({'status':'error', 'msg':'You do not have permission to delete this post.'})        

   143.



   144.

            post.delete()

        ...
   145.

            return html.json_response({'status':'success', 'msg':'post deleted'})

  ▶ Local vars
  Variable  Value
  moderator     

  <User: community>

  request   

  <WSGIRequest
  GET:<QueryDict: {}>,
  POST:<QueryDict: {}>,
  COOKIES:{'csrftoken': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'sessionid': 'c8e2c205a6911dc78800842ce72a98e6'},
  META:{'CONTENT_LENGTH': '0',
   'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=UTF-8',
   'CSRF_COOKIE': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'DOCUMENT_ROOT': '/usr/local/apache2/htdocs',
   'GATEWAY_INTERFACE': 'CGI/1.1',
   'HTTP_ACCEPT': 'application/json, text/javascript, */*; q=0.01',
   'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
   'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
   'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5',
   'HTTP_CACHE_CONTROL': 'no-cache',
   'HTTP_CONNECTION': 'close',
   'HTTP_COOKIE': 'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6',
   'HTTP_DNT': '1',
   'HTTP_HOST': 'test.biostars.org',
   'HTTP_PRAGMA': 'no-cache',
   'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24',
   'HTTP_X_CSRFTOKEN': 'e0d9af9d4bd76d1b1c5cd4cde062f190',
   'HTTP_X_FORWARDED_FOR': '78.143.195.139',
   'HTTP_X_FORWARDED_HOST': 'test.biostars.org',
   'HTTP_X_FORWARDED_SERVER': 'test.biostars.org',
   'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
   'PATH_INFO': u'/destroy/post/2023/',
   'PATH_TRANSLATED': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/destroy/post/2023/',
   'QUERY_STRING': '',
   'REMOTE_ADDR': '127.0.0.1',
   'REMOTE_PORT': '56440',
   'REQUEST_METHOD': 'POST',
   'REQUEST_URI': '/destroy/post/2023/',
   'SCRIPT_FILENAME': '/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi',
   'SCRIPT_NAME': u'',
   'SERVER_ADDR': '127.0.0.1',
   'SERVER_ADMIN': '[no address given]',
   'SERVER_NAME': 'test.biostars.org',
   'SERVER_PORT': '80',
   'SERVER_PROTOCOL': 'HTTP/1.0',
   'SERVER_SIGNATURE': '',
   'SERVER_SOFTWARE': 'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1',
   'mod_wsgi.application_group': 'web192.webfaction.com|',
   'mod_wsgi.callable_object': 'application',
   'mod_wsgi.handler_script': '',
   'mod_wsgi.input_chunked': '0',
   'mod_wsgi.listener_host': '',
   'mod_wsgi.listener_port': '46930',
   'mod_wsgi.process_group': 'biostar_testing',
   'mod_wsgi.request_handler': 'wsgi-script',
   'mod_wsgi.script_reloading': '1',
   'mod_wsgi.version': (3, 3),
   'wsgi.errors': <mod_wsgi.Log object at 0x942adb8>,
   'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x96ce578>,
   'wsgi.input': <mod_wsgi.Input object at 0x9282f70>,
   'wsgi.multiprocess': True,
   'wsgi.multithread': True,
   'wsgi.run_once': False,
   'wsgi.url_scheme': 'http',
   'wsgi.version': (1, 1)}>

  post  

  <Post: Post object>

  pid   

  u'2023'

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/base.py in delete
   574.

   575.

            def delete(self, using=None):

   576.

                using = using or router.db_for_write(self.__class__, instance=self)

   577.

                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)

   578.

   579.

                collector = Collector(using=using)

   580.

                collector.collect([self])

   581.

                collector.delete()

        ...
   582.

   583.

            delete.alters_data = True

   584.

   585.

            def _get_FIELD_display(self, field):

   586.

                value = getattr(self, field.attname)

   587.

                return force_unicode(dict(field.flatchoices).get(value, value), strings_only=True)

  ▶ Local vars
  Variable  Value
  using     

  'default'

  self  

  <Post: Post object>

  collector     

  <django.db.models.deletion.Collector object at 0x92fa6ec>

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/deletion.py in decorated
    56.

            def decorated(self, *args, **kwargs):

    57.

                if not transaction.is_managed(using=self.using):

    58.

                    transaction.enter_transaction_management(using=self.using)

    59.

                    forced_managed = True

    60.

                else:

    61.

                    forced_managed = False

    62.

                try:

    63.

                    func(self, *args, **kwargs)

        ...
    64.

                    if forced_managed:

    65.

                        transaction.commit(using=self.using)

    66.

                    else:

    67.

                        transaction.commit_unless_managed(using=self.using)

    68.

                finally:

    69.

                    if forced_managed:

  ▶ Local vars
  Variable  Value
  self  

  <django.db.models.deletion.Collector object at 0x92fa6ec>

  kwargs    

  {}

  func  

  <function delete at 0x8ba033c>

  args  

  ()

  forced_managed    

  True

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/deletion.py in delete
   253.

                    pk_list = [obj.pk for obj in instances]

   254.

                    query.delete_batch(pk_list, self.using)

   255.

   256.

                # send post_delete signals

   257.

                for model, obj in self.instances_with_model():

   258.

                    if not model._meta.auto_created:

   259.

                        signals.post_delete.send(

   260.

                            sender=model, instance=obj, using=self.using

        ...
   261.

                        )

   262.

   263.

                # update collected instances

   264.

                for model, instances_for_fieldvalues in self.field_updates.iteritems():

   265.

                    for (field, value), instances in instances_for_fieldvalues.iteritems():

   266.

                        for obj in instances:

  ▶ Local vars
  Variable  Value
  batches   

  {<django.db.models.fields.related.ForeignKey object at 0x8ed25ec>: set([<Post: Post object>,
                                                                          <Post: Post object>,
                                                                          <Post: Post object>])}

  obj   

  <Post: Post object>

  field     

  <django.db.models.fields.related.ForeignKey object at 0x8ed25ec>

  self  

  <django.db.models.deletion.Collector object at 0x92fa6ec>

  instances     

  [<Post: Post object>, <Post: Post object>, <Post: Post object>]

  pk_list   

  [2025, 2024, 2023]

  query     

  <django.db.models.sql.subqueries.DeleteQuery object at 0x8f4066c>

  model     

  <class 'main.server.models.Post'>

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/dispatch/dispatcher.py in send
   165.

                Returns a list of tuple pairs [(receiver, response), ... ].

   166.

                """

   167.

                responses = []

   168.

                if not self.receivers:

   169.

                    return responses

   170.

   171.

                for receiver in self._live_receivers(_make_id(sender)):

   172.

                    response = receiver(signal=self, sender=sender, **named)

        ...
   173.

                    responses.append((receiver, response))

   174.

                return responses

   175.

   176.

            def send_robust(self, sender, **named):

   177.

                """

   178.

                Send signal from sender to all connected receivers catching errors.

  ▶ Local vars
  Variable  Value
  self  

  <django.dispatch.dispatcher.Signal object at 0x8b6670c>

  named     

  {'instance': <Post: Post object>, 'using': 'default'}

  sender    

  <class 'main.server.models.Post'>

  responses     

  []

  receiver  

  <function unapply_instance at 0x8edd454>

* /home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py in unapply_instance
   499.

        def apply_instance(sender, instance, created, raw, *args, **kwargs):

   500.

            "Applies changes from an instance with an apply() method"

   501.

            if created and not raw: # Raw is true when importing from fixtures, in which case votes are already applied

   502.

                instance.apply(+1)

   503.

   504.

        def unapply_instance(sender, instance,  *args, **kwargs):

   505.

            "Unapplies an instance when it is deleted"

   506.

            instance.apply(-1)

        ...
   507.



   508.

        for model in MODELS_WITH_APPLY:

   509.

            signals.post_save.connect(apply_instance, sender=model)

   510.

            signals.post_delete.connect(unapply_instance, sender=model)

   511.

   512.

        def make_uuid():

  ▶ Local vars
  Variable  Value
  instance  

  <Post: Post object>

  args  

  ()

  sender    

  <class 'main.server.models.Post'>

  kwargs    

  {'signal': <django.dispatch.dispatcher.Signal object at 0x8b6670c>,
   'using': 'default'}

* /home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py in apply
   253.



   254.

            def get_tag_names(self):

   255.

                "Returns the post's tag values as a list of tag names"

   256.

                names = [ n.lower() for n in self.tag_val.split(' ') ]

   257.

                return map(unicode, names)

   258.



   259.

            def apply(self, dir):

   260.

                is_answer  = self.parent and self.type == POST_ANSWER

        ...
   261.

                is_comment = self.parent and self.type == POST_COMMENT

   262.

                if is_answer:

   263.

                    self.parent.answer_count += dir

   264.

                    self.parent.save()

   265.

                if is_comment:

   266.

                    self.parent.comment_count += dir

  ▶ Local vars
  Variable  Value
  self  

  <Post: Post object>

  dir   

  -1

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/fields/related.py in __get__
   308.

                    # If the related manager indicates that it should be used for

   309.

                    # related fields, respect that.

   310.

                    rel_mgr = self.field.rel.to._default_manager

   311.

                    db = router.db_for_read(self.field.rel.to, instance=instance)

   312.

                    if getattr(rel_mgr, 'use_for_related_fields', False):

   313.

                        rel_obj = rel_mgr.using(db).get(**params)

   314.

                    else:

   315.

                        rel_obj = QuerySet(self.field.rel.to).using(db).get(**params)

        ...
   316.

                    setattr(instance, cache_name, rel_obj)

   317.

                    return rel_obj

   318.

   319.

            def __set__(self, instance, value):

   320.

                if instance is None:

   321.

                    raise AttributeError("%s must be accessed via instance" % self._field.name)

  ▶ Local vars
  Variable  Value
  val   

  2024

  instance  

  <Post: Post object>

  other_field   

  <django.db.models.fields.AutoField object at 0x8ed230c>

  self  

  <django.db.models.fields.related.ReverseSingleRelatedObjectDescriptor object at 0x8ed242c>

  db    

  'default'

  instance_type     

  <class 'main.server.models.Post'>

  params    

  {'id__exact': 2024}

  rel_mgr   

  <main.server.models.AllManager object at 0x8f8650c>

  cache_name    

  '_parent_cache'

* /home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/query.py in get
   342.

                if self.query.can_filter():

   343.

                    clone = clone.order_by()

   344.

                num = len(clone)

   345.

                if num == 1:

   346.

                    return clone._result_cache[0]

   347.

                if not num:

   348.

                    raise self.model.DoesNotExist("%s matching query does not exist."

   349.

                            % self.model._meta.object_name)

        ...
   350.

                raise self.model.MultipleObjectsReturned("get() returned more than one %s -- it returned %s! Lookup parameters were %s"

   351.

                        % (self.model._meta.object_name, num, kwargs))

   352.

   353.

            def create(self, **kwargs):

   354.

                """

   355.

                Creates a new object with the given kwargs, saving it to the database

  ▶ Local vars
  Variable  Value
  clone     

  []

  num   

  0

  self  

  [<Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, <Post: Post object>, '...(remaining elements truncated)...']

  args  

  ()

  kwargs    

  {'id__exact': 2024}

Environment: Request Method: POST Request URL: http://test.biostars.org/destroy/post/2023/ Django Version: 1.3.1 Python Version: 2.7.1 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'django.contrib.markup', 'django.contrib.messages', 'django.contrib.admin', 'django.contrib.admindocs', 'main.server', 'django_openid_auth', 'mptt'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'main.middleware.LastVisit', 'main.middleware.PermissionsMiddleware') Traceback: File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/core/handlers/base.py" in get_response 111. response = callback(request, _callback_args, *_callback_kwargs) File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/contrib/auth/decorators.py" in _wrapped_view 23. return view_func(request, _args, *_kwargs) File "/home/ialbert10/webapps/biostar_testing/biostar-central/main/server/action.py" in destroy_post 144. post.delete() File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/base.py" in delete 581. collector.delete() File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/deletion.py" in decorated 63. func(self, _args, *_kwargs) File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/deletion.py" in delete 260. sender=model, instance=obj, using=self.using File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/dispatch/dispatcher.py" in send 172. response = receiver(signal=self, sender=sender, **named) File "/home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py" in unapply_instance 506. instance.apply(-1) File "/home/ialbert10/webapps/biostar_testing/biostar-central/main/server/models.py" in apply 260. is_answer = self.parent and self.type == POST_ANSWER File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/fields/related.py" in get 315. rel_obj = QuerySet(self.field.rel.to).using(db).get(**params) File "/home/ialbert10/webapps/biostar_testing/lib/python2.7/django/db/models/query.py" in get 349. % self.model._meta.object_name) Exception Type: DoesNotExist at /destroy/post/2023/ Exception Value: Post matching query does not exist.

Request information
GET

No GET data
POST

No POST data
FILES

No FILES data
COOKIES
Variable Value
csrftoken

'e0d9af9d4bd76d1b1c5cd4cde062f190'

sessionid

'c8e2c205a6911dc78800842ce72a98e6'

META
Variable Value
mod_wsgi.listener_port

'46930'

HTTP_X_FORWARDED_SERVER

'test.biostars.org'

HTTP_COOKIE

'csrftoken=e0d9af9d4bd76d1b1c5cd4cde062f190; sessionid=c8e2c205a6911dc78800842ce72a98e6'

HTTP_X_FORWARDED_HOST

'test.biostars.org'

mod_wsgi.handler_script

''

SERVER_SOFTWARE

'Apache/2.2.17 (Unix) mod_wsgi/3.3 Python/2.7.1'

SCRIPT_NAME

u''

HTTP_X_CSRFTOKEN

'e0d9af9d4bd76d1b1c5cd4cde062f190'

SERVER_SIGNATURE

''

REQUEST_METHOD

'POST'

PATH_INFO

u'/destroy/post/2023/'

SERVER_PROTOCOL

'HTTP/1.0'

QUERY_STRING

''

CONTENT_LENGTH

'0'

HTTP_ACCEPT_CHARSET

'ISO-8859-1,utf-8;q=0.7,*;q=0.7'

HTTP_USER_AGENT

'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-GB; rv:1.9.2.24) Gecko/20111103 Firefox/3.6.24'

HTTP_CONNECTION

'close'

SERVER_NAME

'test.biostars.org'

REMOTE_ADDR

'127.0.0.1'

mod_wsgi.request_handler

'wsgi-script'

wsgi.url_scheme

'http'

PATH_TRANSLATED

'/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi/destroy/post/2023/'

SERVER_PORT

'80'

wsgi.multiprocess

True

mod_wsgi.input_chunked

'0'

SERVER_ADDR

'127.0.0.1'

DOCUMENT_ROOT

'/usr/local/apache2/htdocs'

mod_wsgi.process_group

'biostar_testing'

HTTP_PRAGMA

'no-cache'

HTTP_X_REQUESTED_WITH

'XMLHttpRequest'

SCRIPT_FILENAME

'/home/ialbert10/webapps/biostar_testing/biostar-central/conf/biostar_test.wsgi'

SERVER_ADMIN

'[no address given]'

wsgi.input

<mod_wsgi.Input object at 0x9282f70>

HTTP_DNT

'1'

HTTP_HOST

'test.biostars.org'

wsgi.multithread

True

mod_wsgi.callable_object

'application'

HTTP_CACHE_CONTROL

'no-cache'

REQUEST_URI

'/destroy/post/2023/'

HTTP_ACCEPT

'application/json, text/javascript, /; q=0.01'

mod_wsgi.listener_host

''

wsgi.version

(1, 1)

GATEWAY_INTERFACE

'CGI/1.1'

HTTP_X_FORWARDED_FOR

'78.143.195.139'

wsgi.errors

<mod_wsgi.Log object at 0x942adb8>

REMOTE_PORT

'56440'

HTTP_ACCEPT_LANGUAGE

'en-gb,en;q=0.5'

mod_wsgi.version

(3, 3)

wsgi.run_once

False

CONTENT_TYPE

'application/x-www-form-urlencoded; charset=UTF-8'

mod_wsgi.application_group

'web192.webfaction.com|'

mod_wsgi.script_reloading

'1'

wsgi.file_wrapper

'*** MISSING ***'

CSRF_COOKIE

'e0d9af9d4bd76d1b1c5cd4cde062f190'

HTTP_ACCEPT_ENCODING

'gzip,deflate'

Settings
Using settings module pg_testing
Setting Value
YEAR_MONTH_FORMAT

'F Y'

USE_L10N

True

TIME_ZONE

'America/Chicago'

LANGUAGE_CODE

'en-us'

ROOT_URLCONF

'main.urls'

MANAGERS

(('Istvan Albert', '[email protected]'),)

DEFAULT_CHARSET

'utf-8'

STATIC_ROOT

'/home/ialbert10/webapps/static_testing'

TEST_DATABASE_CHARSET

None

USE_THOUSAND_SEPARATOR

False

MESSAGE_STORAGE

'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'

DATABASE_HOST

''

EMAIL_SUBJECT_PREFIX

'[Django] '

SEND_BROKEN_LINK_EMAILS

False

URL_VALIDATOR_USER_AGENT

'Django/1.3.1 (http://www.djangoproject.com)'

STATICFILES_FINDERS

('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder')

SESSION_COOKIE_DOMAIN

None

SESSION_COOKIE_NAME

'sessionid'

ADMIN_FOR

()

TIME_INPUT_FORMATS

('%H:%M:%S', '%H:%M')

DATABASES

{'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'web192',
'NAME': 'ialbert10_biostar_test',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '',
'TEST_CHARSET': None,
'TEST_COLLATION': None,
'TEST_MIRROR': None,
'TEST_NAME': None,
'TIME_ZONE': 'America/Chicago',
'USER': 'ialbert10_biostar_test'}}

TEST_DATABASE_NAME

None

FILE_UPLOAD_PERMISSIONS

None

FILE_UPLOAD_HANDLERS

('django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler')

DEFAULT_CONTENT_TYPE

'text/html'

APPEND_SLASH

True

FIRST_DAY_OF_WEEK

0

DATABASE_ROUTERS

[]

WHOOSH_INDEX

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/db/index'

STATICFILES_STORAGE

'django.contrib.staticfiles.storage.StaticFilesStorage'

CACHES

{'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
'LOCATION': 'unique-snowflake'}}

DATABASE_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/db'

TEMPLATE_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/templates'

SERVER_EMAIL

'root@localhost'

SESSION_COOKIE_PATH

'/'

IGNORABLE_404_ENDS

('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')

MIDDLEWARE_CLASSES

('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'main.middleware.LastVisit',
'main.middleware.PermissionsMiddleware')

USE_I18N

True

ALLOW_MIGRATION

True

SECRET_KEY

'********************'

LANGUAGE_COOKIE_NAME

'django_language'

FILE_UPLOAD_TEMP_DIR

None

TRANSACTIONS_MANAGED

False

LOGGING_CONFIG

'django.utils.log.dictConfig'

TEMPLATE_LOADERS

('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader')

NEWBIE_MAX_POSTS_PER_DAY

3

TEMPLATE_DEBUG

True

AUTHENTICATION_BACKENDS

('django_openid_auth.auth.OpenIDBackend',
'django.contrib.auth.backends.ModelBackend')

TEST_DATABASE_COLLATION

None

FORCE_SCRIPT_NAME

None

USE_X_FORWARDED_HOST

False

STATIC_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main/static'

SESSION_COOKIE_SECURE

False

HOME_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/main'

__CURR_DIR

'/home/ialbert10/webapps/biostar_testing/biostar-central/conf'

CSRF_COOKIE_DOMAIN

None

FILE_CHARSET

'utf-8'

DEBUG

True

SESSION_FILE_PATH

None

DEFAULT_FILE_STORAGE

'django.core.files.storage.FileSystemStorage'

INSTALLED_APPS

['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django.contrib.markup',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'main.server',
'django_openid_auth',
'mptt']

LANGUAGES

(('ar', 'Arabic'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('bn', 'Bengali'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('el', 'Greek'),
('en', 'English'),
('en-gb', 'British English'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy-nl', 'Frisian'),
('ga', 'Irish'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hu', 'Hungarian'),
('id', 'Indonesian'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('nl', 'Dutch'),
('no', 'Norwegian'),
('nb', 'Norwegian Bokmal'),
('nn', 'Norwegian Nynorsk'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('vi', 'Vietnamese'),
('zh-cn', 'Simplified Chinese'),
('zh-tw', 'Traditional Chinese'))

DATABASE_ENGINE

''

DATABASE_NAME

'ialbert10_biostar_test'

COMMENTS_FIRST_FEW

0

PREPEND_WWW

False

MINIMUM_REPUTATION

0

SESSION_COOKIE_HTTPONLY

False

DATABASE_PORT

''

DEBUG_PROPAGATE_EXCEPTIONS

False

OPENID_UPDATE_DETAILS_FROM_SREG

True

MONTH_DAY_FORMAT

'F j'

LOGIN_URL

'/openid/login/'

SESSION_EXPIRE_AT_BROWSER_CLOSE

False

PASSWORD_RESET_TIMEOUT_DAYS

'********************'

TIME_FORMAT

'P'

DATE_INPUT_FORMATS

('%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y')

CSRF_COOKIE_NAME

'csrftoken'

EMAIL_HOST_PASSWORD

'********************'

AUTH_PROFILE_MODULE

'server.UserProfile'

CACHE_MIDDLEWARE_ALIAS

'default'

SESSION_SAVE_EVERY_REQUEST

False

ADMIN_MEDIA_PREFIX

'/static/admin/'

NUMBER_GROUPING

0

SESSION_ENGINE

'django.contrib.sessions.backends.db'

CSRF_FAILURE_VIEW

'django.views.csrf.csrf_failure'

COMMENTS_SKETCHY_USERS_GROUP

None

LOGIN_REDIRECT_URL

'/'

LOGGING

{'disable_existing_loggers': False,
'formatters': {'simple': {'format': '%(levelname)s\t%(name)s\t%(funcName)s\t%(asctime)s \t%(message)s'}},
'handlers': {'console': {'class': 'logging.StreamHandler',
'formatter': 'simple',
'level': 'DEBUG'}},
'loggers': {'main.server.auth': {'handlers': ['console'], 'level': 'INFO'},
'main.server.models': {'handlers': ['console'], 'level': 'INFO'},
'main.server.views': {'handlers': ['console'], 'level': 'INFO'}},
'version': 1}

CACHE_MIDDLEWARE_KEY_PREFIX

''

SITE_ID

1

LOCALE_PATHS

()

TEMPLATE_STRING_IF_INVALID

'*** MISSING ***'

COMMENTS_ALLOW_PROFANITIES

False

LOGOUT_URL

'/accounts/logout/'

EMAIL_USE_TLS

False

TEMPLATE_DIRS

('/home/ialbert10/webapps/biostar_testing/biostar-central/main/templates',)

FIXTURE_DIRS

()

EMAIL_HOST

'localhost'

DATE_FORMAT

'N j, Y'

MEDIA_ROOT

'/media/'

ADMINS

(('Istvan Albert', '[email protected]'),)

FORMAT_MODULE_PATH

None

DEFAULT_FROM_EMAIL

'webmaster@localhost'

THOUSAND_SEPARATOR

','

STATICFILES_DIRS

('/home/ialbert10/webapps/biostar_testing/biostar-central/main/static',)

MEDIA_URL

'/home/ialbert10/webapps/static_testing'

DATETIME_FORMAT

'N j, Y, P'

IGNORABLE_404_STARTS

('/cgi-bin/', '/_vti_bin', '/_vti_inf')

GIT_REVISION

'unknown'

DISALLOWED_USER_AGENTS

()

ALLOWED_INCLUDE_ROOTS

()

DECIMAL_SEPARATOR

'.'

SHORT_DATE_FORMAT

'm/d/Y'

DATABASE_USER

''

TEST_RUNNER

'server.tests.runner.BiostarTest'

OPENID_CREATE_USERS

True

OPENID_USE_AS_ADMIN_LOGIN

True

FILE_UPLOAD_MAX_MEMORY_SIZE

2621440

EMAIL_BACKEND

'django.core.mail.backends.smtp.EmailBackend'

DEFAULT_TABLESPACE

''

TEMPLATE_CONTEXT_PROCESSORS

('django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.request',
'django.core.context_processors.static',
'django.contrib.messages.context_processors.messages',
'main.context.extras',
'main.context.popular_tags')

A

<main.settings.A instance at 0x92d572c>

EXPORT_DIR

'/home/ialbert10/webapps/static_testing'

SESSION_COOKIE_AGE

1209600

SETTINGS_MODULE

'pg_testing'

USE_ETAGS

False

LANGUAGES_BIDI

('he', 'ar', 'fa')

DEFAULT_INDEX_TABLESPACE

''

INTERNAL_IPS

('127.0.0.1',)

STATIC_URL

'/static/'

EMAIL_PORT

25

SHORT_DATETIME_FORMAT

'm/d/Y P'

ABSOLUTE_URL_OVERRIDES

{}

DATABASE_OPTIONS

{}

CACHE_MIDDLEWARE_SECONDS

600

BANNED_IPS

()

DATETIME_INPUT_FORMATS

('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M',
'%m/%d/%y')

DATABASE_PASSWORD

'********************'

COMMENTS_MODERATORS_GROUP

None

PROFANITIES_LIST

'********************'

EMAIL_HOST_USER

''

COMMENTS_BANNED_USERS_GROUP

None

Opening a deleted question to look floats it up

I went to look at a question marked [deleted].

First I suppose the initial problem is I can still see it. I'm not designated as a moderator on the new site. But the second issue is that merely opening the question to look at it floats it to the top.

I usually rely on that function to see what's been actively answered recently, not just looked at.

Post styling suggestions

A few things I've noticed while clicking around the new site:

  1. The bookmark icon is where the downvote arrow usually is. A little extra whitespace between the vote score and the bookmark icon would make it more obvious that it's not related to the score.

  2. It'd be nice to hide the accept answer checkmark button unless you are the user who asked the question. No point in showing people options, then scolding them for trying to use them.

  3. The bookmark icon and checkmark are darker grey than the upvote button, which draws your attention away from the upvote. To encourage upvotes and keep consistency, I'd suggest that they should either all be the same shade, or that the upvote should be a little darker

  4. The "accepted answer" checkbox is currently black - It'd be nice if it were a little more eye-catching, so that people can easily see which answer most helped the asker.

Editor inserts extra line breaks

I filled out all fields in the new question except the tags. Click Answer. Get "Please change the tag from default value".

I also marked a part of the question as code.

The question body gets extra line breaks around the code section. Every time I click Answer - more new lines are inserted.

wish: FOAF RDFa support

I would like to request RDFa support to make the software ready for the semantic web, e.g. by starting with FOAF support for the user pages.

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.