Current situation

150 views
Skip to first unread message

Wil Alvarez

unread,
Jun 18, 2013, 5:41:50 PM6/18/13
to turpi...@googlegroups.com

Hi everyone,

First, I want to thank you all for taking the time to report all the issues with Turpial 1.6.9 and try to find a fix. Let me clarify a little bit the current situation.

Turpial 1.6.9 is no working anymore because of the new Twitter API version. I should implement support for the API 1.1 but honestly I don't want to do it on 1.6.9 (in fact, I don't want to support that version anymore)

Why? Well, because of the greater things that can be achieved with libturpial.

Ok but, where is this amazing library and why it has been taking so long to see the light? I've been working with libturpial to make some cool refactors and add support for Twitter API 1.1 but I got lot of problems. Among them, a very annoying memory leak that took me more than two months to fix and when I thought I was done I started to have issues with OAuth. I wrote on Twitter forum [1] to see if I got some answer but got nothing. It was a very frustrating situation (I even thought in give up) but before taking any action I decided to give it one more shot. So, I tested yesterday and with no apparent explanation everything worked, like magic, without reason, without changes on source code. Shit happens. Finally, I've decided to continue with the project.

Why I don't use an existing library for twitter? Because since the beginning of the times, libturpial has been designed to support multiple accounts, multiple protocols, multiple columns and a lot of more features that make the programmers life better and there is no library that let you do such things at the moment. Maybe it was a very ambitious concept and probably I'm failing on the same errors than the GNU Hurd kernel but well, nobody said it would be easy.

So, taking this decision let me just a short period of time to develop a new version of Turpial that fixes the API support issue and implement more functionalities so it would be nice to get some help. Any help will be really appreciated, this will be my last try to rescue Turpial and if I can't make it I'll give up.

What needs to be done?
* Tinker with libturpial, understand it and use it.
* Build a Qt interface with multiple columns and multiple account support.
* Enjoy of fortune and fame. Actually, no fortune. Emm... Neither fame. Well just enjoy of building something for the people :P

I will create issues on github to track pending tasks and I'll do my best to deliver (finally) a new release of Turpial. If you want to collaborate and have doubts, just ask, I'll answer any doubt gladly. Post a new thread, send me a mail, talk to me on Twitter or whatever you want.

Thanks for your attention and your support

[1] https://dev.twitter.com/discussions/17918

--
“Yo construyo Soberanía, uso Software Libre”
Wil A. Alvarez
Linux Counter #415026
Debian Counter #259
http://turpial.org.ve
http://damncorner.blogspot.com/

Oliver Rivas

unread,
Jun 20, 2013, 2:06:57 AM6/20/13
to turpi...@googlegroups.com
Noobish question and a bit off-topic.

I have started to mess with python and have written some simple scripts that interact with twitter through python-twitter [1]. Where should I start if I wanted to play with libturpial? How do I install it, documentation, etc..?  ... 

Just realized all the answers to my questions were on https://github.com/satanas/libturpial but could I see some code that show how to a simple status update? sort like "hello word" kinda thing.

Being a noob to python for me some to understand which libraries I need to call (or how to) and some minor syntax stuff. I have (unpublished) some piece of python code that will determine when is best for one to tweet. My goal is to incorporate these as plugins (and learn python... so it is going to be a long way). 




--
Has recibido este mensaje porque estás suscrito al grupo "Turpial-Dev" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a turpial-dev...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Wil Alvarez

unread,
Jun 20, 2013, 9:30:47 AM6/20/13
to turpi...@googlegroups.com
2013/6/20 Oliver Rivas <orv...@orvtech.com>
Noobish question and a bit off-topic.

I have started to mess with python and have written some simple scripts that interact with twitter through python-twitter [1]. Where should I start if I wanted to play with libturpial? How do I install it, documentation, etc..?  ... 

Just realized all the answers to my questions were on https://github.com/satanas/libturpial but could I see some code that show how to a simple status update? sort like "hello word" kinda thing.

Being a noob to python for me some to understand which libraries I need to call (or how to) and some minor syntax stuff. I have (unpublished) some piece of python code that will determine when is best for one to tweet. My goal is to incorporate these as plugins (and learn python... so it is going to be a long way). 


 
Hi Oliver,

