def setUp(self): hostname = config.TEST_HOSTNAME consumer = oauth.Consumer(config.TEST_CONSUMER_KEY, config.TEST_CONSUMER_SECRET) token = oauth.Token(config.TEST_ACCESS_KEY, config.TEST_ACCESS_SECRET) self.client = TumblrClient(hostname, consumer, token)
def main(): while True: print("still true!") conn = Connection( "mongodb://*****:*****@twumblr-bakanaka-data-0.dotcloud.com:14914" ) coll = conn.db.users names = coll.find() for sn in names: lst = json.loads( requests.get( "https://api.twitter.com/1/statuses/user_timeline.json?screen_name=" + sn["twitter"]).content) if "status" in sn: matched = False consumer = oauth2.Consumer( "BmyWZMbAzcK9Y7mEQKTgf1JI4icFlXvfxxkfIzuG9nFFVJfg9Q", "p5ohAI2hT7tSwjVCI0HA8oTpOYAvc3m6tIPAXJGNXkur6PgQdT") token = oauth2.Token(sn["key"], sn["secret"]) cli = TumblrClient(sn["hostname"], consumer, token) for x in range(19, -1, -1): if not matched: print("not matched") if lst[x]["text"] == sn["status"]: print("matched!") matched = True else: print("f**k yeah") tumble(lst[x]["text"], cli) sn["status"] = lst[0]["text"] coll.save(sn) time.sleep(30)
def main(): hostname = 'EXAMPLE.tumblr.com' consumer_key = 'API_KEY' consumer_secret = 'API_SECRET' access_key = 'ACCESS_KEY' access_secret = 'ACCESS_KEY' consumer = oauth.Consumer(consumer_key, consumer_secret) token = oauth.Token(access_key, access_secret) params = { 'type': 'quote', } client = TumblrClient(hostname, consumer, token) for post in lister(client, 10, params): print post['id']
def main(): subdomain = sys.argv[1] text = open('text.txt', 'w') photo = open('photo.txt', 'w') quote = open('quote.txt', 'w') link = open('link.txt', 'w') chat = open('chat.txt', 'w') audio = open('audio.txt', 'w') video = open('video.txt', 'w') answer = open('answer.txt', 'w') bigphoto = open('bigphotos.txt', 'w') hostname = subdomain + '.tumblr.com' consumer_key = '' consumer_secret = '' access_key = 'ACCESS_KEY' access_secret = 'ACCESS_KEY' consumer = oauth.Consumer(consumer_key, consumer_secret) token = oauth.Token(access_key, access_secret) params = { # 'type': 'photo', } client = TumblrClient(hostname, consumer, token) for post in lister(client, params): if (not 'source_title' in post) or (post['source_title'] == subdomain): eval(post['type']).write(post['post_url'] + '\n') print post['type'] + '\t' + post['post_url'] if (post['type'] == 'photo'): for onephoto in post['photos']: bigphoto.write(onephoto['original_size']['url'] + '\n')
def main(): # http://stackoverflow.com/a/539024/315168 if not os.environ.get("KEY", None): sys.exit("Give app key as KEY env") if not os.environ.get("SECRET", None): sys.exit("Give app key as SECRET env") if not os.environ.get("TOKEN", None): sys.exit("Give Oauth token as TOKEN env") if not os.environ.get("VERIFIER", None): sys.exit("Give Oauth verifier as VERIFIER env") if not os.environ.get("BLOG", None): sys.exit("Give blog URL as BLOG env") # Create Tumblr client consumer = oauth.Consumer(os.environ["KEY"], os.environ["SECRET"]) token = oauth.Token(os.environ["TOKEN"], os.environ["VERIFIER"]) tumblr = TumblrClient(os.environ["BLOG"], consumer, token) # path to the directory (relative or absolute) dirpath = sys.argv[1] if len(sys.argv) >= 2 else r'.' # Read extra photo description injection (the name of the place) from command line if len(sys.argv) > 2: description_prefix = sys.argv[2].decode("utf-8") else: description_prefix = None if len(sys.argv) > 3: tags = sys.argv[3] else: tags = None index = Index(dirpath) # get all entries in the directory w/ stats entries = (os.path.join(dirpath, fn) for fn in os.listdir(dirpath)) entries = ((os.stat(path), path) for path in entries) entries = list(entries) entries.sort() for mdate, path in sorted(entries): root, ext = os.path.splitext(path) if ext.lower() not in [".jpg", ".jpeg"]: # Only consider images continue # XXX: Currently Tumblr does not have separate title and description # for photos.. only for text posts title, desc = get_photo_title_and_description(path) if description_prefix: desc = u"<em>%s.</em> %s" % (description_prefix, desc) if not index.is_already_posted(path): print "Posting %s: %s" % (path.encode("utf-8"), desc.encode("utf-8")) try: response = tumblr.create_photo_post(path, request_params={ "caption": desc, "tags": tags }) except HTTPError, e: # Some verbosity what the fusck is going on # Usually '{"meta":{"status":400,"msg":"Bad Request"},"response":{"errors":["Oh no! You\'ve reached your photo upload limit for today. Please come again tomorrow!"]}}' print e.read() raise e response = json.loads(response) if response["meta"]["status"] != 201: print response raise RuntimeError("Tumbrl unsuccesful") tumblr_id = response["response"]["id"] index.update(path, tumblr_id) index.save() else: print "Already posted %s" % path.encode("utf-8")