binrush / thousands Goto Github PK
View Code? Open in Web Editor NEWSimple flask-based site
Home Page: http://1000.southural.ru/
Simple flask-based site
Home Page: http://1000.southural.ru/
On summits page, add sort by summit name
When unlogged user clicks "Add climb" button, he logs in and redirected to climb form, but it can already have climb on this summit.
Don't output location of user on profile page if it is None
2015-12-25 16:02:14,006 - thousands - ERROR - Exception on /climb/new/50 [POST]
Traceback (most recent call last):
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1817, in ws
gi_app
response = self.full_dispatch_request()
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1477, in fu
ll_dispatch_request
rv = self.handle_user_exception(e)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1381, in ha
ndle_user_exception
reraise(exc_type, exc_value, tb)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1475, in fu
ll_dispatch_request
rv = self.dispatch_request()
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1461, in di
spatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask_Login-0.3.2-py2.7.egg/flask_login.py", line 792,
in decorated_view
return func(*args, **kwargs)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/views.py", line 136, in climb_new
form=f)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/templating.py", line 128,
in render_template
context, ctx.app)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/templating.py", line 110,
in _render
rv = template.render(context)
File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/templates/climb_edit.html", line 1, in top-level template code
{% extends "layout.html" %}
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/templates/layout.html", line 65, in top-level template code
{% block content %}{% endblock %}
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/templates/climb_edit.html", line 10, in block "content"
<li>{{ form[field_name].label }}: {{ error }}</li>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
Wrong image file name when authentcating using vk (see http://1000.southural.ru/user/115 )
When unlogger user presses "Add climb" button on summit pages, and he already has this climb, then after logging it he redirected to climb adding form. But because climb already exists, he gets error after submit.
Climb adding form shouldn't be shown if climb already exists.
Return 404 on non-existent user. Now interface returns 500
When redirect to summits/user page after climb edit, add anchor, to show user his climb in list.
Not all objects from OSM map are added to thunderforest one. So, adding osm layer will be useful.
Instead of duplicating data, just add a link to profile
Add images to climbers table
Change date format to one like this:
1 января 2016
Allow users to edit their profile including photo
Allow user to upload track and automatically detect what summits were visited
Add description meta tag on all pages
2015-12-21 10:34:25,890 - thousands - ERROR - Exception on /login/vk [GET]
Traceback (most recent call last):
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/auth.py", line 70, in vk_login
vk_get_user)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/auth.py", line 87, in oauth_login
raise AuthError(req.args.get('error_description'))
AuthError: User denied your request
2015-12-21 10:34:32,615 - thousands - INFO - New user registration uid=45, src=1, name=****
2015-12-21 10:34:48,704 - thousands - ERROR - Exception on /login/vk [GET]
Traceback (most recent call last):
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/var/lib/openshift/55d5ae9189f5cfa557000085/python/virtenv/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/auth.py", line 70, in vk_login
vk_get_user)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/auth.py", line 94, in oauth_login
user, created = get_user(credentials)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/auth.py", line 159, in vk_get_user
user.id = g.users_dao.create(user)
File "/var/lib/openshift/55d5ae9189f5cfa557000085/app-root/runtime/repo/thousands/dao.py", line 323, in create
user.preview_id))
File "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/psycopg2/extras.py", line 120, in execute
return super(DictCursor, self).execute(query, vars)
IntegrityError: duplicate key value violates unique constraint "users_oauth_id_src_key"
DETAIL: Key (oauth_id, src)=(1573559, 1) already exists.
Storing images in database was a temporary solution. Now we should rewrite it to store and serve them from filesystem.
No ridge in sumit links on map
Allow users to download coordinates for gps navigators
Add field to label main summits of ridges. Display it somehow on UI
Support markdown syntax on climbs comments and "about" field in profile.
Add ogp meta tags to all pages
On summits page, make button with the current sort order inactive
When editing or deleting climb from profile page, user redirected to summit page. User should be redirected to profile page instead.
Climbers with same number of summits should be on one place in top
Change default map layer to something with topo data instead of default osm layer
Register user without image in case of problem with image downloading
In summits table, add column to show number of users climbed specific summit. Allow to sort by this column
Create separate pages for ridges
Before release, we should perform stress test to ensure that site can handle rather many user requests
When there are many menu items in navbar, it incorrectly collapsed on small screens (see http://stackoverflow.com/questions/20012665/disable-bootstrap-3-navbar-going-2-rows-in-medium-viewport-size)
Implement awards system to assign some virtual awards for climbers who reached some results ( 10, 50, 100, 200 summits, all main summits, etc.)
On summit page, add summit number among all summits (by height).
Create some way to authenticate user without using external sites (for development only)
Remove 'location' and 'about' fields from user class/table
Display "Add climb" link to anonymouse users. It should open login dialog and then redirect to climb creation form.
Implement avatar uploading
Make ability to sort on every column with familiar inteface
When adding new summit, coordinates values should be rounded to 5 digits after dot
Create some friendly pages for 404 and 500 errors with links to main page.
User could not remember exact climb date. Interface should allow to choose only year or year and month along with exact date.
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.