othernet-project / broadcast-portal Goto Github PK
View Code? Open in Web Editor NEWWeb interface for broadcasting content on Outernet
License: GNU General Public License v3.0
Web interface for broadcasting content on Outernet
License: GNU General Public License v3.0
Deletion should transfer the item to a separate table for record-keeping, not remove the record.
/accounts/reset-password/
Typo: Confirm bew password
When using utility commands, application breaks on unknown commands. It should instead show an error message, and usage, then quit.
Since the 404 page uses the same code as any other handler, I believe all other error pages are broken as well.
Critical error while processing request: /foo/
Error:
AttributeError("Attribute 'user' not defined.",)
Traceback:
Traceback (most recent call last):
File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 954, in wsgi
out = self._cast(self._handle(environ))
File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 907, in _cast
out = self.error_handler.get(out.status_code, self.default_error_handler)(out)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/bottle_utils/ajax.py", line 72, in wrapper
return templ(tpl_name, **tplvars)
File "/home/hajime/code/uplink/broadcast/util/template.py", line 31, in template
return render(template, ctx)
File "/home/hajime/code/uplink/broadcast/util/template.py", line 23, in render
return template.render(**final_ctx)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/template.py", line 445, in render
return runtime._render(self, self.callable_, args, data)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 829, in _render
**_kwargs_for_callable(callable_, data))
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 864, in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 890, in _exec_template
callable_(context, *args, **kwargs)
File "/tmp/broadcast-view-cache/_base.mako.py", line 74, in render_body
context['self'].top(**pageargs)
File "/tmp/broadcast-view-cache/_inner.mako.py", line 67, in render_top
if request.user.is_guest:
File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 1394, in __getattr__
raise AttributeError('Attribute %r not defined.' % name)
AttributeError: Attribute 'user' not defined.
This step would provide users with the opportunity to communicate how the content can be used after it is delivered over the datacast. This metadata would then be visible in Librarian. I recommend this as an optional step, following YouTube's lead.
The title of each file should be a link, which displays the content in the browser (assuming that the browser can render the file type).
Insert text below UPLOAD button that states:
By uploading, I confirm that I am authorized to distribute this file.
Content guidelines can be found here: https://outernet.is/content-guidelines
Check boxes are unnecessary interruptions. Include text below Sign Up button:
"By signing up for an account, you agree to our Terms."
https://filecaster.outernet.is/queue/ requires me to be logged in to see the list.
Long file names wrap in a weird way.
In particular:
This is a point of friction. Let's change it to:
Are you authorized to share this content?
Even though the status route is not exactly expensive, switching it to websockets will solve other issues in the UI code and remove some of the race conditions that arise from polling on a timer.
Just a port from the Seagull project.
Success pages are unnecessary. The user should just be taken to where they wanted to go.
Items with an extremely negative vote balance should be automatically removed (possibly moved to a separate table for record-keeping).
The column should contain the last update timestamp and be bumped when the items is modified in any way:
The last_update timestamp should be bumped to the highest value of the update column across the table.
Right now, the user is only able to download the file. The easiest way to allow a user to view the file is by rendering it in a new tab.
Change the progress through the uplink wizard by implementing the following:
After I upload content, I want to click on vote, but am unable to.
See googleapis/oauth2client#401 for details.
As a work around install version 1.5.2 with pip install oauth2client==1.5.2
.
When a file is uplinked, the file should be stored in google drive and a spreadsheet should be updated with details of the uploaded file + link to the file on drive.
Or log it in Slack
At top of page and in all other locations.
A user told me that he missed the Upload button and submitted without uploading anything. He makes a good point.
Each item should include a button for reporting abuse. For 3.0 milestone, this can be a simple mailto: link with subject line that identifies the file (e.g., content ID).
Also requires Outernet-Project/OIcons#1
Since broadcast-portal is open-source, and we cannot include the fonts, an external skin is needed that includes the correct fonts.
http://hayavuk.hopto.org:8888/queue/
The icons should be: pencil --> check --> satellite
In particular, the form handling is not working correctly because the forms has been changed.
Traceback (most recent call last):
File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 922, in _cast
iout = iter(out)
File "/home/hajime/code/bottle-streamline/streamline/base.py", line 195, in __iter__
self.create_response()
File "/home/hajime/code/bottle-streamline/streamline/template.py", line 117, in create_response
super(XHRPartialRoute, self).create_response()
File "/home/hajime/code/bottle-streamline/streamline/template.py", line 95, in create_response
self.body = self.render_template()
File "/home/hajime/code/bottle-streamline/streamline/template.py", line 80, in render_template
return fn(template, ctx)
File "/home/hajime/code/uplink/broadcast/util/template.py", line 23, in render
return template.render(**final_ctx)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/template.py", line 445, in render
return runtime._render(self, self.callable_, args, data)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 829, in _render
**_kwargs_for_callable(callable_, data))
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 864, in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 890, in _exec_template
callable_(context, *args, **kwargs)
File "/tmp/broadcast-view-cache/_base.mako.py", line 52, in render_body
__M_writer(filters.html_escape(unicode(assets['css/main'])))
File "/home/hajime/code/uplink/broadcast/appconf/assets.py", line 110, in __getitem__
return self.get(name)
File "/home/hajime/code/uplink/broadcast/appconf/assets.py", line 107, in get
return self.env[name].urls()[0]
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 787, in urls
urls.extend(bundle._urls(new_ctx, extra_filters, *args, **kwargs))
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 746, in _urls
*args, **kwargs)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 590, in _build
if ctx.updater else True
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/updater.py", line 173, in needs_rebuild
super(TimestampUpdater, self).needs_rebuild(bundle, ctx) or \
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/updater.py", line 103, in needs_rebuild
return self.check_bundle_definition(bundle, ctx)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/updater.py", line 92, in check_bundle_definition
current_hash = "%s" % hash_func(bundle)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/utils.py", line 48, in hash_func
return make_md5(data)
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/cache.py", line 84, in make_md5
for d in walk(data):
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/cache.py", line 61, in walk
for d in walk(item): yield d
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/cache.py", line 75, in walk
for i in walk(obj.id()):
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 341, in id
bool(self.debug)))
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/utils.py", line 47, in hash_func
from .cache import make_md5
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/gevent/builtins.py", line 88, in __import__
module_lock = __module_lock(args[0]) # Get a lock for the module name
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/gevent/builtins.py", line 60, in __module_lock
lock = RLock()
File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/gevent/lock.py", line 193, in __init__
self._block = Semaphore(1)
File "gevent/_semaphore.py", line 30, in gevent._semaphore.Semaphore.__init__ (gevent/gevent._semaphore.c:1087)
if value < 0:
RuntimeError: maximum recursion depth exceeded in cmp
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.