skweez.net

Alles skweez?

Alles zu “twitter”

13.01.2010

skweez.net bei identi.ca und twitter

von elm.

Seit heute kann man skweez.net bei identi.ca und Twitter folgen. Jeweils als @skweeznet. Dort gibts dann zu jedem neuen Artikel ein Update und vielleicht auch mal so. Natürlich kann man auch weiterhin RSS benutzen.

09.12.2009

Von Twitter zu Identi.ca mit Python|Twitter to Identi.ca with Python

von elm.

Ich bin bei Twitter und bei Identi.ca angemeldet. Identi.ca ist OpenSource und damit vorzuziehen. Allerdings gibt es bei Twitter viel mehr Menschen (oder Bots) denen ich folge. Bei Identi.ca sind aber auch Leute, denen ich folgen will. Von Identi.ca zu Twitter kann man von Haus aus schreiben, anders herum aber nicht. Nach ein wenig suchen hab ich eine Anleitung gefunden, wie man mit Twitterfeed von Twitter zu Identi.ca schreiben kann. Leider haben die seit ein paar Tagen Probleme mit Identi.ca, so dass das nicht mehr funktioniert.

[lang_de]Also hab ich kurz ein wenig Zeit investiert und ein kleines Python-Script geschrieben, das bei Twitter meine Tweets holt und zu Identi.ca packt. Benutzt hab ich dazu tweethon, da das im Gegensatz zu python-twitter auch identi.ca unterstützt.[/lang_de]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/python

######### ######### ########## ######### ######### ########## #########
# "THE BEER-WARE LICENSE" (Revision 42):
# <elm+blog -at- skweez.net> wrote this file. As long as you retain
# this notice you can do whatever you want with this stuff. If we
# meet some day, and you think this stuff is worth it, you can buy
# me a beer in return. elm
######### ######### ########## ######### ######### ########## #########

import tweethon, sys, os.path
from urllib2 import HTTPError, URLError
 
TwitterUser = "kackfratzen"
TwitterIdFile = "twitterid"
 
IdenticaUser = "kackfratzen"
IdenticaPassword = "..."
IdenticaUrl = "https://identi.ca/api"
 
if not os.path.isfile(TwitterIdFile):
        lastTweetId = 0
else:
        f = open(TwitterIdFile, 'r')
        lastTweetId = f.read()
        f.close()
 
twitter = tweethon.Api()
identica = tweethon.Api(username=IdenticaUser, password=IdenticaPassword, base_url=IdenticaUrl)
 
try:
        tweets = twitter.GetUserTimeline (user=TwitterUser ,since_id=lastTweetId)
except (URLError, HTTPError):
        sys.exit(1)
 
if len(tweets) == 0:
        sys.exit(1)
 
lastTweetId = str(tweets[0].id)
 
tweets.reverse()
 
for tweet in tweets:
        identica.PostUpdate(tweet.text)
 
f = open(TwitterIdFile, 'w')
f.write(lastTweetId)
f.close()

Jetzt noch bei cron eintragen, dass es alle 30 Minuten ausgeführt wird:

*/30    *       *       *       *       ~/twitter2identica.py

Viel Spaß damit.