Yesterday I was working with libturpial and after all the changes I did, the documentation on the source code is not up-to-date, actually I've an issue created [1] to start updating doc when all changes are done. However I can guide you through a very simple step that will let you play a little bit with libturpial. Let's begin:

* First, clone my personal libturpial repo [2] and go to the development branch
* Install libturpial in development mode (for more information use [3] as reference):

# python setup.py develop

Now you need start coding. First, you need an account instance:

from libturpial.api.models.account import *
a = Account.new('twitter')

That way you have an empty twitter account. After this, you need to authenticate with OAuth, let's ask for a request_token:

url = a.request_oauth_access()
print url

There you will see an url, open it in your browser, authorize Turpial and copy the pin. Then:

a.authorize_oauth_access('1234567')

Where '1234567' is the pin returned by Twitter. Now we have a fully functional twitter account (but just in memory). If you want to save your credentials on disk use:

a.save()

Let's suppose that you close Python terminal and at the next day you want to test libturpial. Well, you won't need to repeat all this process just load your account and you're done:

from libturpial.api.models.account import *
a = Account.load('youruser-twitter')

libturpial handles all account ids as "user-protocol", so it's easy to guess which is the id for any account. All the information is stored in ~/.config/turpial/accounts. Take a look if you want. Try any method you see in [4] to fetch timeline, directs, etc.

That is not all. The final way to use libturpial will be through core.py module, which is responsible for handle multiple accounts, columns and all that stuff. However it is under heavy development and it will be changing a lot. When core be more stable I can post some instructions to use it.

It would be nice too create a page in the development section at the Wiki [5] with this kind of information, I hope somebody could help with this.

Well, that's all for the moment. Just let me know if you have any issue testing and I'll help you gladly

Best regards


Eduard Lucena

unread,
Jun 20, 2013, 11:24:23 AM6/20/13
to turpi...@googlegroups.com
I can help with wiki edition, just give me an account to do it.


2013/6/20 Wil Alvarez <wil.al...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "Turpial-Dev" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a turpial-dev...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
=======================
             Eduard Lucena
          Cel:=0424-5216478
     GNU/Linux User #403161
          Ubuntu User #8749
=======================

Andre Jaenisch

unread,
Jun 20, 2013, 2:41:59 PM6/20/13
to turpi...@googlegroups.com
Am Donnerstag, 20. Juni 2013 15:30:47 UTC+2 schrieb Wil Alvarez:
Hi Oliver,

Yesterday I was working with libturpial and after all the changes I did, the documentation on the source code is not up-to-date, actually I've an issue created [1] to start updating doc when all changes are done. However I can guide you through a very simple step that will let you play a little bit with libturpial. Let's begi

Sounds pretty easy.
Would it be possible to define the API at the moment? That is, which format (JSON, Arrays, Dictionaries etc.) expect some other functions and so on.
Oh, and is the suffix "-twitter" mandatory? I've read the example as, well, an example. So I thought I could simply ignore the -twitter.

Can the documentation be recreated via Sphinx?

One last thing: Python 2.7 or, say, 3.3?

Wil Alvarez

unread,
Jun 20, 2013, 3:55:26 PM6/20/13
to turpi...@googlegroups.com
Andre, 

2013/6/20 Andre Jaenisch <andrej...@googlemail.com>
Am Donnerstag, 20. Juni 2013 15:30:47 UTC+2 schrieb Wil Alvarez:
Hi Oliver,

Yesterday I was working with libturpial and after all the changes I did, the documentation on the source code is not up-to-date, actually I've an issue created [1] to start updating doc when all changes are done. However I can guide you through a very simple step that will let you play a little bit with libturpial. Let's begi

Sounds pretty easy.
Would it be possible to define the API at the moment? That is, which format (JSON, Arrays, Dictionaries etc.) expect some other functions and so on.

Of course, would you like to open a new thread to start discussing this?
 
Oh, and is the suffix "-twitter" mandatory? I've read the example as, well, an example. So I thought I could simply ignore the -twitter.

