schnouki / bccc Goto Github PK
View Code? Open in Web Editor NEWbuddycloud console client
buddycloud console client
$ sudo apt-get install python3-setuptools
[sudo] password for tkoski:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libdb5.1 python3 python3-minimal python3-pkg-resources python3.2
python3.2-minimal
Suggested packages:
python3-doc python3-tk python3-profiler python3.2-doc python3.2-profiler
The following NEW packages will be installed:
libdb5.1 python3 python3-minimal python3-pkg-resources python3-setuptools
python3.2 python3.2-minimal
0 upgraded, 7 newly installed, 0 to remove and 7 not upgraded.
Need to get 6,818 kB of archives.
After this operation, 24.8 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://fr.archive.ubuntu.com/ubuntu/ natty/main libdb5.1 amd64 5.1.19-2ubuntu1 [702 kB]
Get:2 http://fr.archive.ubuntu.com/ubuntu/ natty-updates/main python3.2-minimal amd64 3.2-1ubuntu1.1 [1,821 kB]
Get:3 http://fr.archive.ubuntu.com/ubuntu/ natty-updates/main python3.2 amd64 3.2-1ubuntu1.1 [4,082 kB]
Get:4 http://fr.archive.ubuntu.com/ubuntu/ natty/main python3-minimal all 3.2-1ubuntu1 [12.1 kB]
Get:5 http://fr.archive.ubuntu.com/ubuntu/ natty/main python3 all 3.2-1ubuntu1 [33.1 kB]
Get:6 http://fr.archive.ubuntu.com/ubuntu/ natty/main python3-pkg-resources all 0.6.15-1ubuntu1 [31.8 kB]
Get:7 http://fr.archive.ubuntu.com/ubuntu/ natty/main python3-setuptools all 0.6.15-1ubuntu1 [136 kB]
Fetched 6,818 kB in 10s (622 kB/s)
Selecting previously deselected package libdb5.1.
(Reading database ... 264052 files and directories currently installed.)
Unpacking libdb5.1 (from .../libdb5.1_5.1.19-2ubuntu1_amd64.deb) ...
Selecting previously deselected package python3.2-minimal.
Unpacking python3.2-minimal (from .../python3.2-minimal_3.2-1ubuntu1.1_amd64.deb) ...
Selecting previously deselected package python3.2.
Unpacking python3.2 (from .../python3.2_3.2-1ubuntu1.1_amd64.deb) ...
Selecting previously deselected package python3-minimal.
Unpacking python3-minimal (from .../python3-minimal_3.2-1ubuntu1_all.deb) ...
Selecting previously deselected package python3.
Unpacking python3 (from .../python3_3.2-1ubuntu1_all.deb) ...
Selecting previously deselected package python3-pkg-resources.
Unpacking python3-pkg-resources (from .../python3-pkg-resources_0.6.15-1ubuntu1_all.deb) ...
Selecting previously deselected package python3-setuptools.
Unpacking python3-setuptools (from .../python3-setuptools_0.6.15-1ubuntu1_all.deb) ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for python-support ...
Setting up libdb5.1 (5.1.19-2ubuntu1) ...
Setting up python3.2-minimal (3.2-1ubuntu1.1) ...
Setting up python3.2 (3.2-1ubuntu1.1) ...
Setting up python3-minimal (3.2-1ubuntu1) ...
Setting up python3 (3.2-1ubuntu1) ...
running python rtupdate hooks for python3.2...
running python post-rtupdate hooks for python3.2...
Setting up python3-pkg-resources (0.6.15-1ubuntu1) ...
Setting up python3-setuptools (0.6.15-1ubuntu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
$ sudo easy_install3 urwid sleekxmpp python-dateutil dnspython3
Searching for urwid
Reading http://pypi.python.org/simple/urwid/
Reading http://excess.org/urwid/
Best match: urwid 1.0.1
Downloading http://excess.org/urwid/urwid-1.0.1.tar.gz
Processing urwid-1.0.1.tar.gz
Running urwid-1.0.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ch7l0a/urwid-1.0.1/egg-dist-tmp-gbgm95
source/str_util.c:25:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1
$ bccc
Traceback (most recent call last):
File "/usr/local/bin/bccc", line 5, in
pkg_resources.run_script('bccc==0.0.1', 'bccc')
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 467, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1200, in run_script
exec(compile(open(script_filename).read(), script_filename, 'exec'), namespace, namespace)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/EGG-INFO/scripts/bccc", line 70, in
ui.run()
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/ui.py", line 101, in run
self.loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 274, in run
self.screen.run_wrapper(self._run)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/raw_display.py", line 237, in run_wrapper
return fn()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 307, in _run
self.event_loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 682, in run
self._loop()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 720, in _loop
self._watch_filesfd
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 187, in cb
rval = callback(data)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/ui.py", line 135, in _handle_callback
func(_args, *_kwargs)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/sidebar.py", line 87, in pubsub_posts_callback
self.ui.threads_list.add_new_items(atoms)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/thread.py", line 311, in add_new_items
self.content.add(item)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/thread.py", line 197, in add
thr[0] = PostWidget(item)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/item.py", line 87, in init
text = post.content
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/client/atom.py", line 55, in content
text = self.get_child("content").text
AttributeError: 'NoneType' object has no attribute 'text'
This is dodo's idea, and I like it:
make it possible to run bccc as a shell such that users can ssh into [email protected] and log-in for a quick text-mode fix.
S.
bccc
Traceback (most recent call last):
File "/usr/local/bin/bccc", line 5, in
pkg_resources.run_script('bccc==0.0.1', 'bccc')
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 467, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1200, in run_script
exec(compile(open(script_filename).read(), script_filename, 'exec'), namespace, namespace)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/EGG-INFO/scripts/bccc", line 22, in
import bccc.client, bccc.ui
ImportError: No module named client
I just configured new bccc installation to my machine.
Of course I did a typo in the username so the machine did not connect to the right server.
Should the "log in workflow" be a bit more verbose? What do you think?
There should be a simple shortcut to follow/unfollow a channel.
I try to change my status (being on my channel, i press 'S', type new status "Allez les Bleus", I press "enter") and bccc crashes. This is the output:
$ bccc
Traceback (most recent call last):
File "/usr/local/bin/bccc", line 7, in
exec(compile(open(file).read(), file, 'exec'))
File "/home/tkoski/tmp/bccc/bin/bccc", line 97, in
ui.run()
File "/home/tkoski/tmp/bccc/bccc/ui/ui.py", line 101, in run
self.loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 274, in run
self.screen.run_wrapper(self._run)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/raw_display.py", line 237, in run_wrapper
return fn()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 307, in _run
self.event_loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 682, in run
self._loop()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 720, in _loop
self._watch_filesfd
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 358, in _update
self.process_input(keys)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 447, in process_input
k = self._topmost_widget.keypress(self.screen_size, k)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/container.py", line 629, in keypress
return self.footer.keypress((maxcol,),key)
File "/home/tkoski/tmp/bccc/bccc/ui/util.py", line 91, in keypress
log.debug("Status bar answer: %s", self.edit.edit_text)
AttributeError: 'SmartStatusBar' object has no attribute 'edit'
When I post a new message to a channel, the view does not "scroll up".
It took me a moment to realize what happened so I thought first that it was a bug that the new messages were not displayed.
I need to "scroll up manually". Could it be done automatically?
There should be an indication that a channel is private instead of just showing it as empty. It should also be possible to try to follow it (#10).
$ bccc
Traceback (most recent call last):
File "/usr/local/bin/bccc", line 5, in
pkg_resources.run_script('bccc==0.0.1', 'bccc')
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 467, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1200, in run_script
exec(compile(open(script_filename).read(), script_filename, 'exec'), namespace, namespace)
File "/usr/local/lib/python3.1/dist-packages/bccc-0.0.1-py3.1.egg/EGG-INFO/scripts/bccc", line 39, in
if "log" in conf and "filename" in conf["log"] and len(conf["log"]["filename"]) > 0:
TypeError: argument of type 'ConfigParser' is not iterable
If logging in with a wrong password, the only displayed message is
[ERROR] No appropriate login method.
[ERROR] Can not read from closed socket.
There should be something more explicit...
I'm using Ubuntu
08:24:39 [zbrown] ~/Desktop/bccc/bccc/bccc$ uname -a
Linux zbrown-desktop 3.0.0-12-generic-pae #20-Ubuntu SMP Fri Oct 7 16:37:17 UTC 2011 i686 i686 i386 GNU/Linux
08:30:09 [zbrown] ~/Desktop/bccc/bccc/bccc$
I followed the instructions on https://github.com/Schnouki/bccc to build and install bccc. But when I run it, I get the following error:
06:34:23 [zbrown] ~/Desktop/bccc/bccc/bccc$ bccc
Traceback (most recent call last):
File "/usr/local/bin/bccc", line 5, in
pkg_resources.run_script('bccc==0.0.1', 'bccc')
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 499, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1236, in run_script
exec(compile(open(script_filename).read(), script_filename, 'exec'), namespace, namespace)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/EGG-INFO/scripts/bccc", line 70, in
ui.run()
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/ui.py", line 101, in run
self.loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-i686.egg/urwid/main_loop.py", line 274, in run
self.screen.run_wrapper(self._run)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-i686.egg/urwid/raw_display.py", line 237, in run_wrapper
return fn()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-i686.egg/urwid/main_loop.py", line 307, in _run
self.event_loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-i686.egg/urwid/main_loop.py", line 682, in run
self._loop()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-i686.egg/urwid/main_loop.py", line 720, in _loop
self._watch_filesfd
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-i686.egg/urwid/main_loop.py", line 187, in cb
rval = callback(data)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/ui.py", line 135, in _handle_callback
func(_args, *_kwargs)
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/sidebar.py", line 76, in pubsub_posts_callback
if atom_pub > self.most_recent_activity:
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/util.py", line 33, in utcoffset
if self._isdst(dt):
File "/usr/local/lib/python3.2/dist-packages/bccc-0.0.1-py3.2.egg/bccc/ui/util.py", line 51, in _isdst
stamp = time.mktime(tt)
OverflowError: mktime argument out of range
08:24:32 [zbrown] ~/Desktop/bccc/bccc/bccc$
schnouki@odin % LC_ALL=C bccc
Traceback (most recent call last):
File "/usr/bin/bccc", line 7, in <module>
exec(compile(open(__file__).read(), __file__, 'exec'))
File "/home/schnouki/dev/bccc/bin/bccc", line 60, in <module>
if not client.connect():
File "/usr/lib/python3.2/site-packages/sleekxmpp/clientxmpp.py", line 143, in connect
reattempt=reattempt)
File "/usr/lib/python3.2/site-packages/sleekxmpp/xmlstream/xmlstream.py", line 387, in connect
func=self._connect)
File "/usr/lib/python3.2/site-packages/sleekxmpp/thirdparty/statemachine.py", line 68, in transition
func=func, args=args, kwargs=kwargs)
File "/usr/lib/python3.2/site-packages/sleekxmpp/thirdparty/statemachine.py", line 106, in transition_any
return_val = func(*args,**kwargs) if func is not None else True
File "/usr/lib/python3.2/site-packages/sleekxmpp/xmlstream/xmlstream.py", line 398, in _connect
self.address[1])
File "/usr/lib/python3.2/site-packages/sleekxmpp/xmlstream/xmlstream.py", line 838, in pick_dns_answer
self.dns_answers = self.get_dns_records(domain, port)
File "/usr/lib/python3.2/site-packages/sleekxmpp/clientxmpp.py", line 157, in get_dns_records
for answer in dns.resolver.query(record, dns.rdatatype.SRV):
File "/usr/lib/python3.2/site-packages/dns/resolver.py", line 890, in query
return get_default_resolver().query(qname, rdtype, rdclass, tcp, source,
File "/usr/lib/python3.2/site-packages/dns/resolver.py", line 879, in get_default_resolver
default_resolver = Resolver()
File "/usr/lib/python3.2/site-packages/dns/resolver.py", line 448, in __init__
self.read_resolv_conf(filename)
File "/usr/lib/python3.2/site-packages/dns/resolver.py", line 485, in read_resolv_conf
for l in f:
File "/usr/lib/python3.2/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 42: ordinal not in range(128)
For some reason abmar (guess' first in the alphabet) is my personal channel in the client:
https://www.dropbox.com/s/dgpikufvbo6wg5v/Screen%20Shot%202012-11-28%20at%2016.37.18.png
Installation fails if python3-dev package is not installed. Maybe this should be mentioned in the instructions?
light grey on white makes it difficult to read:
http://dl.dropbox.com/u/54968646/screenshots/Screen%20Shot%202012-06-08%20at%2021.22.02.png
bccc$ bccc
Traceback (most recent call last):
File "/usr/local/bin/bccc", line 8, in
exec(compile(open(file).read(), file, 'exec'))
File "/home/tkoski/tmp/bccc/bin/bccc", line 97, in
ui.run()
File "/home/tkoski/tmp/bccc/bccc/ui/ui.py", line 101, in run
self.loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 274, in run
self.screen.run_wrapper(self._run)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/raw_display.py", line 237, in run_wrapper
return fn()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 307, in _run
self.event_loop.run()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 682, in run
self._loop()
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 720, in _loop
self._watch_filesfd
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 358, in _update
self.process_input(keys)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/main_loop.py", line 447, in process_input
k = self._topmost_widget.keypress(self.screen_size, k)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/container.py", line 641, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/container.py", line 1390, in keypress
key = w.keypress( (mc,)+size[1:], key )
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/container.py", line 641, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "/home/tkoski/tmp/bccc/bccc/ui/thread.py", line 365, in keypress
key = super().keypress(size, key)
File "/usr/local/lib/python3.2/dist-packages/urwid-1.0.1-py3.2-linux-x86_64.egg/urwid/listbox.py", line 764, in keypress
key = focus_widget.keypress((maxcol,),key)
File "/home/tkoski/tmp/bccc/bccc/ui/util.py", line 41, in keypress
self.validate()
File "/home/tkoski/tmp/bccc/bccc/ui/item.py", line 168, in validate
return super().validate(_args, in_reply_to=self.thread_id, *_kwds)
File "/home/tkoski/tmp/bccc/bccc/ui/item.py", line 151, in validate
self.channel.publish(text, _args, *_kwds)
File "/home/tkoski/tmp/bccc/bccc/client/channel.py", line 245, in publish
res = self.client.ps.publish(self.client.channels_jid, node, payload=entry)
File "/usr/local/lib/python3.2/dist-packages/sleekxmpp-1.0-py3.2.egg/sleekxmpp/plugins/xep_0060/pubsub.py", line 340, in publish
return iq.send(block=block, callback=callback, timeout=timeout)
File "/usr/local/lib/python3.2/dist-packages/sleekxmpp-1.0-py3.2.egg/sleekxmpp/stanza/iq.py", line 205, in send
raise IqError(result)
sleekxmpp.exceptions.IqError
I can reproduce this.
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.