ialbert / biostar-central Goto Github PK
View Code? Open in Web Editor NEWBiostar Q&A
Home Page: http://www.biostars.org/
License: MIT License
Biostar Q&A
Home Page: http://www.biostars.org/
License: MIT License
... and do fancy stuff with that information, e.g. preview the PDF front page, have a side widget with info about that paper, like #altmetrics, etc, etc
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.
the verdana font causes that, should be removed css
I was able to post kilobytes of text as comment here: http://biostar.bx.psu.edu/question/show/72/
There should be a server-side limit as well as a JS client side notifier.
There are many links on Biostar like the link http://biostar.stackexchange.com/questions/112/your-favorite-bioinformatics-blog
These will need to be adjusted.
Add verification that replaces empty display names with a generic: User
My current account name is 'BioStar' and I cannot seem to change it...
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.
example In my profile: http://test.biostars.org/user/profile/30/
the parsed url is http://twitter.com it should be http://twitter.com/yokofakun
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.
fd31af50dc1 introduces a bug.
I get
Caught ViewDoesNotExist while rendering: Tried newpost in module biostar.server.views. Error was: 'module' object has no attribute 'newpost'
In /templates/openid/login.html, error at line 6
every time when I click on:
http://localhost:8080/openid/login/
or
http://localhost:8080/newquestion/
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)
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': ''}
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
unable to see the markdown textbox
Example answer with comments here
The newest comments appear at the top, which throws off the flow of the conversation
When creating a new question or editing an old one similar tags should be offered to reduce the proliferation of similar tags
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!
the side box uses (green text) uses up a lot of valuable space, it should be there only for unregistered users
I went into this post/question several times to do things. I separated them with line breaks. But they are not maintained when I submit.
http://test.biostars.org/post/show/533/can-you-determine-software-version-numbers-for-galaxy-tools/
It all gets mashed in to a big paragraph.
This is FF8 on a PC if it matters.
When I try to leave a comment on an answer I get:
Question matching query does not exist.
It should be possible to filter by multiple tags like so:
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".
I can make comments that are effectively below 15 characters by adding trailing whitespace. Perhaps the string should be right-trimmed?
When I put some code into a the editor and try to mark it as code. Only the first line gets marked.
I will try to fix this bug late tonight.
Upon first import the field may be wildly incorrect.
Not urgent, not functionality issue: I just miss the tag cloud/list on the main landing page. It's handy.
In order to avoid duplicate questions, BioStar needs to analyze the title and text and suggest related questions.
Quotations get > instead.
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.
When I move my mouse over the tags - the width gets changed causing shifts making the whole tag list "shake"
I'm not sure when this stopped working but I will fix it in a few days
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
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.
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.
Users should be able to bookmark both questions and answers
The preview does not update automatically, and post title and content do not select everything once you click them.
I have an idea on how to do that cleanly. I would like to implement that in a few days.
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
If I go from the homepage to tools > all moderator actions I see a list of e.g.:
X hrs ago • user Y
used Delete on question Z
.
If I click on question Z
and go back to the homepage, this deleted question now appears at the top of the question queue.
Especially useful for testing
Click Ask Question and delete all text in the Tags box. There will be a validation message that the Tags string is required but the textbox will not be there anymore.
Screenshot (notice that there is no tags box): http://www.freeimagehosting.net/8dddf
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.
A few things I've noticed while clicking around the new site:
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.
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.
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
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.
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.
I've been able to give mysely negative reputation by downvoting while I have 0 rep.
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.
There is no information whether we should use a comma tio delimit the tags
New answers are fine, old answers seem to be counted twice (probably a django model signal gets tripped twice).
caused by: migrate.py
I upvoted an answer, then downvoted it, then upvoted it again. My "accidental" downvote still cost me 1 rep.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.