Yep, right now is mandatory because is the way libturpial can identify if the account belongs to twitter, identica or any other service. It's part of the account id can't be ignored at the moment. Probably we could work in a better way of do this.

 
Can the documentation be recreated via Sphinx?

Totally! The current documentation is under Sphinx format ;)

 
One last thing: Python 2.7 or, say, 3.3?

Python 3.3 is a must but not right now. I think that we should make it work first, so let's go with Python 2.7. When we are done with the first stable release we could start to porting to Python 3.3

Sounds fair to you?

Andre Jaenisch

unread,
Jun 22, 2013, 5:20:12 AM6/22/13
to turpi...@googlegroups.com
Am Dienstag, 18. Juni 2013 23:41:50 UTC+2 schrieb Wil Alvarez:

What needs to be done?

* Tinker with libturpial, understand it and use it.
* Build a Qt interface with multiple columns and multiple account support.
* Enjoy of fortune and fame. Actually, no fortune. Emm... Neither fame. Well just enjoy of building something for the people :P


Oh, yeah, fortune and fame ... Will we get at least a gold star (or bird)? ^.^
As far as I understand the current partition, Turpial.git is responsible for the view (e.g. Qt, GTK3, ncurses), whereas libturpial is the model (handling requests and so on). I've read your blog post why you dislike GTK. Is it though possible, to have a dynamically defined layout? Say, the choice between one, two or three columns. For me, I'd prefer Timeline+Mentions.
Shall I start a new thread for this?

I will create issues on github to track pending tasks and I'll do my best to deliver (finally) a new release of Turpial. If you want to collaborate and have doubts, just ask, I'll answer any doubt gladly. Post a new thread, send me a mail, talk to me on Twitter or whatever you want.

Links, please. To GitHub, mailto and Twitter account (shorter way to get in touch.)
 

Thanks for your attention and your support

May you edit your post to place the links like in your blog post, too? 

Andre Jaenisch

unread,
Jun 22, 2013, 5:24:31 AM6/22/13
to turpi...@googlegroups.com
Am Donnerstag, 20. Juni 2013 21:55:26 UTC+2 schrieb Wil Alvarez:
Andre, 

2013/6/20 Andre Jaenisch <andrej...@googlemail.com>
Would it be possible to define the API at the moment? That is, which format (JSON, Arrays, Dictionaries etc.) expect some other functions and so on.

Of course, would you like to open a new thread to start discussing this?

Ehm, wait a minute. I do. But joining my wife's birthday party this weekend, so no further contributions ;-)
 
Oh, and is the suffix "-twitter" mandatory? I've read the example as, well, an example. So I thought I could simply ignore the -twitter.

Yep, right now is mandatory because is the way libturpial can identify if the account belongs to twitter, identica or any other service. It's part of the account id can't be ignored at the moment. Probably we could work in a better way of do this.

What about placing this information in the [section] of .cfg file? One can determine which [section] to choose on login. Sounds more intuitively. Or are there shared information between twitter and identi.ca / pump.io? Have no account on the latter ...
 
Can the documentation be recreated via Sphinx?

Totally! The current documentation is under Sphinx format ;)

 
One last thing: Python 2.7 or, say, 3.3?

Python 3.3 is a must but not right now. I think that we should make it work first, so let's go with Python 2.7. When we are done with the first stable release we could start to porting to Python 3.3

Sounds fair to you?
Yepp, it does. Although I prefer the "latest and greatest" (hence using Sabayon Linux based on Gentoo testing) I'm familiar with Python 2.7 (will make Debian users happy, I guess :))

Wil Alvarez

unread,
Jul 9, 2013, 10:32:51 PM7/9/13
to turpi...@googlegroups.com
2013/6/20 Eduard Lucena <eduard...@gmail.com>
I can help with wiki edition, just give me an account to do it.

Hi Eduard,

I tried to create your account and suddenly I noticed that somebody (presumably a bot) created more than 40.000 user accounts and we run out of space to create more. I'll try to fix this situation ASAP, however if somebody has worked with mediawiki before and knows how can we solve this please give me a hand.

Best regards
Reply all
Reply to author
Forward
0 new messages